I got tired of the default download speeds of 19200 baud for my MRM board,
so I decided to create a loader which would enable higher speed downloads.
This work was inspired by a
post
on the RoboMinds Yahoo group.
CPU32Bug looks in Flash for a program and then looks in RAM. So I decided to
put the loader in Flash and have it look for a program in RAM. The flash
portion initializes the CPU speed to 25 MHz and the serial port baud rate
to 57600. It then waits for a few seconds to allow the user to press a key
to get into CPU32Bug. If a keypress occurs, or no program is detected
in RAM, then control is returned to CPU32Bug, otherwise control is transferred
to the program in RAM.
I found that downloading programs into flash at 57600 doesn't work. I had
to back down to 19200. To get into CPU32Bug at 19200, just press and hold
the RETURN key and then press the RESET button. of course you need to change
the baud rate in your serial program.
Here are the files:
- Loader.S Assembly language source code
NOTE: the filename should have a capital S as the extension.
- Makefile Used to build Loader.s19
- Loader.ld Linker script
- Loader.s19 Image to download into flash
|