boot360: A Boot Loader for the Motorola MC68360
Bootloader Features
Code takes up about 8KB
OS-independent
Runs from RAM for faster execution and ability to program boot FLASH itself
Download via serial port (115,200 bps)
Decompress gzipped image
Supports multiple FLASH devices on same board
Based on CoLILO linux loader for Motorola Coldfire processors
Supports flipping RAM and ROM chip selects so that both the application and the boot code can link at 0.
Boot process
68360 accesses startup vector from 0.
Boot loader copies itself to RAM and jumps to there.
Autoboot timeout.
Boot loader decompresses main application from FLASH to RAM.
Chip selects changed to switch address spaces of FLASH and RAM.
Jumps to main application in RAM.
Sample Architecture: SpanNet board
FLASH/RAM
Item |
CS |
Emul. |
IC |
Size |
Sect Sz |
Qty |
TOTAL |
Program Flash |
CS0 |
0 |
AM29F040 |
512KB |
64KB |
2 |
512KB |
RAM |
CS2 |
0x400000 |
TMS418160 |
2MB |
|
2 |
4MB |
File FLASH |
CS3 |
0x800000 |
AM29F010 |
128KB |
16KB |
1 |
128KB |
Memory Map
FLASH
0x00000 |
Boot Loader |
0x10000 |
Application (compressed) |
0x30000 |
|
0x50000 |
|
0x70000 |
|
0x90000 |
|
0xb0000 |
|
0xd0000 |
RAM
0x400000 |
Application (decompressed) |
0x480000 |
|
0x500000 |
|
0x580000 |
|
0x600000 |
|
0x680000 |
|
0x700000 |
|
0x780000 |
|
0x7f0000 |
Boot Loader |
Porting Guide
Modify arch.h to include your specific board include file (e.g. myboard.h)
Change myboard.h to match your particular environment.
Modify Makefile to match your environment.
Release Notes
Release 1.0a
Works on SpanNet board.