总见上官一直支持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次,要等到什么时候-_-
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
回复【28楼】stm8s103 
-----------------------------------------------------------------------
从你言谈中很能透露出对iar的支持啊!
但是,现在几款stm8的c编译器都不尽如人意
iar强大是强大,但是抛不开risc的理念,却是一个硬伤。
不论是stm8的虚拟寄存器,还是avr的虚拟(软件)堆栈,都很明显的露出了生搬硬套risc c编译器的影子
所谓万事古难全,如果iar不是致力于risc,它也不可能为每一款mcu设计对它优化的编译器
keil当年可以专注于51,但iar不可专注于stm8、avr……之内的一样
我的意思是,iar的c编译器理念,并不是最理想的
现在就回到你所说的问题上来:
〉虚拟寄存器不好的地方,只是中断的时候要保护虚拟寄存器, 
〉但是优点也是显......
-----------------------------------------------------------------------
8bitMCU本来就对空间比速度要重视,空间就是成本!!!能用8Kflash的不用16K。至于速度嘛,不太差就好了。51比avr差远了,但还是很多人用,何况就差几个CLK的中断周期呢
一周热门 更多>