彻底测试它,这样他们就不会不断地打电话和抱怨......或者当他们知道这是他们的错时。
认真地说,如果您编写功能代码,无论是使用 IRQ 还是 DMA,请确保它在简单和压力大的几个场景中都能正常工作。
使用 asserts() 捕获愚蠢的用法,尤其是在内存区域或对齐有已知限制的情况下。
假设他们不会检查错误返回,能够在级联故障中忽略错误时检测或断言。
假设回调和指针将作为 NULL 传递
如果您使用 malloc()/free(),请确保您可以检测到那里的故障、内存不足、双重释放、孤儿。
如果您进行了健全性检查,他们就会知道在这些检查通过之前不要打电话。
测试您编写的代码。测试 QSPI,测试串行接口,测试它们一起工作。
检查原理图上的每个引脚,了解您拥有什么样的覆盖范围,以及哪些对团队最重要。如果需要环回引脚/uart 并检查板外或未决的其他开发或部件的东西。
让 Error_Handler() 和 HardFault_Handler() 输出全面的信息,以便您可以立即转到 BSP 中的源代码行并了解可能已损坏的内容,以及是否需要新断言。能够立即将球击过网,不要每次都拼命去理解失败,不要成为阻碍发展的罪魁祸首。你希望他们的经理坚持不懈,而不是你的。
利用您现在不必对所有内容进行分类的空闲时间来测试更多的极端情况。
在您的代码上运行 lint 或其他覆盖/静态分析工具,在其他人之前找到漏洞。
彻底测试它,这样他们就不会不断地打电话和抱怨......或者当他们知道这是他们的错时。
认真地说,如果您编写功能代码,无论是使用 IRQ 还是 DMA,请确保它在简单和压力大的几个场景中都能正常工作。
使用 asserts() 捕获愚蠢的用法,尤其是在内存区域或对齐有已知限制的情况下。
假设他们不会检查错误返回,能够在级联故障中忽略错误时检测或断言。
假设回调和指针将作为 NULL 传递
如果您使用 malloc()/free(),请确保您可以检测到那里的故障、内存不足、双重释放、孤儿。
如果您进行了健全性检查,他们就会知道在这些检查通过之前不要打电话。
测试您编写的代码。测试 QSPI,测试串行接口,测试它们一起工作。
检查原理图上的每个引脚,了解您拥有什么样的覆盖范围,以及哪些对团队最重要。如果需要环回引脚/uart 并检查板外或未决的其他开发或部件的东西。
让 Error_Handler() 和 HardFault_Handler() 输出全面的信息,以便您可以立即转到 BSP 中的源代码行并了解可能已损坏的内容,以及是否需要新断言。能够立即将球击过网,不要每次都拼命去理解失败,不要成为阻碍发展的罪魁祸首。你希望他们的经理坚持不懈,而不是你的。
利用您现在不必对所有内容进行分类的空闲时间来测试更多的极端情况。
在您的代码上运行 lint 或其他覆盖/静态分析工具,在其他人之前找到漏洞。
举报