微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM小记

ARM小记

时间:02-21 来源:互联网 点击:



学习指南
许多朋友想学习ARM,可是又不知道该从何入手。想听听我的传奇经历吗?那是大学三年级离毕业之前,我在哈尔滨的电子市场看到了一款LPC2200处理器(飞利浦公司的ARM处理器产品)的开发板(见图3),这是飞利浦旗下的一款ARM处理器,带一个真彩液晶屏,开机时很炫酷,随板又赠送一本ARM基础教程。当时很开心,在还没把8051学出什么名堂的时候,就开始想转战ARM技术。当时这款产品要价2000元,我反复挣扎了很久,最后还是压不住冲动的性子,把它买了下来。当时向债主爸爸许诺,一定在短期之内把ARM学好。我还真是下了狠心,在各位同学纷纷准备毕业设计论文的时候,我正抱着一本ARM基础教程的书反复研究。当时还没有什么好的ARM技术论坛,21IC论坛上水太深,也不敢随便冒泡。就这样,短暂又美好的大学时光过去了,那时我已经自认为对ARM技术有了一定的了解。


书中主要讲述ARM7TDMI的系统结构及原理,枯燥且难理解。如果是现在,我都懒得翻这种书,可当时却是朝圣般地研读。当时感觉ARM是一个结构非常复杂的微处理器,它是32位处理器,是一个超级单片机,要了解ARM的内核结构,精简指令集的使用,还要学习汇编语言,最后就是学习一个叫μC/OS-II的操作系统。总而言之要学的内容比8051复杂,设计制作也就更难。回想起来,对当时学过的内容已没有什么印象了。
转机出现在南下求职中。毕业之后许多同学留在了哈尔滨,而我却选择只身一人南下深圳,因为那里的电子行业发达,如果可以找到一家好公司可以学到很多经验。和我一样想法的人应该很多,可是最后的遭遇也各不相同,我还是比较幸运的,找到一家很不错的嵌入式系统研发公司,老板对我也很好。我在那里从测试员做起,然后做到技术支持工程师,最后是产品经理。一路下来经历了许多有趣的事情,也从一个产品应用的角度重新认识了ARM。我觉得后来在工作经验中学到的ARM更成熟、更鲜活。
实践中的ARM和书中的ARM完全不同。我要学习的内容从内核结构变成了操作系统,ARM的最大特点就是可以安装嵌入式操作系统,包括在ARM7上安装μC/OS-II,在ARM9上安装的WindowsCE、VxWorks和Linux。安装了操作系统的ARM其实是更简单。以应用较广泛的WindowsCE来说,我们要开发的USB接口、以太网之类的功能早就已经模块化了,可以直接加载使用。我们需要做的只是在用EVC编译器制作一个主程序和用户界面。
所以ARM已经将强大的操作系统和底层硬件分隔开来,学习ARM其实是在学习操作系统。这就好像我们今天学习PC机的使用,其实主要是在学习Windows操作系统的使用一样。学习ARM时如果从电脑软件一端入手便会很容易,如果从单片机一端的硬件结构开始,那么学习会困难一些——主要是思维方式不同,学习的难度就有不同。但并不是说不可以这样学习,把ARM处理器当成没有操作系统的超级单片机使用也是很好的选择。市场上许多介绍ARM入门的书多是电子行业的资深人士,他们熟悉8051,当ARM出现时习惯上将ARM处理器当作高级版的单片机来看待,自然也就习惯性地从硬件入手教学。另一方面,现在已经非常成熟的电脑软件开发的专家,多是用VC来编写电脑软件,如果让他们使用EVC(嵌入式VC)来开发嵌入式系统自然不在话下,可惜他们并没有及时地进入这个领域。所以由电脑软件专家编写的嵌入式系统开发教程更是凤毛麟角。嵌入式系统要想快速发展,就需要由懂得单片机开发的硬件工程师和通晓电脑软件开发的专家通力配合才能实现。目前业内也都意识到了这一点,嵌入式系统的未来值得期待。
作为个人来讲,无论你是单片机爱好者,还是电子技术应用专业的在校大学生,在掌握8051应用之后都应该尽量学习一下ARM方面的知识。我个人推荐你学习三星电子公司出品的S3C2410或S3C2440处理器。它们是ARM9核心的,可以安装WindowsCE和Linux操作系统。市场上的学习板价格也便宜,图书和资料也相当丰富。相信你会爱上图型界面的开发的,那确实是很让一个电子爱好者着迷的事情。现在行业内嵌入式系统的开发人才短缺,学好ARM也会对找工作大有好处。

小结
文章写到这里,也许有的朋友已经开始计划学习ARM了。我的文章煽动性确实很强,可是面对自己的未来计划应该更理性、更冷静的思考。首先ARM对于单纯的电子爱好者而言并没有单片机那么好玩。因为ARM处理器的价格较高,周边的元器件也并不便宜。虽然用ARM可以开发一些智能化更高的产品(例如带有彩色显示屏的设备、以太网接口的设备等),但是做一个硬件制作下来需要几百到几千元,作为电子爱好者的DIY娱乐,确实是太奢侈了。所以多数学习ARM的人都是为了找到福利更好的工作,或者承接一些基于ARM的项目开发。如果你不是出于这两种目的,对于ARM只了解就可以了。还有,ARM软、硬件开发的复杂程度要比8位单片机高,如果8位单片机还没有熟悉开发的时候就转到ARM的学习,其实是不理智的行为。玩转ARM处理器除了过硬的单片机功底,还需要软件开发的能力,ARM开发中有80%的工作都是在软件层面上,如果你学过电脑软件的开发(如VB、VC开发),也接触过操作系统(如Windows、Linux),再学习ARM就会事半功倍了。虽然操作系统会让开发变得更方便快速,可是花时间研究操作系统也是必须的。最后结束一句吧:ARM很流行,也要量力而行。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top