之前用STM8(没用库)和其他单片机做差不多功能的项目一般程序在40K以内,现在用STM32+库没做完已经近60K了(IAR 中级优化),看样子做完,64K Flash是肯定不够了,怎么差这么多啊?怎么搞啊,128K Flash的相差几块钱,BOSS又该不爽了!
以前用COSMIC,没用到的函数也会占用FLASH。
不知IAR如何。
COSMIC算是个“少数民族”吧
MDK里面的ARM自家的C可以优化掉
IAR应该做得更好
楼主谈的是STM32,COSMIC不能用于STM32。
呵呵,楼主stm8和stm32混杂呀。
stm32的代码比stm8要大些也正常。
用STM32库是方便,也是有代价的。但不用库直接操作寄存器,就凭现在ST提供的DATASHEET自己来弄,估计够呛。见议ST提供比较详细的每个硬件模块框图,这方面要向ATMEL学习.
用STM32库是方便,也是有代价的。但不用库直接操作寄存器,就凭现在ST提供的DATASHEET自己来弄,估计够呛。见议ST提供比较详细的每个硬件模块框图,这方面要向ATMEL学习. ...
STM32技术参考手册中,每一章都有各个硬件模块的框图。
是呀!STM32 这款ARM芯片的库确实很烦人的。什么时候厂家的库能做的像其它单片机一样简单的库就好了。
我不喜欢库 现在用 NXP的 m3 没库 用着一样爽
骑虎难下啊,不可能在项目完成70%的时候再把库去掉,动作太大了!没办法,用128k的吧,硬顶着上!给没开始的各位同仁提个醒:最好别用库!
如果楼主想节省资源,就直接对寄存器编程,如果想方便,就用库
呵呵,楼主还好吧
我之前一个项目,用USB作IAP。IAP只分配了12K空间
后来IAP要加功能,需要15K,只好改USB库代码,硬是塞进了12K的空间
用库一般是在初始化时使用
优化时可以先完全不理会STM32的硬件,从纯软件的角度考虑,把对同一内存地址的多个操作合并起来,可以省掉很多代码