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.

关于CMD文件使用问题



由于28035的CLA使用过程中RAM不够用了(L3),但是L1,L2使用不到一半,请问可以把L1与L2挪在0.5K,L3挪成5K吗。内存映射图中L2下面写的一行“CLA Data RAM 1”是不是说L2不能做“CLA Prog RAM”呢,非常感谢!!

  • 用于做代码空间的内存只有4k,用于做数据的空间只有2k,您说的5k,没有可能。

    在不移动代码的情况下,我自己总结的缩小代码空间的办法是:

    1、开优化,一级一级开,找到占用内存最小的那一级。

    2、在CLA中,尽量不要用long,除了有必要做移位运算的数据外,都用float,占用空间明显小一点

    3、少用if逻辑,一些数学问题可以用函数解决,比如,可能您还不知道 __mminf32 这样的函数(反正我是很久以后才知道的),这是取最小值的函数,用这个函数绝对比用if比较节省很多空间,效率也高些。

    欢迎大家继续补充

  • 你好,非常感谢您的帮忙。long改float以及使用部分汇编指令确实节省了大量RAM,if语句我直接删除后节省了很多空间,但是不用if代码没法写啊。有两个问题:

    1.我新手,不知道开优化指的是什么。

    2。if语句如何优化

    谢谢您的帮助。

  • if优化个毛,是让你在CCS里面设置编译器优化等级。

  • 编译优化,优化后代码的空间和运行速度都会大大改进,不过优化后基本无法仿真。

    在项目树状结构上右键点击,在右键菜单最后一个“properties”,在弹出的窗口中有关于项目配置的,里面就有优化的选项。

    if语句没什么可优化的,我是说,在求绝对值、最大值最小值这类问题上,可以用函数,不要用if。

    还有,重复出现的内容,也可以考虑自己将其做成函数调用,CLA支持函数调用,只是嵌套级数很少而已。