|
|
 | | From: | s.subbarayan | | Subject: | Self booting systems with out bootloader?!!! | | Date: | 23 Jan 2005 22:06:02 -0800 |
|
|
 | 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
|
|
 | | From: | Andrew Reilly | | Subject: | Re: Self booting systems with out bootloader?!!! | | Date: | Mon, 24 Jan 2005 18:33:34 +1100 |
|
|
 | On Sun, 23 Jan 2005 23:06:02 -0800, s.subbarayan wrote: > 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?
If you don't start using RAM from the lowest address, then there will be some unused space below the address that you do start from. I guess they consider that to be fragmentation.
> 2)My query is what do you mean generally when you say "self booting" > systems?
Processor starts executing from a certain address. You arrange for that address to be in ROM, and for the instructions to be from your program, rather than a boot-loader that finds your program somewhere else.
> 3)Does that mean there is no RAM present and the code executes fully > from ROM?
There may be RAM present, but the code executes from ROM. [Or (in the wider context of comp.arch) perhaps a system service processor held the main processor in reset while it did the boot-load step, and then released the main processor when the program was loaded. ]
> 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?
Seems pretty likely.
> 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?
Lots of SOC deep-embedded chips have the application in mask-rom. Access time is the same as on-chip RAM: there is no speed penalty, and a savings in RAM by not requiring duplicate space.
> 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?
No boot-load step --> no (reduced, anyway) boot time: instant on.
> 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.
Depends strongly on the size of the system. Details matter.
-- Andrew
|
|
 | | From: | Gene S. Berkowitz | | Subject: | Re: Self booting systems with out bootloader?!!! | | Date: | Mon, 24 Jan 2005 02:48:35 -0500 |
|
|
 | In article , s_subbarayan@rediffmail.com says... > 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.
Well, that opinion would be incorrect. With the exception of toys and other such ultra-high volume products, modern consumer electronics are more and more often based on Flash memory, not true ROM. Access time of flash today is equivalent to DRAM of about 5 years ago. Depending on the application, the microprocessor may have on chip cache RAM that avoids bottlenecks accessing the flash.
> 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.
Boot loaders today serve the purpose of allowing the firmware in Flash to be updated. Since it is not possible to execute from flash while it is being erased or programmed (with the exception of certain, pricey, dual segment devices), the boot loader has a requirement to copy its image into RAM and execute from there during a flash programming operation.
If the application is never intended to be replaced, and the firmware executes from ROM or flash, as opposed to being copied into RAM and executed from RAM, there is no need for a boot loader at all.
--Gene
> > Looking farward to all your replys and advanced thanks for the same, > Regards, > s.subbarayan >
|
|
|