学习ARM组装

Che*_*ery 22 assembly arm

今年将推出一款包含Tegra2的600欧元以下的多点触控便携式电脑.他们为我学习ARM汇编语言提供了一个很好的借口.但我不知道从哪里开始arm.com.

首先,我可以选择一个带有Linux发行版的模拟器.但是哪个模拟器和发行版最适合这个?访问主机系统的文件是可以的,所以我可以直接从我的主目录编译和执行ARM二进制文件.

我不想浪费太多钱给书籍,所以我需要一些汇编源代码示例和一个很好的免费介绍指令集.用于在x86上编译ARM程序的gcc编译器标志也不错,但我也可以自己找到它们.

3Da*_*ave 10

获取其中一个arm软件工具包的评估版本,其中包括调试器/软件模拟器.如果你愿意花几百美元,可以获得一个手臂评估板(Keil卖几个).您可以通过JTAG接口在电路板上测试代码,看看真实硬件上会发生什么.

这些应该让你朝着正确的方向前进

披露:我为ARM工作.


Ste*_*non 7

ARM参考文档实际上提供了对指令集的非常好的介绍.这些是开始的好地方.

由于您正在编写汇编(因此可能对低级性能详细信息感兴趣),因此您需要一个周期精确的模拟器或实际的硬件(或两者).除了David Lively建议的硬件选项外,您还可以查看Beagle Board.

就编译器而言,有ARM的RealView工具和GCC.ARM工具可能会更全面地支持更新的硬件功能.

  • 比格犬板+1。我见过他们在办公室工作,他们似乎工作得很好。 (2认同)

She*_*ami 5

我从头开始学习ARM汇编语言的最佳资源是本教程:"http://www.coranac.com/tonc/text/asm.htm"

它有点过时,但它解释了ARM组装的基础知识,然后您将能够阅读官方ARM参考手册,以查看您所针对的设备的细节.例如,如果你的目标是智能手机,那么现在ARM v7是一个非常流行的指令集,所以你可以针对它并了解Thumb-2和更新的技术.或者,如果您的目标是仅花费几美元的嵌入式微控制器芯片,则可以使用一些略有不同的功能,等等.