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.

TMS320F28075: TMS320F28075

Part Number: TMS320F28075

I am using CCS version 9.0.1, XDCtools 3.32.0.06_core, TI RTOS 2.16.1.14.

When using compiler v18.12.1.LTS i face different runtime problems when changing memory:

e.g,

- When using Logger Buffer with small number of records, heap buffers fail with negative allocation already at main start up.

- When increasing default heap buffer too much, it cause the code to stuck before reaching to main.

- Increasing size of heap mem beyond specific level cause similar problems.

Obviously there is no problem of memory space, I allocate by CMD file and have enough free space

When using compiler v18.1.2.LTS, these problems disappear.

  • Hi Dudi,

    Thank you for reaching out. I have assigned this to our expert who will follow up with a reply

    Regards,

    Peter

  • I think we need to do some debugging to try to narrow down what is happening. From what you've observed, does it seem to be something going wrong before main() is reached? Like something is either going wrong in c_int00 or in some of the SYS/BIOS start up functions?

    Have you tried any newer compiler versions like 22.6.0.LTS to see if the problem remains?

    Whitney

  • I tried many other compilers include the 22.6.0.LTS.

    Compilers below 18.1.7.LTS works fine but other have problems.

    v22.6.0.LTS requires newer XDCtools, but i don't want to do to many changes.

    Is there compatibility lists between device and compiler and XDCtool?

    I so the html describing XDCtools to CCS compatibility.

  • When using compiler 22.6.0.LTS:

    1. It can't compile with XDCtools 3.55.0.11, but can compile with 3.32.0.06. (although I get error message asking to use XDCtools greater then 3.50 :( )

    2. When using XDC 3.32.0.06, it runs OK until i change one Heap mem i have from size of 128 to 512.

    It is not problem of space, which i have enough.

    Why increasing Heap Mem from 128 to 512 cause runtime failure, probably with heaps 

  • Can you describe the runtime failure? It it happening after BIOS_start() or are you having trouble even reading main()?

    Are you using COFF or EABI?

    Whitney

  • The troubles occurs sometimes before main, i see under ROV that some heaps have negative values. Sometimes failures are after BIOS_start.

    It looks like it related to compiler branch, it is working until compiler version 18.1.7.LTS but from version 18.9.0.STS the problems occurs.

    I am using COFF.

    Thanks,

  • The troubles occurs sometimes before main, i see under ROV that some heaps have negative values. Sometimes failures are after BIOS_start.

    Meaning the same exact .out file is failing may fail at a different point in the code each time you run it? Or are you making some changes to the code that determine whether or not it makes it to main()?

    What do you mean by heaps having negative values? What field? Do you mind sharing a screen capture of ROV?

    Whitney

  • Sorry for been so minimalistic.

    Of curse changing the code cause different failures, e.g increasing size of heap mem which i use, cause to stuck before main. Different values of log buffer records may cause to see in ROV negative values for heap buffers. I determine 10 records of 20 words and see -9 when located at the begging of main().

    It looks like something changed from compiler version 18.9.0.STS which cause problems in my code, in different memory allocations.

  • Can you put a breakpoint in the HeapMem_init() function and try to see if there is a difference between how heaps get initialized with 18.9.0.STS and 18.12.1.LTS? I'm wondering if the objects are initialized incorrectly from the start or if something goes wrong later.

    Do you think you might be able to create a test project that reproduces this issue? Like if you import the SYS/BIOS "memory" example and configure the Heaps with the same options, can you get it to give the same incorrect behavior?

    Whitney