Closed. This question needs to be more focused。它当前不接受答案。












想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。

3年前关闭。



Improve this question





我正在用C ++为不支持OS的嵌入式系统编写一个项目。几乎没有库支持。非常裸机。因此,我的代码相当紧密地耦合在一起(例如,软件触发的中断及其直接位于其上方的层)。

我正在做的部分工作涉及更改串行端口配置,从而在PC端(UI端)和微处理器(活动端)上驱动并发更改。
到目前为止,我在超级细心的增量类型开发中做得还不错(逐个装入)。但是,我想对我的代码在工程意义上的工作更有信心。

您会针对这种情况建议哪种方法/框架?

编辑:

我在Tern,Inc.生产的ACore86板上使用AMD186 ES。编译器:Paradigm,免费版(与板一起发货)。不幸的是,我没有选择更改正在处理的内容。

最佳答案

在裸机环境中缺乏基础架构是非常具有挑战性的。我建议您专注于调试工具。即使非常细心和出色的方法论,您仍需要能够调试的能力。

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

我不知道您的预算是多少,但是您还应该计划使用JTAG调试器。只要您的目标计算机上的gdbagent能够运行,gdbagent就非常有用。如果一切都崩溃了,那您就敬酒了。 JTAG调试器非常昂贵,但可以租用。我过去曾使用过Corelis产品,并且听说过有关Abatron的好消息。

07-24 21:32