I define a array in C, the members of the array corss one DP, refer to figure 1.
When I write to the members of the array in C, the compiler lost a "MOVW DP #" instruction. Refer to figure 2.
What can I do about this?
Thank you!
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.
I define a array in C, the members of the array corss one DP, refer to figure 1.
When I write to the members of the array in C, the compiler lost a "MOVW DP #" instruction. Refer to figure 2.
What can I do about this?
Thank you!
Please submit a test case which allows us to reproduce this behavior. We need the source file which includes those lines, probably preprocessed like this. We also need the compiler (not CCS) version, and the exact command line options used.
Thanks and regards,
-George
I had reproduce the behavior using the TI example code names cla_iir2p2z in the controlSuit of TMS320F28377D device . Please refer to the attachments of this post.
The compiler version is TI V6.2.5.
In this code, I define an array "float W3[60]" in the file iir2p2z.cla. refer to figure 1.
I write to the array W3[60] in file cla_iir2p2z_cpu01.c, The compiler lost a "MOVW DP" instruction. Refer to figure 2.
Regards.
This is a known issue. You are welcome to look up SDSCM00050582 using the SDOWP link below in my signature. The workaround is that any data shared between C28x and CLA must be defined in the .c files, not the .cla file.
Thanks and regards,
-George
Thank you very much!
But there are some dfficulties when define any data shared between c28x and cla in the .c file, because the pointer in cla is 16 bit. So I think that the structure with members of pointer in cla will not be define in .c file.
I wish that TI will resolve this problem in the future!