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.
各位:
请教一下,f280049以及f2837x对于cla0,cla1,cla2的不同cla内核,再函数传递形参过程中,是否有相应限制??
之前看28035上是只能传送2个,实际f280049我自己工程传输了4个??哪里有参考文件可以参考~~
你好,找了一下没找到关于CLA中的形参个数的说明。
F28035中确实最多只支持2个参数,CLA对C语言并不是完全支持的,在某些方面有一定的限制。
不过你说的情况可能是因为F280049是第三代C2000,所以CLA对C语言的支持也更完善了,所以没有这么多限制。
我就是找了几款芯片的TRM以及编译器的用户指南都没找到有关CLA中使用形参的说明。
你看是否确实需要了解这方面的信息?需要的话我会联系一下国外工程师看看有没有这方面的资料,但是周期可能会需要几天时间。
能否确认 F28035 和 F280049 的两个项目都使用相同的编译器?如果是
1. 使用 F28035 有产生什么编译器错误吗?
2. 如果不是编译器错误而是运行时错误,能否检查一下在cmd文件中定义的暂存区,以及分配的内存是否可以被 CLA 访问?
额,没有这个意思。。。F28035的CLA是type 0,只能传递2个参数。
但F280049的CLA是type 2的,就不知道什么情况了。
话说,你的CCS和编译器都有点老了啊,现在都CCS11.2和v22.6.0.LTS了。
你好,刚看到有工程师回复,在我们的最新的编译器手册上的Function Structure and Calling Conventions章节有说明:
The CLA compiler also supports calling functions with more than two arguments.
这样的话就有点怀疑是否是跟你的CCS和CGT的版本太低导致的。
如果方便的话可以更新一下你的CCS再测试你的代码。
编译器版本相对比较新就可以支持形参传递
这个算是我的猜测,因为最新版编译器特地说明了可以支持2个以上的参数传递,说明之前版本的编译器确实有可能只支持2个。
这是编译器说明,你可以参考一下: