请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: MSP432E401Y
大家好、只想了解在固件的调试或发布模式下构建编译器时的优化和更改。
我有一个使用 MSP432P401R 微控制器的系统。 将内置的调试版本刷写到嵌入式系统中时、固件的工作效果非常好。 但是、当我构建为发行版时、固件偶尔会在循环后崩溃。 我们尝试了各种构建设置和优化级别、结果是相同的。
您能帮助我们深入了解可能发生的情况吗?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
器件型号: MSP432E401Y
大家好、只想了解在固件的调试或发布模式下构建编译器时的优化和更改。
我有一个使用 MSP432P401R 微控制器的系统。 将内置的调试版本刷写到嵌入式系统中时、固件的工作效果非常好。 但是、当我构建为发行版时、固件偶尔会在循环后崩溃。 我们尝试了各种构建设置和优化级别、结果是相同的。
您能帮助我们深入了解可能发生的情况吗?
1) 优化肯定会触发潜在的软件错误。 这些通常与时间有关:(a) 竞态条件 (b) 路径长度依赖性 (c) 可疑排序[包括“挥发性“]。
2) 优化是最明显的,但(我认为)不是调试和发布之间的唯一区别。 第一步、我建议您从(基本)版本编译配置开始、(仅限)将优化更改为“-Ooff",“,查看、查看行为是否发生变化。
3) 你将需要辨别什么“崩溃“准确的意思,例如,( a) 硬故障 (b) 系统重置 (c) 无限循环 (d) 错误的输出。 在某些时候、您可能需要从症状后退。