
Hello Mr. Denk, I have a question regarding the functionality provided by ENV_IS_EMBEDDED. Currently, this value is computed only for the case CFG_ENV_IS_IN_FLASH defined in environment.h, and is based on the flash addresses of the environment being defined as inside the executing addresses of u-boot. This seems to be designed for the case where u-boot is executed out of flash and not copied into ram for execution. There is an old configuration variable, CFG_ENV_IS_EMBEDDED, that appears to be non-functional and deprecated. I am working with u-boot for the Analog Devices Blackfin chip, which has not yet been submitted to mainstream (AFAIK). The code directly defines ENV_IS_EMBEDDED to force that functionality even though it is copied to ram for execution (and thereby making the embedded determination in environment.h false). The linker script is fixed up to force the environment data onto a flash sector boundary, so everything works. It does however mean that u-boot cannot be updated without destroying the old environment data. This approach is also used for a serial flash on the spi bus using the env_eeprom module and CFG_ENV_IS_IN_EEPROM. Normally ENV_IS_EMBEDDED could not be defined in this case. My question is: What is your opinion of this approach? It seems to me that this makes ENV_IS_EMBEDDED a configuration parameter (again), which provides some (useful?) functionality but may not be what you envision. If ENV_IS_EMBEDDED is a configuration option, the name should be changed to include CFG, shouldn't it? The main advantages I see of allowing this are 1) CFG_ENV_OFFSET is fixed forever, u-boot growth will never collide with it. 2) Some flash space can be saved because the sector alignment of the environment data can be optimized as opposed to tacking it onto the end (which may waste almost an entire flash sector). Is this worth another configuration parameter? I do not want to go too far down this road if it will not be acceptable to you in any case. Thank you for your attention!
Best Regards, Bill Campbell