embedded - 裸机系统的软件测试

标签 embedded bare-metal tightly-coupled-code

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

5年前关闭。




Improve this question




我正在用 C++ 为不支持操作系统的嵌入式系统编写一个项目;几乎没有库支持。非常裸机。因此,我的大量代码是紧密耦合的(例如,软件触发的中断和它们正上方的层)。

我正在做的部分工作涉及更改串行端口配置,从而驱动 PC 端(UI 端)和微处理器(事件端)的并发更改。
到目前为止,我在一个非常小心的增量类型开发中做得很好(一 block 一 block 地安装它)。但是,我希望对我的代码在工程意义上的工作更有信心。

对于这种情况,您会推荐什么样的方法/框架?

编辑:

我在 Tern, Inc. 制造的 ACore86 板上使用 AMD186 ES。编译器:Paradigm,免费版(随板提供)。不幸的是,我没有选择改变我正在做的事情。

最佳答案

在裸机环境中缺乏基础设施是相当具有挑战性的。我建议您专注于调试工具。即使非常小心和出色的方法,您也需要调试事物的能力。

你应该让 gdbagent 工作。您需要自己实现它,但它是一个简单的基于文本的协议(protocol)。您在外部机器上运行 gdb 并与目标上的 gdbagent 通信。
您当然可以通过串行端口运行 gdbagent 协议(protocol),但是当需要检查大量数据时,这很快就会变得乏味。如果您有更快的界面可用,请利用它。

我不知道你的预算是多少,但你也应该计划一个 JTAG 调试器。只要目标上的 gdbagent 能够运行,gdbagent 就很棒。如果一切都崩溃了,你就完蛋了。 JTAG 调试器非常昂贵,但可以租用。我用过Corelis过去的产品,我听说过 Abatron 的好消息.

关于embedded - 裸机系统的软件测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/188862/

相关文章:

c - freeRTOS如何在切换线程时维护函数变量?

linux - u-boot中的fatloat地址限制

embedded - 如何在 C 或内联汇编中设置 ARM 中断向量表分支?

oop - 与组合相关的松散耦合

c++ - 一个类的属性仅由外部环境使用是否可以接受?

c - 在嵌入式系统中从汇编语言切换到 C 语言

c - 如何将音频事件前后 50 毫秒存储在循环缓冲区中?

c - 在保护模式下读取键盘

embedded - 如何锁定stm32f4中的GPIO引脚配置?