low: external 16bit non-volatile memory (see Manual)
when using Internal ROM (AT91RM9200 Manual, 7. p.87)
Sequence:
try to load and execute tiny program from SPI DataFlash
try to load and execute tiny program from TWI EEPROM
try to load and execute tiny program from from 8bit parallel non-volatile memory
otherwise use "DBGU serial interface" and "USB Device Port" to let someone (Xmodem or DFU protocol) load and execute a tiny program.
tiny program means: program may be up to 12KByte (16K-4K) (AT91RM9200 Manual, 7.5, p.98)
the program is loaded into internal sram and immediately started there. (AT91RM9200 Manual, 7.1, p.87; 7.4, p.96)
(the program is started in a clean environment, i.e. as if the cpu just booted: the Internal ROM resets all peripherals before it executes the program. AT91RM9200 Manual, 7.3.3.3, p.93, Figure 7-6; 7.3.3.4, p.94, Figure 7-7; 7.3.3.5, p.95, Figure 7-8; 7.4, p.96)
the tiny program can be
a standalone application
part of a bigger application (mulit-stage bootloader)
types of tiny programs:
1. a program to access non-volatile memory
(for in circuit programming or firmware update; usually stored in nvm or uploaded via xmodem / DFU)
2. a bootloader that gets its data from non-volatile memory
(for automatically booting of bigger programs; usually stored in nvm)
3. a bootloader that gets its data via xmodem / DFU
(for manually booting of bigger programs; e.g.
for in circuit programming or firmware update in a second step or