This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS570LS0432: SL_TMS570LS0432_NoOS Demo App

Part Number: TMS570LS0432

Hello,

I am using the safeti 2.4.0_LDRA_Less library and trying to run the demo app for SL_TMS570LS0432_NoOS.

1) I wanted to ask if it has been tested for any recent compiler, because the project was is set to TI v5.0.4 (I tried using v16.9.6, still not the latest, for the rest of the points below)

2) On the /*running all posible 2 port algorithms on 2 port momories*/
        for(i = 0;i < (sizeof(all2portmemories));i++)
I think it should be for(i = 0;i < (sizeof(all2portmemories)/sizeof(all2portmemories[0]));i++) or similar.

3) Disabling compiler optimizations to follow the execution, on sys_startup.c the line
crcAtInit_FLASH = SL_CRC_Calculate((uint64 *)((uint32)&ulFlashStartAddr), ((((uint32)&ulFlashEndAddr)-((uint32)&ulFlashStartAddr)) >> 3));
seems to enter the function with starting address 0x0 and a reasonable count, around 10000, but on app_main_NoOS.c, there is a similar
crcAtInit_FLASH = SL_CRC_Calculate((uint64 *)((uint32)ulFlashStartAddr), ((((uint32)ulFlashEndAddr)-((uint32)ulFlashStartAddr)) >> 6));
that results into a random address and huge count.
It's not on a first glance obvious why the first is correct. Also without modifications and optimization left set, the program flow continuous but I don't think the CRC calculated there is what's intended.

Thank you for giving it a look, let me know please if there is any updated version to use as reference.

  • Hello,

    1. It was not tested with the latest compiler.

    2. You are correct. It should be sizeof(all2portmemories)/sizeof(all2portmemories[0]) or

        sizeof(all2portmemories)/sizeof(uint32). 

    3. The address should be used when calling SL_CRC_Calculate(): &ulFlashStartAddr, and &ulFlashStartAddr