我希望我的儿子学习 ARM 汇编程序,我正在考虑给他买一个他可以编程的嵌入式系统,这样他就可以制作 LED 闪烁和其他我小时候喜欢的很酷的东西。是否有任何模拟或虚拟“工作台”在不使用实际硬件的情况下在 PC 上提供这种类型的编程环境?我很想让他开始使用 ARM,因为这些芯片似乎出现在所有新设备中,例如手机等。
6 回答
试试 QEMU!
它是免费的,您可以在模拟的 ARM 内核上安装 Ubuntu 或 Debian linux。运行裸代码也是可能的(也少了很多乐趣)。
据我所知,它支持 ARMv5、ARMv6 和 Cortex-A8,因此您可以从廉价到高端的 ARM 处理器中进行选择。
最好的:一旦您的代码在模拟环境中运行,您就可以将整个 firesystem 移动到真实硬件系统上的闪存或 SD 卡中。内核将处理大约 90% 的硬件差异。当然,这只有在您决定在 ARM 上运行 linux 时才有效。
强烈推荐。
您可能还对模块化系统上易于使用且价格低廉的 ARM 系统感兴趣。恕我直言,没有什么比使用真正的硬件更好的了。一块裸板,您可以将电缆插入并让真正的 LED 闪烁。在这种情况下,我建议您看一下 beagleboard。
进入嵌入式编程从未如此便宜。(www.beagleboard.org)
vba,gameboy 高级模拟器。学习 arm 和 thumb,从 ram 中学习 rom,一些有趣的视频内容,键盘输入等。然后购买像 supercard sd 和真正的 gameboy 之类的东西来运行相同的程序。一旦你在某种程度上学习了 gba,nds 就会非常相似,你可以专注于双处理器的事情并让二进制文件正常工作。nds 也有模拟器,因此如果您不想购买硬件,您实际上不必购买硬件。
嗯,这并没有回答你的问题,但仍然:HP50g 计算器有一个 ARM 处理器,你可以使用 hpgcc 为 ARM 编写 C(因此,ASM)程序。更不用说 HP 50g 是一款非常强大且实用的硬件。谁知道它甚至可能让您的儿子对数学感兴趣 :) hpgcc 提供的 C 库具有用于屏幕绘图和产生声音的例程,因此也可以做一些“有趣”的事情。
您可以看看 ARM ADS ( http://www.arm.com/products/DevTools/ADS.html )。它包括模拟器、可视化调试器、IDE、在线文档,支持 ARM 7、9、9e 和 10 等。您可以在 Windows 或 Linux 上使用它。
我在大学学习 ARM 汇编程序时,教授使用了这个 IDE,它看起来非常强大。不幸的是,我们(学生)正在研究功能较弱的模拟器系统(称为 ATLAS)。
第一次教您的儿子组装,请查看 Chip-8 解释器,它只有 36 个命令,维基百科包含操作码的明确定义。