SPRADI6 May 2024 F29H850TU , F29H859TU-Q1 , TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137 , TMS320F2800152-Q1 , TMS320F2800153-Q1 , TMS320F2800154-Q1 , TMS320F2800155 , TMS320F2800155-Q1 , TMS320F2800156-Q1 , TMS320F2800157 , TMS320F2800157-Q1 , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
RAM test often performs a March13N non-destructive memory test on the specified RAM memory. The text begins by copying the original contents of the memory to a preset address, performs the memory test, and then restores the original contents back to the memory under test. Figure 4-6 shows the RAM March test structure. The RAM march test is found in the test_application project called STA_MARCH_COPY, and the source code is in f280013x\source\stl_march_s.asm.
If this code is running from RAM, be careful not to perform a self-test on this memory test, meaning do not perform the March13N memory test on the March13N program code in RAM. This likely leads to an ITRAP. To test the program code for this March13N algorithm, create a copy of this function in RAM or flash and run the memory test code from the copy. This function disables global CPU interrupts (DINT) and then re-enables them after the test has completed.
Since global interrupts need to be disabled, do not allow the duration of each detection to be too long so as to affect the execution of system functional interrupts. When adding this function to an application, confirm the size and address of the area to be checked first, and then determine the data length for each detection by balancing the test frequency and execution time.