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