MPC5604B/C Microcontroller Reference Manual, Rev. 8
78 Freescale Semiconductor
NOTE
In a censored device booting with serial boot mode, it is possible to read the
content of the four 32-bit flash memory locations that make up the boot
sector. For example, if the RCHW is stored at address 0x0000_0000, the
reads at address 0x0000_0000, 0x0000_0004, 0x0000_0008 and
0x0000_000C will return a correct value. No other flash memory locations
can be read.
5.2.1.4 Download start address, VLE bit and code size
The next 8 bytes received by the microcontroller contain a 32-bit Start Address, the VLE mode bit and a
31-bit code Length as shown in Figure 5-9.
The VLE bit (Variable Length Instruction) is used to indicate whether the code to be downloaded is Book
VLE or Book III-E. This device family supports only VLE = 1; the bit is used for backward compatibility.
The Start Address defines where the received data will be stored and where the MCU will branch after the
download is finished. The start address is 32-bit word aligned and the 2 least significant bits are ignored
by the BAM code.
NOTE
The start address is configurable, but most not lie within the 0x4000_0000
to 0x4000_00FF address range.
The Length defines how many data bytes have to be loaded.
5.2.1.5 Download data
Each byte of data received is stored in the microcontroller’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
by the code length.
Since the SRAM is protected by 32-bit wide Error Correction Code (ECC), the BAM code always writes
bytes into SRAM grouped into 32-bit words. If the last byte received does not fall onto a 32-bit boundary,
the BAM code fills any additional bytes with 0x0.
START_ADDRESS[31:16]
START_ADDRESS[15:0]
VLE CODE_LENGTH[30:16]
CODE_LENGTH[15:0]
Figure 5-9. Start address, VLE bit and download size in bytes