启动微控制器模拟器/仿真器

时间:2009-01-15 21:21:09

标签: hardware emulation microcontroller simulator

我想为以下微控制器板创建/启动模拟器:http://www.sparkfun.com/commerce/product_info.php?products_id=707#

固件是用汇编编写的,所以我正在寻找关于如何模拟硬件将接收的输入然后模拟器将响应固件输出的一些指示。 (这也需要在模拟环境中运行固件)。

关于如何开始的任何指示?

由于 克里斯

6 个答案:

答案 0 :(得分:2)

您必须编写PIC模拟器,然后模拟端口的IO功能。

说实话,它看起来像设计为开发工具包 - 如果你小心的话,我不担心你的代码会破坏设备。除非这是一个企业套餐的亚军,否则我会严肃质疑编写SIM卡的投资回报率。

答案 1 :(得分:2)

有没有特别的理由制作模拟器/模拟器,而不仅仅是使用真实的东西?

董事会便宜; Microchip现在拥有RealICE调试器,它比旧的ICD2“冰球”更具响应性。

Microchip的MPLAB 已经具有内置模拟器。它不会为您模拟整个主板,但它将处理18F2520。你可以使用输入测试向量&日志输出文件,我之前使用不同的Microchip IC完成了这项工作并且它可行,但有点麻烦。我建议你采用单元测试方法并模块化你的工作方式;找出系统可管理部分的测试输入和预期输出。

答案 2 :(得分:2)

  

PIC 18F2520可能已经为它编写了仿真器核心,

用于微芯片/ PIC的开源跨平台模拟器以“gpsim”的名称提供。

答案 3 :(得分:1)

编写整个模拟器将是一个真正的挑战。我之前尝试过写一个ARM模拟器,让我告诉你,这不是一个小项目。您将要么必须模拟整个CPU核心,要么找到已经写好的核心。

您还需要弄清楚所有IO的工作原理。 sparkfun可能有关于该板的文档,但如果它使用MMIO等,你需要编写一个内存管理器。

仿真器的概念确实离解释器不远。您需要解释固件代码,并基本遵循说明。

我建议使用一个好的交互式调试器,而不是处理模拟器。破坏硬件的可能性很低,但实际上,您是想购买新电路板还是花9个月写一些不会实现整个系统的东西?

PIC 18F2520可能已经为其编写了仿真器内核,但您需要深入研究所有硬件规格,以了解所有IO的映射方式。如果您对此感到满意,那将是一个很好的项目,但我会考虑使用远程调试器。

答案 4 :(得分:1)

代码中的错误极有可能损坏物理电路。如果这是可能的,那么它可能是电路板设计中的一个错误,也可能是非常清晰的记录。

如果我可以根据多年使用这些设备的经验向您提供建议:请勿在装配中对其进行编程。你会疯了。使用C或BASIC或某种更高级的语言。 Microchip为其大多数芯片生产了一个C编译器(关于这个芯片的dunno),其他公司也生产它们。

如果您坚持使用仿真器,我很确定Microchip几乎为每个微控制器制作了一个仿真器(每个产品线中至少有一个,这可能就足够了)。这些仿真器并不总是很便宜,而且我不确定它们是否有能力接受复杂的外部输入。

如果您仍想尝试自己编写,我认为您会发现模拟PIC本身会非常简单 - 所有操作码的格式都有详细记录,内存架构也是如此。等等模仿电路板上的其他设备以及它们之间的相互连接会杀死你。您可能希望使用VHDL工具对组件之间的互连进行编码,这将允许您为不同的组件创建自定义模拟。

答案 5 :(得分:1)

这不是硬件在环模拟器问题吗? (例如http://www.embedded.com/15201692