我熟悉 X86[-64] 架构和汇编。我想开始开发 ARM 处理器。但与桌面处理器不同的是,我没有真正的 ARM 处理器。我想我需要一个 ARM 模拟器。
http://www.armtutorial.com/ http://www.armtutorial.com/ say
需要 ARM 汇编编译器,最容易访问的是 ARMulator。
我想下载 Armulator 但发现http://forums.arm.com/index.php?showtopic=13744 http://forums.arm.com/index.php?showtopic=13744 that
它不单独出售。但您可以下载 RVDS 的评估版 - 其中包括 RVISS/ARMulator
我已经下载并安装了 RVDS,但它看起来非常复杂。我不知道我需要做什么编写 ARM 汇编并运行它.
我想用汇编语言而不是C/C++ 语言编写。我没有 ARM 处理器。什么是好的模拟器?
任何人都可以简短地提及一下吗?如何编写汇编以及使用 RVDS 进行汇编和模拟。请说清楚?
还有其他替代方法吗。我买不起任何类型的板。
我总是从书本而不是教程中学习。我正在关注这两本书:
ARM 系统开发人员指南:设计和优化系统软件(计算机体系结构和设计中的 Morgan Kaufmann 系列) https://rads.stackoverflow.com/amzn/click/com/1558608745
ARM 片上系统架构(第二版) https://rads.stackoverflow.com/amzn/click/com/0201675196
您有更好的建议吗?
环境选项
安装 Linux 在QEMU http://www.qemu.org系统模拟器。它可以模拟各种基于 ARM 的芯片组。
获取适用于特定 ARM 芯片组(例如掌上游戏机)的模拟器。 Gameboy Advance 玩起来很有趣。无现金大湾区 http://nocash.emubase.de/gba.htm and 视觉男孩高级 http://vba.ngemu.com/是两个很棒的GBA模拟器。
工具链
您将需要一个工具链。工具链是低级工具的集合,例如汇编器、链接器、编译器、归档器和一堆其他有用的东西。更重要的是,您需要一个跨工具链,这意味着工具链在一个系统上运行,但为另一种体系结构构建可执行文件。通过这种方式,您可以构建在 ARM 设备上运行的应用程序,但可以在基于 x86 的 PC 上运行。它更快更方便。
获取您选择的 ARM CPU 的规格:信息中心.arm.com http://infocenter.arm.com/。无论 CPU 是什么,您都需要的一份参考资料是《ARM 架构参考手册》(通常缩写为 ARMARM)。我正在托管一个旧版本,其中涵盖了 ARM 架构和指令集版本,最高可达 ARMv4T,here http://www.mechcore.net/files/docs/ddi0100e_arm_arm.pdf,但您可以在以下位置找到当前版本和更高版本信息中心.arm.com http://infocenter.arm.com/以及。如果您选择 GBA,请注意 CPU 是 ARM7TDMI,指令集版本为 ARMv4T。
ARMARM 包含常见的详细系统编码的提示和示例、如何处理某些设计问题的提示,以及 ARM 指令集、Thumb 指令集和协处理器(如 MMU、MPU、DSP 和FPU。
如果您坚持使用 QEMU,那么这几乎就是您所需要的,因为 Linux 内核可以处理所有事情。 QEMU 还具有用户模式仿真(带有 C 库存根)。如果您选择一款 GBA 模拟器,这里有一份关于 GBA 硬件和硬件寄存器的很好的参考:牛咬规格 http://www.cs.rit.edu/~tjh8300/CowBite/CowBiteSpec.htm。还要确保检查一下http://www.gbadev.org/ http://www.gbadev.org/.
任天堂 DS 可能也是一个选择,但我还不知道有什么适合该掌机的合适模拟器。祝你好运 :-)
编辑:这是我几年前编写的一些 GBA 代码的简单示例:GBA 颜色填充 240x160 16 位示例 http://www.mechcore.net/files/code/gba.s.txt