[U-Boot-Users] Dynamic location of the environment sector
amanous at inaccessnetworks.com
Wed Jun 14 13:55:01 CEST 2006
I have a board that comes in three flash confirurations:
The cfi code can safely detect the flash sizes, banks and widths at boot
time. I have however the problem that the flash chips are "top" type and
the small sectors are at the end of the address space. So I want to make
the last sector (a small sector) to contain the environment. The last
sector though is in a different address (and has a different size)
depending on the flash configuration.
Currently the defines for the environment expect raw numerical values.
Is there an infrastructure somewhere to define the flash size at
runtime? I tried to print the flash sizes in the board specific codes,
extern flash_info_t flash_info;
printf("flash 0 : %d %x\n", flash_info.size,
Flash: 64 MB
flash 0 : 67108864 3ff0000
(the second number is the address of the last sector)
And all sizes are detected correctly. I want to use these values to
calculate the location of the environment dynamically at runtime. This
way I can have a single u-boot image for all flash configurations!
More information about the U-Boot