您好,我在CLA里增加代码的时候遇到了一个问题。
比如当前的CLA的RAM空间还有71%,然后我加入一段含有fabs函数的代码,编译就会报CLA RAM空间不足,如果去掉fabs这个函数,编译就可以通过,请问这个是什么原因,在CLA调用fabs会占用很大空间吗?
加入fabs函数之前,CAL RAM空间仅用了71%,
在CLA调用fabs函数之后,编译会报CLA RAM空间不足的故障:
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.
您好,我在CLA里增加代码的时候遇到了一个问题。
比如当前的CLA的RAM空间还有71%,然后我加入一段含有fabs函数的代码,编译就会报CLA RAM空间不足,如果去掉fabs这个函数,编译就可以通过,请问这个是什么原因,在CLA调用fabs会占用很大空间吗?
加入fabs函数之前,CAL RAM空间仅用了71%,
在CLA调用fabs函数之后,编译会报CLA RAM空间不足的故障:
我的推测是这可能与类型转换有关。
fabs(A*B*C)
直接使用类似的写法,可能直接会传一个64位的数据给该函数,而CLA最高只支持32位的数据。所以会报程序与内存不兼容。您帖上来的报错不完整,后面的内容我无法知晓,但感觉并不是程序大小的问题。
D = A*B*C, fabs(D)
而您使用类似写法,加入一个中间变量时,D会被编译器强制优化为32位的数据
谢谢你的回复,我把编译不过时的结果复制下来了,请帮忙看一下,谢谢!
<Linking>
"../cmd/28003x_cla_flash_lnk.cmd", line 85: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment/blocking fails for section "Cla1Prog" size 0x23de page 0. Available memory ranges:
Cla1Prog size: 0x2000 unused: 0x2000 max hole: 0x2000
error #10010: errors encountered during linking; "3-6KW_280039_V0.10.33.out" not built
>> Compilation failure
makefile:208: recipe for target '3-6KW_280039_V0.10.33.out' failed
gmake[1]: *** [3-6KW_280039_V0.10.33.out] Error 1
gmake[1]: Target 'secondary-outputs' not remade because of errors.
makefile:204: recipe for target 'all' failed
gmake: *** [all] Error 2
**** Build Finished ****