SPRADT6 July   2026 AWR2944 , AWR2944P

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction to AWR294x and Safety Modules
  5. 2In-Depth Guide to AWR294x Safety Diagnostic Library
    1. 2.1  DPL Data Porting Layer
    2. 2.2  CCM Core Compare Module
    3. 2.3  DCC Dual Clock Comparator
    4. 2.4  ECC Error Correction Code
    5. 2.5  ECC Bus Safety
    6. 2.6  HWA Hardware Accelerator Safety
    7. 2.7  MCRC Cyclic Redundancy Check
    8. 2.8  Parity
    9. 2.9  PBIST Programmable Built-In Self-Test
    10. 2.10 Reset Management
    11. 2.11 ROM Checksum
    12. 2.12 RTI Real-Time Windowed Watchdog
    13. 2.13 STC Self-Test Controller
  6. 3Summary
  7. 4Glossary
  8. 5References

DPL Data Porting Layer

The DPL (Data Porting Layer) is the low-level abstraction layer of the SDL, shielding differences in interrupt management, delay control, and address mapping across different chip platforms and processor cores. All upper-layer SDL modules access low-level hardware resources through DPL interfaces.

The design goal is to decouple SDL modules from specific hardware implementations, enabling the same set of SDL code to be ported to different chips such as AM263x, AM273x, and AWR2944. The DPL provides two main sets of capabilities: interrupt management (registration/unregistration/enabling/disabling) and basic utilities (delay/address translation). On the AWR2944, it simultaneously supports interrupt management for both R5F and C66x DSP cores.

The DPL interface is registered to the SDL library in the form of a function pointer structure SDL_DPL_Interface, containing the following interfaces:

Table 2-1 DPL Interface Functions
Interface Corresponding Function Description
enableInterrupt SDL_TEST_enableInterrupt Enables the specified interrupt number
disableInterrupt SDL_TEST_disableInterrupt Disables the specified interrupt number
registerInterrupt SDL_TEST_registerInterrupt Registers an interrupt callback
deregisterInterrupt SDL_TEST_deregisterInterrupt Unregisters an interrupt callback
delay ClockP_sleep Delay (μs level)
addrTranslate SDL_TEST_addrTranslate Translates physical address to local address

The DPL itself does not provide independent tests; it acts as a prerequisite for all SDL modules. The usage method is to call SDL_TEST_dplInit() at the application entry to initialize the DPL before initializing specific SDL modules. Note that the DPL must be initialized before all other SDL modules.