DIY USB 电流表番外篇:使用 PlatformIO Inspect 分析和优化固件体积

DIY USB 电流表番外篇:使用 PlatformIO Inspect 分析和优化固件体积

💡 原文中文,约2900字,阅读约需7分钟。
📝

内容提要

在开发过程中,固件编译体积超出限制,通过分析浮点计算代码,优化除法和减法的使用,成功减少2.8KB的固件体积。开发时需注意资源和指令的使用,尽量使用整数计算。

🎯

关键要点

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

继续阅读