Dear all, I was going through vxworks6.0 kernel programmers manual.I came across the section on kernel and found this following sentence regarding the various boot images possibles with vxworks6.0 version:
"Self-booting VxWorks image can also be created, which do not require a boot loader." After this sentence a few pages down,I found the following line again:
"For self-booting images, the data segment of a ROM-resident VxWorks system is loaded at RAM_LOW_ADRS (defined in the makefile) to minimize fragmentation."
1)I am not getting the relation between fragmentation and storing the data in low address area of RAM.How does loading data section in low address area prevent fragmentation?2)My query is what do you mean generally when you say "self booting" systems?
3)Does that mean there is no RAM present and the code executes fully from ROM?4)If thats the case,then the second sentence as stated above confuses me,because it says the data section will be present in RAM_LOW_ADDRESS.Can some one clarify me this?
AFAIK,when we say selfbooting,this applies for production systems in some embedded products(not for every embedded device) where the code will be executing completely from ROM and boot code will not get copied to RAM and code will be executed from ROM.Is this understanding correct?
I have worked with avionics protocols and consumer electronics related embedded systems.But I am curious enough to know what sort of embedded applications can be created with ROM only version with out bootloader?IMHO its going to be taking more time to boot from ROM as compared to RAM.Given the fact that,most embedded systems are for mission critical stuff,what will be advantage in moving to ROM only systems?I think consumer electronics apps are less critical as compared to medical and avionics systems,but still in the consumer electronics devices (typically DVD player,STB),I have worked with had a boot loader and was not executing from ROM.
Looking farward to all your replys and advanced thanks for the same, Regards, s.subbarayan