SPRADM3 March   2025 AWR1243 , AWR1642 , AWR1843 , AWR1843AOP , AWR2243 , AWR2544 , AWR2944 , AWR2944P , AWR6443 , AWR6843 , AWR6843AOP , AWRL1432 , AWRL6432 , IWR2944

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Terminology
  6. 3Discover Phase
    1. 3.1 What is a mmWave Sensor?
    2. 3.2 Why are mmWave Sensors Required in Automotive and ADAS?
    3. 3.3 Understanding Frequency Choice and Regulations
    4. 3.4 What is Imaging Radar?
    5. 3.5 How to Check TI Portfolio and Select Product?
      1. 3.5.1 Selecting a Part Based on Application
  7. 4Evaluation Phase
    1. 4.1 Hardware
      1. 4.1.1 EVM
      2. 4.1.2 DCA1000EVM
    2. 4.2 Software and Tools
      1. 4.2.1 Software Development Kits (SDK)
      2. 4.2.2 Radar Toolbox
      3. 4.2.3 mmWave DFP
      4. 4.2.4 mmWave Sensing Estimator
      5. 4.2.5 mmWave Studio
      6. 4.2.6 Code Composer Studio™
      7. 4.2.7 UniFlash
    3. 4.3 Find and Select the Right Partner Resource
  8. 5Development Phase
    1. 5.1 Primary and Secondary Bootloader
    2. 5.2 SDK
    3. 5.3 Compilers
    4. 5.4 RF Front-end Configurations and mmWave DFP
    5. 5.5 Safety Aspects
    6. 5.6 Security Aspects
    7. 5.7 Signal Processing Chain
      1. 5.7.1 How Can FMCW Radars Be Used?
    8. 5.8 MCAL and Autosar
    9. 5.9 Hardware Module Design
  9. 6Production Phase
    1. 6.1 Calibration
    2. 6.2 mmWave Production Testing
    3. 6.3 FCC and RED Compliance
    4. 6.4 Functional Safety Certification
    5. 6.5 Quality Process and Customer Returns
      1. 6.5.1 Customer Return Process
      2. 6.5.2 Reference
    6. 6.6 OTP KeyWriter
  10. 7Summary
  11. 8References

Primary and Secondary Bootloader

Bootloaders play a crucial role in most embedded devices. A bootloader is a small piece of software that runs before the main application code on an embedded device. The main purpose is to initialize the hardware, set up the memory, and load the application code from a storage device, such as a flash memory, into the RAM. A bootloader can also provide other features, such as updating the firmware, debugging, or communicating with other devices.

There are two main types of bootloaders: primary and secondary. A primary bootloader is the first code that executes when the device is powered on or reset. This is usually stored in a read-only memory (ROM) or a protected area of the flash memory. A primary bootloader is responsible for performing the basic hardware initialization and jumping to the secondary bootloader or the application code. A secondary bootloader is the code that follows the primary bootloader. This is usually stored in a flash memory or an external storage device. A secondary bootloader is responsible for loading the application code from the storage device into the RAM and transferring the control to application. A secondary bootloader can also perform more complex tasks, such as checking the integrity of the application code, verifying the digital signature, or allowing the user to select different firmware versions. Please refer the below app notes for a profound understanding of the mmWave bootloaders.

Note: The example drivers provided in the SDK for booting process must be referred by developers. The example codes adds a lot of insights for the users and provides a basic framework for custom boot driver development. Please use the below path. (AWR2944 device is used for reference)
ti\mmwave_mcuplus_sdk_04_xx_xx_xx\mcu_plus_sdk_awr294x_xx_xx_xx_xx\examples\drivers\boot

TI Reference Collaterals