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.

TMS320F280049: CLA warnings #10461-D :invalid to call C28 function "xxx" defined in"D

Part Number: TMS320F280049
Other Parts Discussed in Thread: C2000WARE

I tried to use his CLA feature, but the following warning appeared at build:

warnings #10461-D :invalid to call C28 function "xxx" defined in"D:/TI/C2000/.../",(Here I use the lib library approach).

As for this warning, what I know is that there are related calculations about integer types in it, but I have blocked related operations of integer types in my correlation.c.h file.

So, is there something else that causes this warning,

Putting the relevant code into CLA does not run successfully

  • I think it might have something to do with lib,

    I wrote a float addition function in lib, but no matter how the main function was called it, the value returned was always 1.0, even though I did it directly at the end of the function:

    return 2.8;

    However, I made an addition function of type int, and this function returned correctly

  • hi,

    Could you put on a snap of your program.

  • I used the CLA asin routine in C2000Ware 5,For some reason, I need to run the float algorithm to generate the lib on one pc and then run the CLA routine on another computer with the lib.

    At first I thought that my float algorithm had integer calculations in it, but now I find that there is something wrong with the lib float call.I made two test functions, as follows:

    float test_float(float a,float b,int c)
    {
    float temp;
    switch(c)
    {
    case 1:temp = a + b; break;
    case 2:temp = a - b; break;
    case 3:temp = a * b; break;
    case 4:temp = a / b; break;
    case 5:temp = 3.8;
    default : break;
    }
    return temp;
    }

    int test_int(int a,int b,int c)
    {
    int temp;
    switch(c)
    {
    case 1:temp = a + b; break;
    case 2:temp = a - b; break;
    case 3:temp = a * b; break;
    case 4:temp = a / b; break;
    default : break;
    }

    return temp;
    }

    After the lib is generated, the two functions are called on the project on another computer for hardware simulation: test_int is perfectly correct, but test_float can only return integers, and this integer follows int c, and whatever c is passed in is whatever the ruture comes out with.

    I don't know. Why is that

  • Thanks for your reply。This post solves the problem of float returning integers,。

    but the CLA section still reports an error:#10461-D Invalid to cal C28 function "Float calcula" defined in "DyT/C2000/foat lib2.ib<float calculaobi>' from CLA file "/asin.obj"(Here I use the lib library approach).

    I have blocked all integer calculations and integer judgments in lib, and still report errors.

    Is it because other forum posts discuss that.cla files cannot refer to functions in other.c files, only those algorithmic functions can be written in.cla files?

  • This Float_calcula is a function in lib that requires CLA to compute

    This is the opening of CLA in the main function

  • Is it because other forum posts discuss that.cla files cannot refer to functions in other.c files, only those algorithmic functions can be written in.cla files?

    yes, I think it is.