AM62Px MCU+ SDK  09.01.00
Developing applications on Device Manager/Wake-up R5 core

Introduction

The wake-up R5 (or) device manager(DM) R5 core is responsible for running the DM firmware. The DM firmware is responsible for resource management and power management.

The DM firmware requires following components (as libraries) to be included in the application.

  • "rm_pm_hal" consists of the calls for processing resource and power management.
  • "sciserver" receives the TI_SCI messages from other cores and processes it.
  • "sciclient_direct" calls the rm_pm_hal or sends the messages to TIFS based on the TI_SCI request.
  • "self_reset" contains the entry point of the DM firmware application. It resets the DM R5 and enables the TCMA.
  • "dm_stub" enables low power mode features.

As the DM firmware requires multiple threads, it requires an RTOS. So any application on DM R5 should start the SCI server on a thread and actual application can be run on a different thread. Refer main.c of any r5fss0-0 example application to see how to implement this.

Attention
  • As the wake-up R5 is the device manager, it needs to be started by the SBL. So it can not be loaded through CCS. It should be flashed and booted through SBL.
  • DM firmware needs to be multi-threading/rtos application as it creates multiple threads during initialization.

Build and load DMR5 examples

Debugging an application on DMR5 core

  • Once the DM R5 is booted through SBL, symbols can be loaded through CCS for loading. Follow the below steps to debug any application developed for DM R5.
    • Insert an infinite loop before the start of the test application.

Insert infinite loop
  • Connect to WKUP-R5 core for debugging.

Connect to DMR5 Core
  • Load the symbols for the test application.

Load Symbols for debug
  • Navigate to the ".out" file generated by the test application.

Navigate to the ELF
  • In the CCS Debug Perspective's Expressions window, enter the loop variable and update its value to 0.

Update expression value
  • Continue with the debugging process as usual.