Specifications

FC protocol, version 4, ColdFire (V1)
Developer’s Serial Bootloader, Rev. 13
Freescale Semiconductor 27
Figure 20. Simplified example of memory allocation in MCF51JM128 version B
6.2.1 Memory allocation
The bootloader code occupies the bottom of FLASH memory in the range 0x0410 to 0x3000 above the
original interrupt vector table. This placement moves the start of memory space and for that reason it is
necessary to modify the LCF file (see the MCU specific data sheet for details).
6.2.2 FLASH protection
By setting a FLASH protection register (FPROT), all address space under this address is protected from
both intentional and unintentional erasing/rewriting. After the bootloader and the FLASH protection
register are programmed into memory, the bootloader code is protected from unintentional modification
by user code.
6.2.3 Example memory allocation
For example, the memory allocation for the ColdFire (V1) bootloaders is:
$84 - Version 4, read command implemented (bit 7).
$rC16 - System Device Identification Register (SDIDR) content ($C16 for the JM Family), r (four
top bits) is chip revision number reflecting the current silicon level.
$01 - Number of reprogrammable memory areas.
$03800 - Start address of the reprogrammable area.
$1FFFF - End address of the reprogrammable area +1.
RELOCATED INTERUPT
FLASH 120 KB
THIS AREA OF FLASH
IS PROTECTED
FOR USER CODE
FLASH MEMORY AVAILABLE
ON MCF51JM128
FLASH MEMORY AVAILABLE
INTERRUPT VECTOR TABLE
BOOTLOADER CODE
VECTOR TABLE
0x00000410
0x00000000
0x00003000
0x0001FFFF
Nonvolatile registers
0x00000400
0x00003800