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.

CCS/TMS320F28069: CLA lib cannot work in ".hex" file but OK in ".out" file

Part Number: TMS320F28069


Tool/software: Code Composer Studio

Hello Champs,

Customer has downloaded the ".out" file into their F28069 board and it works well.

But after converting this ".out" file into ".hex" file in CCS and then downloading the ".hex" file into the same board, it cannot work.

After checking the details they found out that in CLA calling libraries of SIN, COS cannot work as expected after downloading the ".hex" file.

Would you please kindly suggest what configuration needs to be check to solve this issue? Thanks!

Best Regards,

Linda

  • Linda Zhang84708 said:
    But after converting this ".out" file into ".hex" file in CCS and then downloading the ".hex" file into the same board, it cannot work.

    Linda,

    Please provide details on how the file was converted and how it was loaded.  Is this a flash project or a RAM project?  Was the flash programmer used?

    Linda Zhang84708 said:
    After checking the details they found out that in CLA calling libraries of SIN, COS cannot work as expected after downloading the ".hex" file.

    Please provide more information on what was observed and what went wrong.  What happens when sin, cos are called? Screenshots of the disassembly may help debug the issue.

    Lori 

  • Hello Lori,

    Customer found that this issue is related with below configuration in CLA initialization codes:

    ------------------------------------------------------------------------------------------------------------------------------------------

    //Copy over the CLA code(if running in standalone mode from FLASH)

    memcopy(&Cla1funcsRunStart, &Cla1funcsLoadStart, (Uint32)&Cla1funcsLoadSize);

    //Copy over the CLA math tables(if running in standalone mode from FLASH

    //and using the CLAMath Library)

    memcopy(&Cla1mathTablesRunStart, &Cla1mathTablesLoadStart, (Uint32)&Cla1mathTablesLoadSize);

    ------------------------------------------------------------------------------------------------------------------------------------------

    If both "memcopy" codes are executed, the ".out" file can work all well; the "sin" function in CLA cannot work after downloading the converted ".hex" file.

    But if only comment the second "memcopy" code, the "sin" function in CLA can work well after downloading the converted ".hex" file.

    Would you please kindly help? Thanks!

    Best Regards,

    Linda

  • Linda Zhang84708 said:

    If both "memcopy" codes are executed, the ".out" file can work all well; the "sin" function in CLA cannot work after downloading the converted ".hex" file.

    But if only comment the second "memcopy" code, the "sin" function in CLA can work well after downloading the converted ".hex" file.

    Linda,

    I don't know why this is the case.  I would expect that both memcopy functions should be required.  The CLA math tables should be required in both the cases in order for the sin function to work properly.

    How are they loading the hex file?  Is it through a boot loader and loaded to RAM?  

    If they load the hex, then they can load only symbols from the .out file.  This will enable them to single step through the program after the hex is loaded.   This will help identify why the memcopy is causing a problem.     

    Regards

    Lori