我希望我的儿子能够学习ARM汇编程序,我正在考虑给他买一个他可以编程的嵌入式系统,这样他就可以制作LED闪光灯和其他很酷的东西,这些都是我小时候得到的。是否有任何模拟或虚拟“工作台”在PC上提供这种类型的编程环境而不使用实际硬件?我很想让他开始使用ARM,因为这些芯片似乎都适用于所有新设备,如手机等。
答案 0 :(得分:13)
尝试QEMU!
它是免费的,您可以在模拟的ARM内核上安装Ubuntu或Debian linux。也可以运行裸码(也不那么有趣)。
据我所知,它支持ARMv5,ARMv6和Cortex-A8,因此您可以选择各种便宜到高端的ARM处理器。
最好的:一旦您的代码在模拟环境中工作,您就可以将整个系统移动到真实硬件系统上的闪存或SD卡。内核将关注90%的硬件差异。只有当你决定在ARM上运行linux时,这才有效。
强烈推荐。
您可能还对模块系统上易于使用且价格低廉的ARM系统感兴趣。 Imho没有什么比使用真正的硬件更好的了。一块裸板,你可以插入电缆并让真正的LED闪烁。在这种情况下,我建议你看看beagleboard。
进入嵌入式编程从未如此便宜。 (www.beagleboard.org)
答案 1 :(得分:3)
嗯,这不能回答你的问题,但仍然是:HP50g计算器有一个ARM处理器,您可以使用hpgcc为ARM编写程序(因此,ASM)。更不用说HP 50g是一款非常强大且实用的硬件;谁知道它甚至可能让你的儿子对数学感兴趣:)提供hpgcc的C库有屏幕绘制和产生声音的例程,所以它也可以做一些“有趣”的事情。
答案 2 :(得分:3)
vba,gameboy推进模拟器。学习手臂然后拇指,从ram学习rom,一些有趣的视频内容,键盘输入等。然后购买类似超级卡sd和真正的游戏男孩的东西来运行相同的程序。一旦你在某种程度上学习了gba,nds是如此相似,你可以专注于双处理器的东西,让二进制文件工作。还有用于nds的模拟器,因此如果你不想,你实际上永远不必购买硬件。
答案 3 :(得分:3)
我知道这个答案可能会晚一点,但我在尝试找到MARS(MIPS汇编程序和运行时模拟器)的ARM替代方案时遇到了类似的问题,最近偶然发现了非常好的{{3 }}。
我相信ARMSim应该提供您正在寻找的所有功能。
答案 4 :(得分:2)
您可以查看ARM ADS(http://www.arm.com/products/DevTools/ADS.html)。它包括模拟器,可视化调试器,IDE,在线文档,支持ARM 7,9,9e和10等。您可以在Windows或Linux上使用它。
当我在大学教授ARM汇编程序时,教授使用了这个IDE,它看起来非常强大。不幸的是,我们(学生)正在开发功能较弱的模拟器系统(称为ATLAS)。
答案 5 :(得分:1)
首次教你的儿子大会检查一个Chip-8口译员 只有36个命令,维基百科包含操作码的明确定义。