* [U-Boot-Users] U-boot environment not loading from flash
@ 2006-02-11 0:52 Umar Qureshey
2006-02-11 1:21 ` Wolfgang Denk
0 siblings, 1 reply; 5+ messages in thread
From: Umar Qureshey @ 2006-02-11 0:52 UTC (permalink / raw)
To: u-boot
Hi,
I am using latest u-boot with an ARM Integrator/CP board (16MB flash).
Everything is fine except that when I save the environment in the flash
and reboot the system, u-boot restarts with the environment variables it
was compiled with, not what has been saved in the flash sector. I used
the md command to peek into the specified flash sector (0x24f80000) and
I did see the saved environment stuff in there. It just seems that it
does not get reloaded and also it does not give any error about bad CRC
of the environment variables saved in flash. CFG_ENV_IS_IN_FLASH is
defined as (1). I can always recompile with the correct environment
variables but I should not need to if this feature works.
Any clues anyone??
Regards,
Umar
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot-Users] U-boot environment not loading from flash
2006-02-11 0:52 [U-Boot-Users] U-boot environment not loading from flash Umar Qureshey
@ 2006-02-11 1:21 ` Wolfgang Denk
2006-02-11 1:56 ` Umar Qureshey
0 siblings, 1 reply; 5+ messages in thread
From: Wolfgang Denk @ 2006-02-11 1:21 UTC (permalink / raw)
To: u-boot
In message <43ED3544.3040007@quartics.com> you wrote:
>
> I am using latest u-boot with an ARM Integrator/CP board (16MB flash).
> Everything is fine except that when I save the environment in the flash
> and reboot the system, u-boot restarts with the environment variables it
> was compiled with, not what has been saved in the flash sector. I used
...
> Any clues anyone??
Sounds as if your system was misconfigured.
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
If you want strict real-time behavior, run in the real time schedu-
ling class. But there are no seatbelts or airbags; main(){for(;;);}
can hard hang your system. -- Bart Smaalders
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot-Users] U-boot environment not loading from flash
2006-02-11 1:21 ` Wolfgang Denk
@ 2006-02-11 1:56 ` Umar Qureshey
2006-02-11 13:19 ` Wolfgang Denk
0 siblings, 1 reply; 5+ messages in thread
From: Umar Qureshey @ 2006-02-11 1:56 UTC (permalink / raw)
To: u-boot
Wolfgang Denk wrote:
>In message <43ED3544.3040007@quartics.com> you wrote:
>
>
>>I am using latest u-boot with an ARM Integrator/CP board (16MB flash).
>>Everything is fine except that when I save the environment in the flash
>>and reboot the system, u-boot restarts with the environment variables it
>>was compiled with, not what has been saved in the flash sector. I used
>>
>>
>...
>
>
>>Any clues anyone??
>>
>>
>
>Sounds as if your system was misconfigured.
>
>Best regards,
>
>Wolfgang Denk
>
>
>
Yes, indeed. What source file/configuration define do I need to look at
to see the cause of this problem??
Regards,
Umar
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot-Users] U-boot environment not loading from flash
2006-02-11 1:56 ` Umar Qureshey
@ 2006-02-11 13:19 ` Wolfgang Denk
2006-02-14 1:57 ` Umar Qureshey
0 siblings, 1 reply; 5+ messages in thread
From: Wolfgang Denk @ 2006-02-11 13:19 UTC (permalink / raw)
To: u-boot
In message <43ED4459.3060007@quartics.com> you wrote:
>
> >Sounds as if your system was misconfigured.
...
> Yes, indeed. What source file/configuration define do I need to look at
> to see the cause of this problem??
In the first step: your board configuration file(s), i. e.
include/config/<board>.h and board/<board>/config.mk
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Gew?hnlich glaubt der Mensch, wenn er nur Worte h?rt, es m?sse sich
dabei doch auch was denken lassen. -- Goethe, Faust I
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot-Users] U-boot environment not loading from flash
2006-02-11 13:19 ` Wolfgang Denk
@ 2006-02-14 1:57 ` Umar Qureshey
0 siblings, 0 replies; 5+ messages in thread
From: Umar Qureshey @ 2006-02-14 1:57 UTC (permalink / raw)
To: u-boot
Wolfgang Denk wrote:
>In message <43ED4459.3060007@quartics.com> you wrote:
>
>
>>>Sounds as if your system was misconfigured.
>>>
>>>
>...
>
>
>>Yes, indeed. What source file/configuration define do I need to look at
>>to see the cause of this problem??
>>
>>
>
>In the first step: your board configuration file(s), i. e.
>include/config/<board>.h and board/<board>/config.mk
>
>Best regards,
>
>Wolfgang Denk
>
>
>
Hi,
I have made some progress on this issue. I thought that fully
describing the scenario might help in deciphering the solution.
I am working without the ARM JTAG tools. In order to get U-Boot up and
flashed, I had to rely on the ARM bootPROM monitor that comes built-in
in the Integrator/CP board.
So to get U-Boot flashed, I take the U-Boot binary and run the following
command on it:
arm-linux-objcopy --change-address 0x24000000 -I binary -O srec
u-boot.bin my-u-boot.srec
The command above changes the base address fro 0x1000000 (SDRAM) to
0x24000000 (first sector of the flash chip). I send this srec file to
the monitor which flashes
the file to the flash chip. This allows me to flip a switch on the
board and the ARM bootPROM monitor to run the image at location
0x24000000.
The problem I am encountering is that U-Boot does not load the saved
environment variables from flash but rather uses the ones that have been
compiled-in with the code.
I found out this is happening because of the following code in
include/environment.h:
# if (CFG_ENV_ADDR >= CFG_MONITOR_BASE) && \
(CFG_ENV_ADDR+CFG_ENV_SIZE) <= (CFG_MONITOR_BASE + CFG_MONITOR_LEN)
# define ENV_IS_EMBEDDED 1
# endif
So, in common/env_flash.c, I put the following@the beginning:
#undef ENV_IS_EMBEDDED
This changes the environment address to 0x24f80000, which is the correct
address. However, when I print the environment using the "printenv"
command I get:
Integrator-CP # printenv
bo?
cm?
cp?
x2?
80?
0 ?
7f?
0?
00?
0;?
oo?
An "md" command on that address reveals the following memory contents:
Integrator-CP # md 0x24f80000
24f80000: 00b4d8f9 00b46f62 00b46d63 00b47063 ....bo..cm..cp..
24f80010: 00b43278 00b43038 00b42030 00b46637 x2..80..0 ..7f..
24f80020: 00b43020 00b43030 00b43b30 00b46f6f 0..00..0;..oo..
24f80030: 00b46200 00b46474 00b47961 00b46200 .b..td..ay...b..
24f80040: 00b47264 00b43d65 00b43034 00b47473 dr..e=..40..st..
24f80050: 00b43d6e 00b46972 00b47300 00b4756f n=..ri...s..ou..
24f80060: 00b46573 00b46c61 00b46474 00b43d72 se..al..td..r=..
24f80070: 00b46972 00b47600 00b46669 00b4006e ri...v..if..n...
24f80080: 00b4746f 00b47367 00b46f6f 00b4642f ot..gs..oo../d..
24f80090: 00b46d2f 00b46c62 00b4306b 00b42077 /m..bl..k0..w ..
24f800a0: 00b4746f 00b47974 00b46a3d 00b43273 ot..ty..=j..s2..
24f800b0: 00b46474 00b47472 00b47261 00b4616c td..rt..ar..la..
24f800c0: 00b4302e 00b46178 00b43030 00b47830 .0..xa..00..0x..
24f800d0: 00b43030 00b46a28 00b43273 00b46f63 00..(j..s2..co..
24f800e0: 00b46c6f 00b47474 00b4414d 00b47069 ol..tt..MA..ip..
24f800f0: 00b46e6f 00b40000 00b40000 00b40000 on..............
However, I know that this data is not being read correctly because if I
define ENV_IS_EMBEDDED again, recompile, and reload then I get:
Integrator-CP # md 0x24f80000
24f80000: 3eb0d8f9 746f6f62 3d646d63 30207063 ...>bootcmd=cp 0
24f80010: 30343278 30303038 78302030 30636637 x24080000 0x7fc0
24f80020: 31783020 30303030 62203b30 6d746f6f 0x100000; bootm
24f80030: 6f6f6200 6c656474 323d7961 75616200 .bootdelay=2.bau
24f80040: 74617264 38333d65 00303034 69647473 drate=38400.stdi
24f80050: 65733d6e 6c616972 64747300 3d74756f n=serial.stdout=
24f80060: 69726573 73006c61 72656474 65733d72 serial.stderr=se
24f80070: 6c616972 72657600 3d796669 6f62006e rial.verify=n.bo
24f80080: 7261746f 723d7367 3d746f6f 7665642f otargs=root=/dev
24f80090: 64746d2f 636f6c62 7220306b 6f722077 /mtdblock0 rw ro
24f800a0: 7366746f 65707974 66666a3d 6d203273 otfstype=jffs2 m
24f800b0: 61706474 3d737472 666d7261 6873616c tdparts=armflash
24f800c0: 303a302e 30306178 40303030 63327830 .0:0xa00000 at 0x2c
24f800d0: 30303030 66666a28 20293273 736e6f63 0000(jffs2) cons
24f800e0: 3d656c6f 41797474 2030414d 6e3d7069 ole=ttyAMA0 ip=n
24f800f0: 00656e6f 00000000 00000000 00000000 one.............
So the actual data is still stored in flash in perfect condition but
defining ENV_IS_EMBEDDED causes U-Boot to start eating the data when it
reads it.
Any help on why this is happening is appreciated...
Regards,
Umar
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2006-02-14 1:57 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-11 0:52 [U-Boot-Users] U-boot environment not loading from flash Umar Qureshey
2006-02-11 1:21 ` Wolfgang Denk
2006-02-11 1:56 ` Umar Qureshey
2006-02-11 13:19 ` Wolfgang Denk
2006-02-14 1:57 ` Umar Qureshey
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox