M-Boot ROM Description
585
SPRUHE8E – October 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
ROM Code and Peripheral Booting
6.5.7 M-Boot ROM Entry Points
This section gives details about the entry point addresses for various boot modes supported by M-Boot
ROM. These entry points tell M-Boot ROM where to branch to at the end of booting as per the boot mode
selected.
6.5.7.1
M-Boot ROM: Boot-to-Flash, Flash Entry Point
The M-Boot ROM Flash entry point by default is fixed to Z1 (Zone 1) flash address 0x00200030. This
location will be referred to as M_BOOT_ROM_Z1_FLASH_ENTRY_POINT further in this document. This
means that if a user selects boot-to-flash option using the boot mode GPIO, then M-Boot ROM branches
to location 0x00200030 in Z1 of master subsystem flash memory. However, there is an option for the user
to change this default entry point location by programming location 0x0068100C in the customer OTP with
an alternate entry point address.
For example: if a user wants to change the default flash entry point to a Z2 (Zone 2) flash address then
the user can program this location with a valid Z2 flash address. This option allows user to force device to
always boot to a Z2 flash address.
Notes:
•
This location 0x0068100C is located in customer OTP and is one time programmable.
•
If a user doesn’t want to allow anyone to change the default flash entry point, then such a user can
program 0x00000000 at location 0x0068100C. This value will make Boot ROM understand that user
wants to use the default M_BOOT_ROM_Z1_FLASH_ENTRY_POINT only.
•
If the contents of location 0x0068100C is equal to 0x00000000 or equal to 0xFFFFFFFF or fall outside
the available master subsystem flash memory address range then M-Boot ROM defaults to
M_BOOT_ROM_Z1_FLASH_ENTRY_POINT address.
6.5.7.2
M-Boot ROM: Boot-to-RAM, RAM EntryPoint
The M-Boot ROM Ram entry point by default is fixed to 0x20005000 in C2 RAM. This location will be
referred to as M_BOOT_ROM_RAM_ENTRY_POINT further in this document.
This means if a user selects boot to RAM boot mode option using boot mode GPIO, then M-Boot ROM
branches to location 0x20005000 in C2 RAM. User applications which use this option must have their
main function located at this address or have a branch to main() instruction at this location.
The boot to RAM option is mainly helpful during code development.
6.5.7.3
M-Boot ROM: Serial Boot Mode Entry Point
When using this boot mode option, there is a provision in the serial boot data transfer protocol for users to
provide with the entry point. If no entry point is provided, then M-Boot ROM will branch to the same
address where the user has asked M-Boot ROM to load the application in RAM.
Please refer to
for more details on serial boot mode data transfer protocol.
This entry point will be referred to as M_BOOT_ROM_SERIAL_BOOT_MODE_ENTRY_POINT further
below in this document.
6.5.7.4
M-Boot ROM CAN Boot Mode Entry Point
When using this boot mode option, there is provision in the CAN boot data transfer protocol for users to
provide with the entry point. If no entry point is provided by the user then M-Boot ROM will branch to the
same address where user has asked it to load the application in RAM.
This entry point will be referred to as M_BOOT_ROM_CAN_BOOT_MODE_ENTRY_POINT further in this
document.
Please refer to
for more details on CAN boot mode data transfer protocol.