你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

UART 应用代码占用FLASH较大的原因

[复制链接]
qytcs 提问时间:2019-9-25 19:55 /
如题   今天在做STM8S应用的时候 发现添加uart代码后,在.map中查看发现uart简单的发送数据就占用了3k的FLASH   大家有没有遇到类似的问题呢?
收藏 评论13 发布时间:2019-9-25 19:55

举报

13个回答
wenyangzeng 回答时间:2019-9-25 20:18:03
usart的C函数需要调用STM8库函数的USART源代码。
tanic 回答时间:2019-9-26 09:04:52
你用了printf?
wbeast 回答时间:2019-9-26 09:49:50
大概率是用了printf
toofree 回答时间:2019-9-26 11:44:31
同意楼上两位,很可能使用了printf。
即便使用了printf,代码大小还跟你打印用的什么数据类型有关系,如果全部的话占用空间最大。如果是是打印个字符串,那么占用会少一点。
qytcs 回答时间:2019-9-27 08:36:12
toofree 发表于 2019-9-26 11:44
同意楼上两位,很可能使用了printf。
即便使用了printf,代码大小还跟你打印用的什么数据类型有关系,如果 ...

确实应用了printf,但是去掉printf,只有uart的初始化也要占用1k的flash,我该如何去优化一下呢?
butterflyspring 回答时间:2019-9-27 11:57:32
编译器的优化是否有设置呢?有的编译器如果没设置好的话,会把整个C文件连接进去,而这个文件中只有少数函数是你要用到的。用官方的项目模板就好了
toofree 回答时间:2019-9-27 14:53:30
qytcs 发表于 2019-9-27 08:36
确实应用了printf,但是去掉printf,只有uart的初始化也要占用1k的flash,我该如何去优化一下呢? ...

想要占用代码少,初始化时直接写寄存器。
qytcs 回答时间:2019-9-27 15:31:31
butterflyspring 发表于 2019-9-27 11:57
编译器的优化是否有设置呢?有的编译器如果没设置好的话,会把整个C文件连接进去,而这个文件中只有少数函 ...

光放的项目模板就是3k
湉湉 回答时间:2019-9-27 23:00:36
自己编写printf
12下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版