Chapter 33 Boot Assist Module (BAM)
MPC5602P Microcontroller Reference Manual, Rev. 4
828
Freescale Semiconductor
Figure 33-6. Start address, VLE bit and download size in bytes
33.5.5.7
Download data
Each byte of data received is stored into device’s SRAM, starting from the address specified in the
previous protocol step.
The address increments until the number of bytes of data received matches the number of bytes specified
in the previous protocol step.
Since the SRAM is protected by 32-bit wide Error Correction Code (ECC), BAM always writes bytes into
SRAM grouped into 32-bit words. If the last byte received does not fall onto a 32-bit boundary, BAM fills
it with 0 bytes.
Then a “dummy” word (0x0000_0000) is written to avoid ECC error during core prefetch.
33.5.5.8
Execute code
The BAM program waits for the last echo message transmission being completed.
Then it restores the initial MCU configuration and jumps to the loaded code at Start Address that was
received in step 3 of the protocol.
At this point BAM has finished its tasks and MCU is controlled by new code executing from SRAM.
33.5.6
Boot from UART—autobaud disabled
33.5.6.1
Configuration
Boot from UART protocol is implemented by LINFlex_0 module. Pins used are:
•
LINFlex_TX corresponds to pin B[2]
•
LINFlex_RX corresponds to pin B[3].
When autobaud feature is disabled, the system clock is driven by external oscillator.
LINFlex controller is configured to operate at a baud rate = system clock frequency/833 (see
for baud rate example), using 8-bit data frame without parity bit and 1 stop bit.
START_ADDRESS[31:16]
START_ADDRESS[15:0]
VLE
CODE_LENGTH[30:16]
CODE_LENGTH[15:0]