开发 ARM 处理器需要什么? [英] What do I need for development for an ARM processor?

查看:20
本文介绍了开发 ARM 处理器需要什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我熟悉 X86[-64] 架构 &集会.我想开始为 ARM 处理器开发.但与台式机处理器不同,我没有真正的 ARM 处理器.我想我需要一个 ARM 模拟器.

I'm familiar with X86[-64] architecture & assembly. I want to start develop for an ARM processor. But unlike desktop processors, I don't have an actual ARM processor. I think I need an ARM simulator.

http://www.armtutorial.com/

需要一个 ARM 汇编编译器,最容易访问的是 ARMulator.

An ARM assembly compiler will be required, the most accessible is the ARMulator.

我想下载 Armulator,但从 http://forums.arm.com 找到/index.php?showtopic=13744那个

I thought of downloading Armulator but found from http://forums.arm.com/index.php?showtopic=13744 that

它不单独出售.但是您可以下载 RVDS 的评估版 - 其中包括 RVISS/ARMulator

Its not sold seperately. But you can download an eval of RVDS - which includes RVISS/ARMulator

我已经下载 &安装了 RVDS 但它看起来很复杂.我无法弄清楚我需要做什么来编写 ARM 程序集 &运行它.

I've downloaded & installed RVDS but It looks very complex. I'm unable to figure out what do I need to do to write ARM assembly & run it.

  • 我想用汇编而不是 C/C++ 编写.我没有ARM处理器.什么是好的模拟器?
  • 任何人都可以简短地提及.如何编写程序集&组装&使用 RVDS 进行模拟.请说清楚?
  • 还有其他替代方法吗?我买不起任何类型的电路板.
  • 我总是从书本而不是教程中学习.我正在关注这两本书:

  • I want to write in assembly not in C/C++. I don't have an ARM processor. What is a good simulator?
  • Can any one please mention in short. How to write assembly & assemble & simulate using RVDS. Please be clear?
  • Are there any other alternative ways. I can't afford buying any kind of boards.
  • I always learn from books rather than tutorials. I'm following these two books:

  1. ARM 系统开发人员指南:设计和优化系统软件(摩根考夫曼计算机体系结构和设计系列)
  2. ARM 片上系统架构(第二版)

您有更好的建议吗?

推荐答案

环境选项

  • QEMU 系统模拟器中安装 Linux.它可以模拟各种基于 ARM 的芯片组.
  • 获取适用于特定 ARM 芯片组(如游戏手持设备)的模拟器.Gameboy Advance 玩起来很有趣.NoCash GBAVisualBoy Advance 是两个很棒的 GBA 模拟器.
  • Options for environments

    • Install Linux in the QEMU system emulator. It can emulate a variety of ARM-based chipsets.
    • Get an emulator for a specific ARM-chipset like a game handheld. Gameboy Advance is fun to play with. NoCash GBA and VisualBoy Advance are two great GBA emulators.
    • 您将需要一个工具链.工具链是低级工具的集合,如汇编器、链接器、编译器、归档器和一堆其他有用的东西.更重要的是,您需要一个跨工具链,这意味着工具链在一个系统上运行,但为另一种架构构建可执行文件.通过这种方式,您可以构建在 ARM 设备上运行的应用程序,但在基于 x86 的 PC 上运行.更快更方便.

      You will need a toolchain. A toolchain is a collection of low-level tools like an assembler, a linker, a compiler, an archiver and a bunch of other usefull stuff. Even more, you want a cross-toolchain, which means that the toolchain runs on one system, but builds executables for another architecture. This way you can build applications that run on ARM-devices, but on your x86-based PC. It's faster and more convenient.

      如果您运行 Windows,DevkitPro 是一个相当不错的选择.对于 Unix/Linux/BSD 变体,您有 CodeSourcery 的免费工具链,以及来自 gnuarm.com.还有其他几个,但您不需要更多选项.

      If you run Windows, DevkitPro is a fairly good choice. For Unix/Linux/BSD variants, you have CodeSourcery's free toolchains, and the GCC toolchain from gnuarm.com. There are several others, but you don't need more options.

      infocenter.arm.com 获取所选 ARM CPU 的规范.无论 CPU 是什么,您都需要的一份参考资料是 ARM 体系结构参考手册(通常缩写为 ARMARM).我正在托管一个旧版本,它涵盖了 ARM 架构和指令集版本直到 ARMv4T,此处,但您也可以在 infocenter.arm.com 上找到当前版本和更高版本.如果您选择 GBA,请注意 CPU 是 ARM7TDMI,指令集版本为 ARMv4T.

      Get the specification for your ARM CPU of choice at infocenter.arm.com. One reference you need no matter the CPU is the ARM Architecture Reference Manual (Often abbreviated ARMARM). I'm hosting an older version, which covers the ARM architecture and instruction set version up to ARMv4T, here, but you will find the current and later versions on infocenter.arm.com as well. If you go for GBA, notice that the CPU is an ARM7TDMI, with the instruction set version ARMv4T.

      ARMARM 包含常用系统编码的技巧和示例、有关如何处理某些设计问题的技巧,以及 ARM 指令集、Thumb 指令集和 MMU、MPU 等协处理器的参考、DSP 和 FPU.

      The ARMARM contains tips and examples for usual nitty-gritty system coding, tips on how to proceed on certain design issues, as well as a reference of both the ARM instruction set, Thumb instruction set and co-processors like MMUs, MPUs, DSPs and FPUs.

      如果您坚持使用 QEMU,这几乎就是您所需要的,因为 Linux 内核可以处理一切.QEMU 还具有用户模式仿真(带有 C 库存根).如果您使用 GBA 模拟器之一,这里有一个关于 GBA 硬件和硬件寄存器的不错参考:CowBiteSpec.另请务必查看 http://www.gbadev.org/.

      If you stick with QEMU, that's pretty much all you need, since the Linux kernel handles everything. QEMU also has user-mode emulation (with a C-library stub). If you go for one of the GBA emulators, here's a nice reference over the GBA hardware and hardware registers: CowBiteSpec. Also make sure to check out http://www.gbadev.org/.

      Nintendo DS 也可能是一个选择,但我不知道该掌上电脑有什么不错的模拟器.祝你好运:-)

      Nintendo DS is probably an option as well, but I don't know of any decent emulators for that handheld yet. Good luck to you :-)

      这是我多年前编写的一些 GBA 代码的一个简单示例:GBA颜色填充 240x160 16 位示例

      Here's a trivial example of some GBA code I wrote years ago: GBA Color fill 240x160 16-bit example

      这篇关于开发 ARM 处理器需要什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆