Boot Assist Module (BAM)MPC5644A Microcontroller Reference Manual, Rev. 6622 Freescale Semiconductor21.3.3 Internal boot modeThis mode of operation is intended for systems that boot from internal flash memory. The internal flashmemory is used for all code and all boot configuration data.21.3.4 Serial boot modeThis mode of operation is intended to load a user program into internal SRAM, using either the eSCI orCAN serial interface, then to execute that program. The program can then be used to control the downloadof data and erasing/programming of the internal or external flash memory.21.3.5 Calibration bus boot modeCalibration bus boot is not supported. External bus boot is supported instead.21.4 Memory mapThe BAM occupies 16 KB of memory space, 0xFFFF_C000 to 0xFFFF_FFFF. The actual code size of theBAM program is less than 4 KB and starts at 0xFFFF_F000, repeating itself down every 4 kilobytes in theBAM address space. The CPU starts the BAM program execution at its reset vector from address0xFFFF_FFFC.The BAM exits to the user code at 0xFFFF_FFF8 address. The last BAM executed instruction is a BLR.The link register is preloaded with the user application start address. When booting from internal orexternal flash, the start address is taken from next to valid RCHW 32-bit word.When the device bootsserially the start address is set according the serial boot protocol.Table 21-1 shows the BAM address map.21.5 Functional description21.5.1 BAM Program flow chartThe BAM program flow chart is shown in Figure 21-1.Table 21-1. BAM memory mapAddress Description0xFFFF_C000 – 0xFFFF_EFFF BAM program mirrored0xFFFF_F000 – 0xFFFF_FFFF BAM program0xFFFF_FFFC Device reset vector0xFFFF_FFF8 BAM Last executed instruction