由于28035的CLA使用过程中RAM不够用了(L3),但是L1,L2使用不到一半,请问可以把L1与L2挪在0.5K,L3挪成5K吗。内存映射图中L2下面写的一行“CLA Data RAM 1”是不是说L2不能做“CLA Prog RAM”呢,非常感谢!!
HH Y:
用于做代码空间的内存只有4k,用于做数据的空间只有2k,您说的5k,没有可能。
在不移动代码的情况下,我自己总结的缩小代码空间的办法是:
1、开优化,一级一级开,找到占用内存最小的那一级。
2、在CLA中,尽量不要用long,除了有必要做移位运算的数据外,都用float,占用空间明显小一点
3、少用if逻辑,一些数学问题可以用函数解决,比如,可能您还不知道 __mminf32 这样的函数(反正我是很久以后才知道的),这是取最小值的函数,用这个函数绝对比用if比较节省很多空间,效率也高些。
欢迎大家继续补充
由于28035的CLA使用过程中RAM不够用了(L3),但是L1,L2使用不到一半,请问可以把L1与L2挪在0.5K,L3挪成5K吗。内存映射图中L2下面写的一行“CLA Data RAM 1”是不是说L2不能做“CLA Prog RAM”呢,非常感谢!!
user4675816:
回复 HH Y:
你好,非常感谢您的帮忙。long改float以及使用部分汇编指令确实节省了大量RAM,if语句我直接删除后节省了很多空间,但是不用if代码没法写啊。有两个问题:
1.我新手,不知道开优化指的是什么。
2。if语句如何优化
谢谢您的帮助。
由于28035的CLA使用过程中RAM不够用了(L3),但是L1,L2使用不到一半,请问可以把L1与L2挪在0.5K,L3挪成5K吗。内存映射图中L2下面写的一行“CLA Data RAM 1”是不是说L2不能做“CLA Prog RAM”呢,非常感谢!!
Jun Zhang10:
回复 user4675816:
if优化个毛,是让你在CCS里面设置编译器优化等级。