AM263Px MCU+ SDK  10.01.00
SDL CCM

Introduction

This example demonstrates the usage of the SDL R5 CCM TMU/RL2 module. The example shows how to setup and use the R5 CCM Safety Diagnostic operation for R5F, TMU and RL2.

Use Cases

Use Case Description
UC-1 self test on R5 CCM, TMU, RL2.
UC-2 self test with error force on R5 CCM, TMU, RL2.

Supported Combinations

Parameter Value
CPU + OS r5fss0-0 nortos
r5fss1-0 nortos
Toolchain ti-arm-clang
Board am263px-cc
Example folder examples/sdl/ccm/sdl_ccm_example/
Example folder examples/sdl/ccm/sdl_ccm_tmu_example/
Example folder examples/sdl/ccm/sdl_ccm_rl2_example/

Steps to Run the Example

Steps to Test the Example

  • CCM example should only be tested in QSPI boot mode and should not be tested in no boot mode with debugger connected.
  • Follow the below procedure to test the CCM and CCM_VIM example.
    1. A quick recap of steps done so far that are needed for the flashing to work
      • Make sure the UART port used for terminal is identified as mentioned in Setup UART Terminal
      • Make sure python3 is installed as mentioned in Python3
      • Make sure you have the EVM power cable and UART cable connected as shown in Cable Connections
    2. Build the hello world application as mentioned in Build a Hello World example, Build a Hello World example
    3. As part of the build process in the final step a file with extension .appimage is generated. This is the file we need to flash.
    4. When building with makefiles and single-core projects, this file can be found here
         ${SDK_INSTALL_PATH}/examples/sdl/ccm/sdl_ccm_example/{board}/r5fss0-0_nortos/ti-arm-clang/sdl_ccm_example.release.appimage
      
    5. A default configuration file can be found at below path. You can edit this file directly or take a copy and edit this file.
         ${SDK_INSTALL_PATH}/tools/boot/sbl_prebuilt/{board}/default_sbl_qspi.cfg
      
    6. Edit below line in the config file to point to your application .appimage file. Give the absolute path to the .appimage file or path relative to ${SDK_INSTALL_PATH}/tools/boot. Make sure to use forward slash / in the filename path. –file=../../examples/sdl/ccm/sdl_ccm_example/{board}/r5fss0-0_nortos/ti-arm-clang/sdl_ccm_example.release.appimage –operation=flash –flash-offset=0x81000
      • NOTE : edit sdl_ccm_example to sdl_ccm_vim for ccm vim example testing.
    7. Save and close the config file.
    8. Flash the application by follow the steps mentioned in the page, Flash a Hello World example

See Also

CCM

Sample Output

Shown below is a sample output when the CCM application is run.

R5 CPU Application
CCM Example Test Started: R5F0
MCU ESM Initialization completed
CCM Test Init completed
CCM Verify Init completed
CCM Functional Test
CCM self test: starting
CCM Self Test completed
CCM self test with error forcing: starting
CCM Self Test with error forcing completed
CCM inject error: test starting
CCM inject Test completed
CCM Example Test Started: R5F1
MCU ESM Initialization completed
CCM Test Init completed
CCM Verify Init completed
CCM Functional Test
CCM self test: starting
CCM Self Test completed
CCM self test with error forcing: starting
CCM Self Test with error forcing completed
CCM inject error: test starting
CCM inject Test completed
CPU Functionality
Passed.
All tests have passed.

Shown below is a sample output when the TMU application is run.

R5 CPU Application
TMU Example Test Started: R5F0
MCU ESM Initialization completed
TMU Test Init completed
TMU Verify Init completed
TMU Functional Test
TMU self test: starting
TMU Self Test completed
TMU self test with error forcing: starting
TMU Self Test with error forcing completed
TMU inject error: test starting
TMU inject Test completed
TMU Example Test Started: R5F1
MCU ESM Initialization completed
TMU Test Init completed
TMU Verify Init completed
TMU Functional Test
TMU self test: starting
TMU Self Test completed
TMU self test with error forcing: starting
TMU Self Test with error forcing completed
TMU inject error: test starting
TMU inject Test completed
All tests have passed.

Shown below is a sample output when the RL2 application is run.

R5 CPU Application
RL2 Example Test Started: R5F0
MCU ESM Initialization completed
RL2 Test Init completed
RL2 Verify Init completed
RL2 Functional Test
RL2 self test: starting
RL2 Self Test completed
RL2 self test with error forcing: starting
RL2 Self Test with error forcing completed
RL2 inject error: test starting
RL2 inject Test completed
RL2 Example Test Started: R5F1
MCU ESM Initialization completed
RL2 Test Init completed
RL2 Verify Init completed
RL2 Functional Test
RL2 self test: starting
RL2 Self Test completed
RL2 self test with error forcing: starting
RL2 Self Test with error forcing completed
RL2 inject error: test starting
RL2 inject Test completed
All tests have passed.