💡
原文中文,约2900字,阅读约需7分钟。
📝
内容提要
在开发过程中,固件编译体积超出限制,通过分析浮点计算代码,优化除法和减法的使用,成功减少2.8KB的固件体积。开发时需注意资源和指令的使用,尽量使用整数计算。
🎯
关键要点
- 固件编译体积超出 Flash 限制,超出772字节。
- 使用 PlatformIO 的 Inspect 功能分析固件编译产物的资源使用情况。
- 通过 Inspect 功能可以查看固件的内存和 Flash 使用情况,以及代码缺陷。
- 发现浮点计算相关的代码占用较大体积,特别是 __subdf3、__divdf3 和 __muldf3。
- CH32V003 不支持硬件浮点计算,需优化浮点计算代码。
- 通过优化除法为乘法和去掉不必要的减法,成功减少固件体积2.8KB。
- 开发时需注意资源和指令的使用,尽量使用整数计算。
- USB 电流表的所有资料已开源,包括固件代码和硬件文件。
➡️