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.

TMS320F28388D: Can't Load Symbols on CLA

Part Number: TMS320F28388D
Other Parts Discussed in Thread: TMS320F28379D, , C2000WARE

Hello everyone,

I am having trouble when connecting to the CLA1 of CPU1 or CPU2.
I setup a new Project quite simmilar to the solution-project of the "cla-hands-on-workshop".

Everything compiles fine, and the code on CPU1 and CPU2 is running properly.

But when I want to check the CLA nothing works.
I am able to connect to any of the CLA, but when I load the symbols by using the same .out file the compiler generated for the CPU1/CPU2 project, nothing happens.
CCS still tells me, that there are "no symbols defined".
It also opens a "file" 0x0 with the content
"Break at address "0x0" with no debug information available, or outside of program code."


We also have the the EVAL-Board for the TMS320F28379D at hand. And the "cla-hands-on-workshop"-Solition-Project is working on it.

I can't figure out, why the symbols won't be loaded with my Project for the TMS320F28388D.

Thanks and regards,

Marcel Kummer.



  • Marcel,

    That is very odd. A couple of things to check.

    1) Make sure you have the "CPU1_CLA1" selected in the debug window before you load the symbols.  If the CLA is not selected then  the symbols may have been loaded to the C28x CPU.

    2) Can you try one of the C2000Ware CLA examples for the F28388D device and see if the behavior is any different 

    C:\ti\c2000\C2000Ware<version>\driverlib\f2838x\examples\c28x\cla

    Regards

    Lori

  • Hello Lori,

    I tried the exmaples in the C2000Ware.

    C:\ti\c2000\C2000Ware_2_00_00_03\driverlib\f2838x\examples\c28x\cla

    I found out, that if I run the example with the buildconfiguration RAM_CPU1 I am able to load the symbols to CLA1 without problems.
    But the with the buildconfiguration FLASH_CPU1 it isn't working. (Same behaviour I have in my own project)

    Since my project with the problems also is a flash project I think the problems are the same.

    Is it possible to debug a Software on the CLA if it's running out of flash?

    Regards

    Marcel.

    ######################################################################################
    EDIT:
    I now switched my own project from FLASH to RAM. The loading of the symbols is working properly now.
    For the first tests it's okay to run the project out of RAM, but later this won't be possible anymore.

    So I hope debugging while running out of flash will be possible.

    Regards,

    Marcel.

  • Marcel,

    There is nothing about running from flash that should cause this.  The symbols are part of the binary file produced by the linker.  The symbols will also appear in the .map file generated by the linker.

    Are there any error messages when you load symbols for the CLA debug?

    I will look into this more and see if I can find anything.

    Lori

  • Marcel,

    I need to track down a F28388 device in order to try it there.  In the meantime, I have tried the scenario on a F2837xD.

    1) in debug window select C28xx_CPU1

    2) load the asin project and build the flash configuration

    C:\ti\c2000\C2000Ware_2_00_00_03\driverlib\f2838x\examples\c28x\cla\CCS\

    3) Loaded the .out -  this programs the flash

    4) Ran the C28x to the following line - the CLA will have triggered by this point

            if(error < 0.1f)
            {
                Example_PassCount++;   <<- breakpoint here
            }

    5) in debug window select the CPU1_CLA and load symbols - the c-source and disassembly show the CLA is halted in ClaTask1.  c-source debug is working and symbols are visible in the assembly window.

    While I look for a F28388 can you try the above?

    Regards

    Lori

  • Hello Lori,

    I was able to fix my problem. (See bottom of my answer)

    But just for reference here are my problems while triyng to run the asin example on the TMS320F28379D Launchpad.

    I'm sorry, but I was not able to follow all the steps you described with the asin example.

    First of all, the line you are referring to is a little bit different at my example (won't matter I think since it's just a variable name, but maybe I somehow have another version of the example):

    void CLA_runTest(void)
    {
        int16_t i;
        float error;
    
        for(i = 0; i < BUFFER_SIZE; i++)
        {
            fVal= (float)(BUFFER_SIZE - i)/(float)BUFFER_SIZE;
            CLA_forceTasks(CLA1_BASE,CLA_TASKFLAG_1);
            WAITSTEP;
            y[i] = fResult;
            error = fabsf(asin_expected[i]-y[i]);
    
            if(error < 0.1f)
            {
                pass++; // <---- other Name
            }
            else
            {
                fail++;
            }
        }

    Never the less I set a breakpoint at the indicated code line. But the programm won't stop at this breakpoint.
    Furthermore the F28379D never reaches the function CLA_runTest() at all.

    Singlestepping the code from the start of the main is possible until the following line in the device.c file:

        //
        // Set up PLL control and clock dividers
        //
        SysCtl_setClock(DEVICE_SETCLOCK_CFG);

    Another singlestep over that call is not possible -> Program gets lost in some undefined memory (debugger can't show code).

    ######################################################################################################


    I then tried, the same asin-example again on the TMS320F28388D and breakpointed at the location you indicated and loaded the symbols onto the CLA then.

    Hurray, this worked just fine this time.

    My thoughts on that:
    I think what my mistake was is, that I tried to load the symbols onto the CLA right after flashing and stopping at the "main-function.
    This is BEFORE the controller copied the CLA-Program from the Flash to the RAM.

    On the RAM-project the CLA-Program allready is programmed to the correct memory, that's why this problem didn't accure.

    I will now try this on my own project and come back to you later.

    Regards,

    Marcel.

  • Hello Lori,

    I was able to load the Symbols for the CLA also on my own project.

    My thoughts were correct.
    Before loading the symbols I must let the Controller copy the CLA-Program from Flash to RAM. (Quite obvious if I think about it now ...)

    Thanks and Regards,

    Marcel.