UART 应用代码占用FLASH较大的原因
如题 今天在做STM8S应用的时候 发现添加uart代码后,在.map中查看发现uart简单的发送数据就占用了3k的FLASH 大家有没有遇到类似的问题呢?usart的C函数需要调用STM8库函数的USART源代码。 你用了printf? 大概率是用了printf 同意楼上两位,很可能使用了printf。
即便使用了printf,代码大小还跟你打印用的什么数据类型有关系,如果全部的话占用空间最大。如果是是打印个字符串,那么占用会少一点。
toofree 发表于 2019-9-26 11:44
同意楼上两位,很可能使用了printf。
即便使用了printf,代码大小还跟你打印用的什么数据类型有关系,如果 ...
确实应用了printf,但是去掉printf,只有uart的初始化也要占用1k的flash,我该如何去优化一下呢? 编译器的优化是否有设置呢?有的编译器如果没设置好的话,会把整个C文件连接进去,而这个文件中只有少数函数是你要用到的。用官方的项目模板就好了:) qytcs 发表于 2019-9-27 08:36
确实应用了printf,但是去掉printf,只有uart的初始化也要占用1k的flash,我该如何去优化一下呢? ...
想要占用代码少,初始化时直接写寄存器。 butterflyspring 发表于 2019-9-27 11:57
编译器的优化是否有设置呢?有的编译器如果没设置好的话,会把整个C文件连接进去,而这个文件中只有少数函 ...
光放的项目模板就是3k 自己编写printf
页:
[1]
2