总见上官一直支持IAR,我今天也突然有兴致换个编译器试试,
移植了cosmic下的一个stm8s103F3的工程,编译成功,结果发现真杯具-_-
cosmic下 data:58 flash:2578 堆栈未知(我没做堆栈占用信息的统计工具) 我并没有使用开代码压缩,即使开了也就再少几十字节,我写的代码一向注重优化了。。。
结果在IAR下
2 143 bytes of readonly code memory
1 105 bytes of readonly data memory
326 bytes of readwrite data memory
杯具。。。等IAR懂了stm8的指令,等IAR懂(u8)(a>>8)只取低8位就可以不需要真的移8次,要等到什么时候-_-
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
不过我个人观点,这个值并不十分重要。
因为IAR堆栈是从RAM尾端开始的(某种程度上可以看做把剩余全部RAM都当做堆栈,如果不考虑STM8堆栈硬件制约),
其实这个值设置多少,在运行时并没有关系。
(即使堆栈设置为1字节,程序也应该可以正常运行)
只是在编译器的时候看看剩余RAM能能提供足够的堆栈,不足则会报错。
一周热门 更多>