M-Boot ROM Description
561
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
ROM Code and Peripheral Booting
The top byte of each EMACID location is all 0x00. Only the lower 3 bytes of each EMACID location are
used as shown above. If the top byte of either EMACID location is not ‘0’, then the default EMAC ID will
be used by M-Boot ROM.
Default EMAC ID used by M-Boot ROM – 0x1A:B6:00:64:00
6.5.15.2.3 M-Boot ROM EMAC Boot Functional Flow
When performing an Ethernet bootloader, EnetConfig()is used to configure the Ethernet controller, making
it ready to be used to download the application onto the master subsystem RAM. Then, Update() function
calls into UpdateBOOTP() function which begins the process of the application download.
The below function call sequence gives details of the flow when EMAC boot mode is selected on the
device.
•
ResetIsr()
•
mbrom_init_device()
•
mbrom_master_system_init ()
•
mbrom_control_system_init()
•
mbrom_analog_system_init()
•
M-Boot ROM WIR Mode Check – Please refer to WIR Mode section in the
System Control and
Interrupts
Chapter.
•
mbrom_get_bootmode()
–
EnetConfig();
–
SelectEnet();
–
Update();
•
mbrom_start_app(M_BOOT_ROM_RAM_ENTRY_POINT)
6.5.15.3 M-Boot ROM CAN Boot Mode
This section gives details on the CAN boot mode in M-Boot ROM on the Concerto devices.
When performing a CAN update the bootloader calls ConfigureCAN() to configure the CAN controller and
prepare the bootloader to download the application on to device RAM. The CAN update mechanism
allows the bootloader to be entered from a functioning CAN application as well from startup when no
application has been downloaded to the microcontroller. The bootloader provides the main routine for
performing the CAN update in the UpdaterCAN() function which is used in both cases.
When the device enters the bootloader from a running CAN application, the bootloader will not reconfigure
the CAN clocks or bit timing and will assume that they have been configured as expected by the
application running on device. The bootloader assumes that the application has taken the device off of the
CAN network by putting it in "Init mode" but left the CAN bit timings untouched.
When the bootloader is run without an application, which is from M-Boot ROM, it is necessary to configure
the CAN bit rate using the default CAN clocking which is given below.
6.5.15.3.1 CAN Bus Clocking
M-Boot ROM configures the CAN interface for 250Kbps baud rate assuming that the input clock frequency
to CAN is at 20 MHz..
Input clock frequency to CAN during boot is equal to M3SSCLK which is equal to MAINOSC frequency.
6.5.15.3.2 M-Boot ROM CAN Interface IO
CAN0_RX - PB4_GPIO12, peripheral MODE -5
CAN0_TX - PB5_GPIO13, peripheral MODE -5