M-Boot ROM Description
604
SPRUHE8E – October 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
ROM Code and Peripheral Booting
•
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 CAN boot Mode reads location 0x68101C to get the MAINOSC clock frequency needed to
calculate dividers for 250Kbps baud. This location belongs to User OTP where user can program the clock
frequency the device is provided with. If the value at this location is read to be 0xFFFFFFFF or
0x00000000 then M-Boot ROM assumes the default 20MHZ frequency for the divider calculations. If any
other value is read then M-BootROM will use that value.
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
6.5.15.3.3 M-Boot ROM CAN Boot Mode Protocol
The CAN bootloader provides a short list of commands that are used during the application download. The
description of each of these commands is given below.