高手告诉你ARM入门该学什么
扫描二维码
随时随地手机看文章
ARM入门阶段通常是最容易让人产生挫败感的时候,并不是因为知识有多么难以理解,而是因为很多人并不知道从哪方面进行入手。此时一篇较为系统的入门知识介绍文章就变得很有必要,本文来自于一名经验丰富的电源设计者,将其对新手的入门建议进行了总结,大家快来看一看吧。
关于基础
很多人在学习ARM时都在纠结是否需要有51、AVR等基础。其实这部分知识并非必须,懂一些更好但没有也无所谓。没有相关基础也无所谓,重要的是找一些参考书,去了解里面的例子和原理图,例程里有汇编有C,都能看懂即可,不用追求能够流利编写。
需要学习哪些软件
软件实际上就那么几种,下面为大家总结一下。
ADS调试用
确切的说是ADS+AXD。ADS里包含AXD。以前都用SDT,但后来ARM公司停止对SDT的支持,转而支持ADS,所以还是用ADS比较好。目前有的人的程序发布的仍然是SDT版本,但基本都可以找到相应ADS的,新人在这里不要发蒙。ADS是编译器,AXD是调试器。编译成AXF以后再在ARM的RAM里调试。
PLASHPGM
FLASH烧写的软件。AXD在RAM里调试就不会出现掉电,方便程序修改。调试好的程序再下到FLASH里上电直接运行。同类的软件还有很多,比如FLUTED、FLSHP,但FLASHPGM最好。
BANYANT调试代理
调试代理就是用更简单的JTAG来实现原本1K才卖的JTAG仿真器的大部分功能。可以简单的讲其理解为自行制作的JTAG驱动。此外调试代理还有很多种,如H-JTAG、ARM7。
需要注意的是,每种调试代理安装方法虽然简单但都不尽相同,因此需要留意说明。而且AXD调试之前都要运行。
ARM-ELF-TOOLS工具链
其中包含UCLINUX开发用的工具,如ARM-ELF-GCC。工具链就是把很多工具打包在一起发布,方便开发东西。另外如果要开发LINUX就要用ARM-LINUX-TOOLS,这里是不一样的,不能通用。
U-BOOT
大名鼎鼎的BOOTLOADER生成工具,生成的BOOTLOADER烧到FLASH里,然后就可以用BOOTLOADER下载烧写其他。需要注意的是有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像电脑上的BIOS。
UCLINUX包
UCLINUX的源码包,建议大家用现成的先体会一下,然后再自己编译、裁剪。因为单独UCLINUX的编辑技术上比较简单,但涉及的方面却比较广。
VMWARE
老牌的虚拟机软件,在一个机器上虚拟出一个机器装LINUX,省去了频繁开关及的步骤。
该看哪些书?
这里主要为大家推荐ZLG的三本书,其他的再上网随便查查资料就可以了。《ARM嵌入式LINUX系统构建与驱动开发》,北航版。这本驱动写的很详细,前期开发介绍也很好。《ARM嵌入式系统实验教程(二)》,北航版,有ZLG2200的原理图,实验程序和注释。《ARM嵌入式系统基础教程》,最重要的是体系结构,汇编部分介绍,主要增加理论素质。
用途与系统的选择
如果主攻开发和工业设计,那么推荐UCOS,小巧、多进程、简单、体现了ARM7的精髓。LINUX消费与通信领域用的比较多,但缺点是必须ARM9才能启动。UCLINUX嵌入式系统在ARM7上可以跑,学好可以比较方便的转向LINUX。最后,也会有设计者选择当单片机来使用,但这里并不推荐,因为对于学习来说多进程的系统设计才是ARM7的精髓。
通过本文的介绍,处于入门阶段的朋友是否对ARM入门的学习有了一定的规划了呢?相信按照本文给出的经验和顺序阶段,大家一定能顺利的掌握ARM的相关知识。感兴趣的朋友不妨收藏本文,不时拿出来进行温习,巩固知识。