Re: Self booting systems with out bootloader?!!!
From: Antti Keskinen (antti.keskinen_at_REMOVEME.koti.luukku.com)
Date: 01/24/05
- Next message: Hans-Bernhard Broeker: "Re: Schedulers"
- Previous message: Hans-Bernhard Broeker: "Re: USB Host"
- In reply to: s.subbarayan: "Self booting systems with out bootloader?!!!"
- Next in thread: Tom: "Re: Self booting systems with out bootloader?!!!"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 24 Jan 2005 16:52:03 +0200
"s.subbarayan" <s_subbarayan@rediffmail.com> wrote in message
<snipped off for clarity>
> 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?
The way I see this is that if there are unused areas between used areas
(like, addresses 0x0000-0x0002 are unused, and program code starts from
0x0004) then the memory is considered 'fragmented'.
A non-fragmented memory just means that every byte from the start of memory
has a purpose: data or program code, and the only place where 'free space'
is available is at the end of the memory range.
> 2)My query is what do you mean generally when you say "self booting"
> systems?
A self-booting system is a device where the first program code byte is in
the location where the processor's program counter (PC) register points to
after hardware reset. This means that after a reset is made, the processor
starts instantly running through the actual code it's supposed to execute
(like monitoring an input or generating an output)
A non-self booting system is otherwise similar, but the program counter
register points to a small fragment of code that either copies the actual
program code into the processor memory or relocates the PC pointer. For
example, if after hardware reset the first byte PC points to is part of a
jump instruction to external memory location, we have a so-called
'bootloader', although a very simplistic one.
> 3)Does that mean there is no RAM present and the code executes fully
> from ROM?
These are non-related. Lacking a bootloader just means that the processor
starts directly to work on the actual code without doing *anything* else.
You can have RAM, if you need, but the first byte where PC points to after
reset must already be part of your program the processor is supposed to
execute. So, in general sense, it means that the code is (in full or partly)
in processor ROM. In very rare CPUs the PC points directly to external
memory area immediately after reset.
> 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?
Partly, yes. Selfbooting system does no prelimenary steps before it starts
executing the 'work program'. The term 'work program' means the program the
processor is supposed to do, like monitoring an input, generating an output.
The term 'instant on', like someone already stated, is most accurate.
> 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.
All embedded applications without a bootloader usually have non-changeable
firmware. For example, a simple device that just calculates the frequency of
the input signal and outputs a serial code based on it's range is an
embedded system which needs no bootloader. Just hit in a Intel 96-processor
and program the processor ROM address 2080H to contain the first work
program byte.
Like you might fathom, even a tad larger system which might allow updates
later on does not qualify to 'non-changeable firmware'.
These are my opinions on the matter. They might or might not be correct, but
at least I've done well with them :)
-Antti Keskinen
- Next message: Hans-Bernhard Broeker: "Re: Schedulers"
- Previous message: Hans-Bernhard Broeker: "Re: USB Host"
- In reply to: s.subbarayan: "Self booting systems with out bootloader?!!!"
- Next in thread: Tom: "Re: Self booting systems with out bootloader?!!!"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|