why is a bootloader required?

Hi,

Im new to the arm family and embedded systems in general,till now iv worked a bit on the 89c51. Ive been puzzled by the following: why is a bootloader required in controllers like the at91rm9200 im using right now? how come no bootloader is required in a controller like the 89c51? Iv read a bit on the need for a bootloader in a PC..but why would it be required on a controller?

Also, the atmel manual mentions that a default bootloader is provided in controllers like the one im using..my project involves porting of Linux to this controller..why,then, is a seperate bootloader reqd?? thanx in anticipation Mayank

Reply to
funkymunky
Loading thread data ...

If you are executing a program in ram you need something to load it from your storage device like your hard disk or flash drive. The bootloader is a small program in rom that does this. Peter

Reply to
peterk

in x51 architectures and all u have one program loaded in flash or any whr. on resetting system, the instruction pointer,IP will point to

0x0000 where u writes the jump instruction which points to the real program start location. but for complex architectures and all u need to initialize registers , set timers, flags and check for some other constraints etc. before going into program execution by the embedded sys. u can think ur computer bios in an analogus way to this...on starting it initializes the peripherals attached to it and the loads the IP with the location in secondary storage from where the boot record for OS is residing. hopes this serves the purpose
Reply to
ArunJ

Hi Mayank,

Sometimes there is yet another reason: On parts like the MSP430 that are JTAG programmed this JTAG interface takes about half a dozen pins that can be difficult to wire up for dual use. This can be roughly a third of the port pins on a smaller pin count devices, too much to give up. So, there is a boot loader already on the uC that allows programming via a simple RS232 type setup, requiring much less in port pins.

Regards, Joerg

formatting link

Reply to
Joerg

In article , funkymunky writes

They are different boot loaders. One loads the program (OS) from disk to memory to run.

on an 8051 the program is already in memory. the boot loader is to load the program into the empty MCU. Usually to flash memory so *next time* you fire up the chip the program will run automatically.

Yes. It is in a special area of ROM.

STOP... Linux will not run on the 8051. GAME OVER Choose another MCU architecture. Preferably 32 bit.

You can NOT run Linux on an 8051. Try an ARM part with an external bus.

/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/\ /\/\/ snipped-for-privacy@phaedsys.org

formatting link
\/\/ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Reply to
Chris Hills

In article , peterk writes

On an 8051 the program resides in flash... there is not a storage device. The boot loader is for programming an empty 51 code space instead of using an eprom programmer.

It is not the same as a boot loader in a PC.

/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/\ /\/\/ snipped-for-privacy@phaedsys.org

formatting link
\/\/ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Reply to
Chris Hills

Luckily he is using an Atmel ARM part at91rm9200 like he said in his original post. Atmel has links in an FAQ for Linux development systems and drivers. Peter

Reply to
peterk

Hi!

Thanx for the help..i read the Atmel manual more closely this time, it said that the boot program also implements a few rountines that can be called from user programs later on, so it saves some effort and makes ur code smaller.

Quote:

Im not trying to port Linux to an 8051! il be using an AT91rm9200 for that.

Upon bootup, the Prog. Conter points to 0x0 which has a jump to the program code..This jump instruction is written by the software that we are using to load the program into the controller`s flash, is that correct? Or is it hard coded, so that program code must always start from a particular address..?

Reply to
funkymunky

In article , peterk writes

Sorry... put it down to a bout of pre New Year party drinking :-) The Atmel ARM part is OK for Linux. The Atmel (or any one else's 51 parts) are not. Jumping to conclusions because i have been asked about putting Linux on

51's

/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/\ /\/\/ snipped-for-privacy@phaedsys.org

formatting link
\/\/ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Reply to
Chris Hills

hi Mayank! i think there is separate procedure for accessing bootloader memory and code memory! So they are accessed using the same address. its like using same name to call different persons, each person responds based on the context! so it is not hard coded!! Hi all! any one got any comments on my explanation!

-srinivas

Reply to
vasu

hi Mayank! i think there is separate procedure for accessing bootloader memory and code memory! So they are accessed using the same address. its like using same name to call different persons, each person responds based on the context! so it is not hard coded!! Hi all! any one got any comments on my explanation!

-srinivas

Reply to
vasu

a >simple RS232 type setup, requiring much less in port pins.

Does this mean that I can program my at91rm9200 on its at91rm9200-e through the serial cable (instead of using a hardware device such as th multi-ice) ?

I tried to do it this way : Under Uboot : loadb (to load the binary file at adress 0x21000000) go 0x21000000 (to execute it) Wasn't that the right thing to do ? I tried to load a .bin file generated by arm's 'fromelf', and directly th .axf file. Both failed. Or it looked like they failed.

I'm a little confused whether this is even possible or not. But I can' believe they'd send us an evaluation board that needs a hardwar programmer, without the hardware programmer. How would I evaluate it the ?

This message was sent using the comp.arch.embedded web interface o

formatting link

Reply to
triode+

Sorry but what's the other way ? Should I subscribe to a discussion grou ? Which one ? I didn't find any on at91rm9200.

This message was sent using the comp.arch.embedded web interface o

formatting link

Reply to
triode+

"triode+" schreef in bericht news:Tq6dnS6vurCbaUHfRVn snipped-for-privacy@giganews.com...

Use your ISP's nntp server and your favorite nntp client.

Reply to
Boudewijn Dijkstra

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.