SPRADC1 june   2023 DRA829J , DRA829V , TDA4VM

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1 Different Types of Memories on the TDA4VM
  5. 2Memory Overview and Intended Usage
    1. 2.1 PSROM
      1. 2.1.1 Typical Use Cases
    2. 2.2 PSRAM
      1. 2.2.1 Typical Use Cases
    3. 2.3 MSMC RAM
      1. 2.3.1 Typical Use Cases
      2. 2.3.2 Relevant Links
    4. 2.4 MSRAM
      1. 2.4.1 Typical Use Cases
    5. 2.5 ARM Cortex A72 Subsystem
      1. 2.5.1 L1/L2 Cache Memory
      2. 2.5.2 L3 Memory
      3. 2.5.3 Relevant Links
    6. 2.6 ARM Cortex R5F Subsystem
      1. 2.6.1 L1 Memory System
      2. 2.6.2 Cache
      3. 2.6.3 Tightly Coupled Memory (TCM)
      4. 2.6.4 Typical Use Case
      5. 2.6.5 Relevant Links
    7. 2.7 TI's C6x Subsystem
      1. 2.7.1 Memory Layout
      2. 2.7.2 Relevant Links
    8. 2.8 TI's C7x Subsystem
      1. 2.8.1 Memory Layout
      2. 2.8.2 Relevant Links
    9. 2.9 DDR Subsystem
      1. 2.9.1 Relevant Links
  6. 3Performance numbers
    1. 3.1 SDK Data Sheet
    2. 3.2 Memory Access Latency
  7. 4Software Careabouts When Using Different Memories
    1. 4.1 How to Modify Memory Map for RTOS Firmwares
    2. 4.2 DDR Sharing Between RTOS Core and HLOS
    3. 4.3 MCU On-Chip RAM Usage by Bootloader
    4. 4.4 MSMC RAM Default SDK Usage
      1. 4.4.1 MSMC RAM Reserved Sections
      2. 4.4.2 MSMC RAM Configuration as Cache and SRAM
    5. 4.5 Usage of ATCM from MCU R5F
    6. 4.6 Usage of DDR to Execute Code from R5F
  8. 5Summary

DDR Sharing Between RTOS Core and HLOS

DDR is a shared resource between all the cores (R5F, M3, C6x, C7x, A72) in the system and needs to be partitioned for usage from different cores.

DDR usage:

  • Code / Data for firmwares from different core
  • HLOS for its dynamic memory requirements
  • IPC between cores

To understand the system memory map in case of the vision_apps + Linux/QNX use case, see this developer note. A System generated memory map can also be seen in an autogenerated file at path: vision_apps/platform/j721e/rtos/system_memory_map.html

DDR memory ranges being used for RTOS firmwares should be non-overlapping with each other and should also be reserved from the HLOS side.

  • In a Linux system, the device tree “reserved_memory” node can be used. See example here.
  • If using QNX, documentation on making updates to system memory map can see here.

If DDR region used for MAIN R5F (say) is not reserved from HLOS, then the HLOS can use that space leading to memory corruption, as the MAIN R5F Software is running with the understanding that the DDR memory range is dedicated for its use.