[其他ST产品] 如何优化 kei5 可以使代码运行最快效率最高?

[复制链接]
1321|7
 楼主| powerantone 发表于 2024-7-24 16:52 | 显示全部楼层 |阅读模式
最近做个项目使用到优化的时候,一直有一些疑问:
1,使用的是STM32F1,刚开始的时候使用O1级别优化,调试完成之后,改成了O2,做斜率的时候,明显感觉到了程序速度提升近2倍。而且其它的感觉也比以前块,以eeprom为例,本来O1的时候完全没问题,改成O2 后,就只能读不能写,找了半天才发现时序变了。
2,C++ Code Generation 里面那么多选项,那些选项除了常用几个,其他具体都是做什么用的,感觉搞得不
   是很明白,希望高手解答??
3,怎么样选择能使程序跑的最快,怎么样选择能使代码量最小了,感觉搞得也不是特别明白
说明:我程序在选择O1优化时候为81k左右,选择O2时降低到了73K左右,选择O3时候跟O1差不多,但是速度方面,O2和O3差的不多,跟O1都有明显提升
probedog 发表于 2024-7-25 14:58 | 显示全部楼层
启用编译器优化选项
laocuo1142 发表于 2024-7-25 14:58 | 显示全部楼层
优化代码结构
flycamelaaa 发表于 2024-7-25 14:58 | 显示全部楼层
优化算法和数据结构
stormwind123 发表于 2024-7-25 14:59 | 显示全部楼层
使用编译器特定的优化指令
classroom 发表于 2024-7-25 14:59 | 显示全部楼层
优化Keil 5中的代码需要从多个方面入手,包括启用编译器优化选项、优化代码结构、优化算法和数据结构、减少资源消耗、使用编译器特定的优化指令以及借助外部工具进行性能分析等。同时,还需要注意保持代码的可读性和可维护性,避免过度优化导致的代码复杂性和难以维护的问题。
Bowclad 发表于 2024-7-26 11:55 | 显示全部楼层
编译器优化调到最高
hehhehee 发表于 2024-7-26 14:38 | 显示全部楼层
在你的项目中,O2 的确提升了速度,但也改变了 EEPROM 操作的时序。这可能导致了写操作失败。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

679

主题

4005

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部