SPRADA3 july   2023 AM2631 , AM2631-Q1 , AM2632 , AM2632-Q1 , AM2634 , AM2634-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. Introduction
  5. Device Nomenclature
  6. R5 Cores and TCM in AM263x
    1. 3.1 R5 Core Nomenclature in Am263x
  7. Example Support for AM263x Family
  8. IPC Example Support for Two-Core Devices (AM2632)
    1. 5.1 Option 1 Using MulticoreImageGen.js
    2. 5.2 Option Two (Migration Guide from a Four-Core System Project to a Two-Core System Project)
  9. System Project Example Support for Two-Core Devices (AM2632)
  10. Target Configuration in CCS
    1. 7.1 Prerequisites
    2. 7.2 Creating a Target Configuration
  11. Connecting to the Target Core
  12. Hardware Description for Launch Pad and Control Card
    1. 9.1 Launchpad Pinout for Standard Analog Devices
    2. 9.2 ADC and DAC Mapping in Launchpad for Standard Analog
    3. 9.3 Pinmux Mapping - Standard Analog - Launch Pad
    4. 9.4 ADC and DAC Mapping in Control Card for Standard Analog
  13. 10Summary
  14. 11References

Option 1 Using MulticoreImageGen.js

This section provides a simple method to create a Dual Lockstep Core (two cores) example from an existing four-core IPC Notify example. This example does not involve any system project; therefore, the user must use the command line to create a final combined app image. Steps for creating a Dual Core Appimage are described below.

  • Import IPC Notify example for R50-0 and R51-0 (see also Section 3.1) from the SDK as shown below. Ignore the system project.
GUID-CA6327F0-0087-414E-9B9A-D3E75F11C489-low.pngFigure 5-1 IPC Notify Example for R50-0 and R51-0
  • Modify your example.syscfg to support the IPC notify feature to the cores 0-0 and 1-0. Subsequently, disable IPC Notify feature for cores 1-0 and 1-1.
GUID-3F763349-AC40-40C8-B3C1-385F06B9CE43-low.pngFigure 5-2 IPC Notify R50_0 Syscfg
GUID-786D9A2C-9807-4414-AF82-053A04B36F7E-low.pngFigure 5-3 IPC Notify R51_0 Syscfg
  • Change the Remote Core ID list to support only core 1-0, and remove remaining cores as shown below. Make this change in ipc_notify_echo .c file of both ipc_notify_echo_am263x-cc_r5fss0-0_nortos_ti-arm-clang and ipc_notify_echo_am263x-cc_r5fss1-0_nortos_ti-arm-clang projects.

uint32_t gRemoteCoreId[] = {
    CSL_CORE_ID_R5FSS1_0, 
    CSL_CORE_ID_MAX 
};

  • Build these projects individually. After building, .rprc files are available for both the projects.
  • Combine these .rprc to form a dual-core .appimage using the following command.
C:\ti\\{sysconfig}\nodejs\node C:\ti\\{mcu_plus_sdk}/tools/boot/multicoreImageGen/multicoreImageGen.js --devID 55 --out Debug/Combined.debug.appimage ../ipc_notify_echo_am263x-cc_r5fss0-0_freertos_ti-arm-clang/Debug/ipc_notify_echo_am263x-cc_r5fss0-0_freertos_ti-arm-clang.rprc@0 ../ipc_notify_echo_am263x-cc_r5fss1-0_nortos_ti-arm-clang/Debug/ipc_notify_echo_am263x-cc_r5fss1-0_nortos_ti-arm-clang.rprc@2

The command format for MulticoreImage Generation is given below.

cd ${SDK_INSTALL_PATH}/tools/boot/multicoreImageGen${NODE} multicoreImageGen.js --devID {DEV_ID} --out {Output image file (.appimage)} {core 1 rprc file}@{core 1 id} [ {core n rprc file}@{core n id} ... ]