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/TMS320C6727: function expf(...) creates illegal code in load6x.exe

Part Number: TMS320C6727

Tool/software: Code Composer Studio

Hi,

I work on a DSP TMS320C6727 project. I want to simulate the DSP  behavior with the load6x.exe program. 

I'm able to launch my program, 'puts' and 'printf" functions work as expected but I can't make the 'expf' function to work.

Everytime the program reaches the line with this function, it outputs the following message :

>>Illegal opcode (008d4e61) at pc = 0x1001e788

What am I doing wrong and how can I make it to work ?


Test code is as simple as that :

#include    <stdio.h>
#include    <stdlib.h>
#include    <math.h>

void main (unsigned argc, char *argv[])
{
    float test;

    puts ("************************************************************************************\n");
    puts ("Hello world ! \n");
    test = expf(0.0);
    puts ("************************************************************************************\n");
    exit(0);
}

  • While I'm not certain, my guess is that the compiler correctly uses an instruction which load6x does not support.  load6x has not been supported for many years.  Unfortunately, it is not surprising something like this would happen.

    I recommend you change over to loadti.  It supports whatever execution platform CCS supports.  Which means no simulators.  But it is the closest supported solution to load6x.

    Thanks and regards,

    -George