Assembly Windows下的ARM模拟器
我正在从教科书上学习ARM处理器…Assembly Windows下的ARM模拟器,assembly,arm,simulator,Assembly,Arm,Simulator,我正在从教科书上学习ARM处理器… 我想如果我能把我在ARM模拟器上学到的东西应用起来会更有用。。。编写代码然后观察结果和不同的执行阶段会更有趣 我已经搜索过了,但我只能找到linux上的免费软件或windows上的演示 有没有一个模拟器可以让我看到运行在windows上的ARM处理器(任何版本!)的执行步骤和不同的更改 谢谢 也许您指的是用于Windows的实验性二进制安装程序。有关Windows上的源代码安装,请参阅 支持Windows,是ARM的一流仿真器。当然,确切的管道状态是不可用的,
我想如果我能把我在ARM模拟器上学到的东西应用起来会更有用。。。编写代码然后观察结果和不同的执行阶段会更有趣 我已经搜索过了,但我只能找到linux上的免费软件或windows上的演示 有没有一个模拟器可以让我看到运行在windows上的ARM处理器(任何版本!)的执行步骤和不同的更改 谢谢
也许您指的是用于Windows的实验性二进制安装程序。有关Windows上的源代码安装,请参阅 支持Windows,是ARM的一流仿真器。当然,确切的管道状态是不可用的,但是程序员的仿真视图是可用的。ARMs emulator armulator在许多地方都有源代码形式,例如在gdb源代码中。qemu工作得很好,但很难“看到您的代码”。最好是为arm内核提供hdl源(例如verilog),并创建vcd文件或其他波形格式。除非你在一家有嵌入式arm的芯片公司工作,尽管你可能找不到。我可能错了,但我认为所有的开放臂核心都会很快被手臂取下 mame有一两个手臂核心。视觉男孩前进有一个手臂核心。nds模拟器具有arm内核 或者你也可以像我用thumbulator做的那样写你自己的,我发现这比让其他人给我看我想看的东西要容易得多。当然,我很懒,只做了一个thumb指令集模拟器,而不是一个完整的arm模拟器。这一点都不难,只是很费时 编辑 好的,我站直了。用谷歌搜索armverilog这个词。tgz包含一个arm的行为模型,它使用icarus verilog(免费)编译并运行良好 注释掉所有$save_store();行(就像C使用a//) 在testarm.v中添加几行代码(例如,在arm10之后和初始开始之前) 首字母 开始 $dumpfile(“test.vcd”); $dumpvars(0,arm10); 结束 始终#50000美元完成 然后 iverilog-o hello testarm.v arm10.v 你好 它将运行50000个时间单位,完成sim卡并关闭vcd文件。要使sim卡变长或变短,请更改always#50000线路 获取一份gtkwave(免费)以查看vcd文件。使用gtkwave是另一个帖子,你需要做一些事情,比如点击test_arm旁边的+符号,然后点击那里的arm10,在信号下点击say addr_bus以突出显示该行,然后点击附加框,点击data_bus并点击附加按钮,可能添加一些寄存器,r1,r2,等。有一个工具栏,但你也可以使用菜单时间->缩放->缩放完整,这是ALT-F在我的安装。然后你就可以学习如何放大和缩小东西 从个人经验来看,你不会“看到你的代码”运行得比使用hdl模拟器更好。事实上,一旦你习惯了这一点,你可能很难在硅上运行,在硅上你几乎什么都看不见 我只运行了行为模型中包含的测试程序。不知道你能或不能用它做什么
verilog$readmemh非常简单,它只想将十六进制的行读入指定的内存中。因此,您可以很容易地制作一个工具,该工具接受编译后的arm代码,并创建verilog模拟所需的ascii文件 这个问题已经问了很久了。 仍然认为为那些熟悉C语言的人写一个答案会很好。 这是一个小型C应用程序,它模拟了一些/以下ARM汇编指令,您可以在其中添加调试或打印结果以检查执行阶段
来自我:它是一个模拟器,是特定于处理器的,也就是说,正如其他人所建议的,在QEMU下运行ARM Linux是测试实际解决方案的更好选择。下一步是裸臂金属,这在2015年可以通过Raspberry PI便宜地实现。我刚刚发现,到目前为止,它非常棒。您可以在web浏览器中运行ARM组装代码,并查看执行步骤。是否还有一个具有更好UI的?请注意行为模型(HDL)它不是一个可合成的模型,这意味着你不能用它来制造芯片,ARM不必担心它会公开存在。