NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

RM4x Hercules MCU Bootloader

From Texas Instruments Wiki
Jump to: navigation, search

The Texas Instruments® Hercules Safety MCU boot loader is a small piece of code that can be programmed at the beginning of flash to act as an application loader as well as an update mechanism for applications running on a Hercules ARM® Cortex™-R4-based microcontroller. The boot loader can be built to use either the UART, SPI, CAN, Ethernet, or USB ports to update the code on the microcontroller. The boot loader is customizable via source code modifications, or simply deciding at compile time which routines to include. Since full source code is provided, the boot loader can be completely customized.

After HDK reset, the start-up code copies the Flash API of boot loader from flash to SRAM, and execute the boot loader in Flash.

First, it will checks to see if the GPIO_A7 pin is pulled low by calling CheckForceUpdate(). If GPIO_A7 is pulled LOW, the application code is forced to be updated. The GPIO pin check can be enabled with ENABLE_UPDATE_CHECK in the bl_config.h header file, in which case an update can be forced by changing the state of a GPIO pin ( with the push button S1 on HDK ).

Then, it will check the update status flag at 0x0007FC0. If the flag is a valid number, the bootloader will jump to the application code at 0x00020000. If the flag is not the valid number, it will configure the peripherals, then start to update the application code by calling UpdaterCan(), or UpdateSPI(), or UpdateUart(). After all the application code is programmed successfully, the status flag is also updated.


HDK BootLoader Sample Code[edit]

PC-side VC++ example project for SPI-Slave Bootloader: RM4x_SPI_Bootloader_Test.zip

This project works for RM48, RM46, and RM42 devices by adding preprocessor directive #define at the begining of the C++ file..

                   SPI Test.jpg

PC-side VC++ example project for CAN Bootloader: RM4x_CAN_Bootloader_Test.zip

This project works for RM48, RM46, and RM42 devices by adding preprocessor directive #define at the begining of the C++ file.. 

                   SPI Test.jpg  

Support[edit]

Post questions to the Hercules Forum

Important Links[edit]

  • Visit the RM4x Homepage www.ti.com/rm4 for the latest information on upcoming products and RM4x announcements.
E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article RM4x Hercules MCU Bootloader here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article RM4x Hercules MCU Bootloader here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article RM4x Hercules MCU Bootloader here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article RM4x Hercules MCU Bootloader here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article RM4x Hercules MCU Bootloader here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article RM4x Hercules MCU Bootloader here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article RM4x Hercules MCU Bootloader here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article RM4x Hercules MCU Bootloader here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article RM4x Hercules MCU Bootloader here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity