对于ARM嵌入式初学者而言,心中一定充满着疑虑和困惑,很多问题也期待着找到答案。比如:
1、嵌入式要学什么?嵌入式到底有多难学?
2、学ARM需要什么基础,学ARM要发多长时间?3、学ARM7还是ARM9,直接学ARM9怎么样?
4、如何学ARM,怎么学ARM才轻松?
在此,我针对这些问题提提自己的看法,以期对初学者有所帮助,能在学习的道路上少走些弯路。
一
百花齐放的嵌入式,需要你量力取舍。
嵌入式前景广阔,就业渠道多,无疑是当前最有发展前途的行业。
特别是随着消费电子的智能化,3G的快速发展等等,嵌入式更显重要。如果你想从事该领域,或者成为该领域的工程师,你就会发现要掌握的东西实在太多。
万事开头难,想进入该领域你得找个合适的切入点。面对百花齐放的嵌入式,切入点有很多,我建议你量力而行。
嵌入式大体上可以划分为:硬件和软件两部分。想从事嵌入式硬件的,推荐你从ARM7开始;想从事嵌入式软件的,推荐你从uCOS-II嵌入式操作系统开始。
面对“ARM7+uCOS-II”方案,可能有些人会问“ARM9+Linux”方案是否也适合初学者,针对这个问题,我谈谈自己的看法:
1、ARM7比起ARM9,更适合初学者学习。和ARM7相比,应该说ARM9在性能方面有很大提高,但ARM9更适合作为产品开发平台,并不适合初学者用于学习。主要原因如下:从硬件设计方面,ARM7主频在100MHz以内,学生完全可以掌握其设计技术,而ARM9在200-600MHz左右,属高速设计,至少有3年以上经验的硬件工程师才可能进行设计,一般学生很难掌握。
从软件设计方面,在教学中采用源码开发的操作系统已成为共识,ARM7资源紧凑,适合运行ucos和ucLinux等源码开放的操作系统,在教学中能够充分体现嵌入式系统对资源、成本、可靠性有严格需要的特点;而ARM9是系统集成度更高的SOC,适合跑WinCE、Linux等高级操作系统,用于教学是“大马拉小车”,这样造成学生在设计时往往不会关注资源、成本、可靠性的限制,就如同用一台PC进行教学一样,无法体现嵌入式教学的特点。
从应用方面,而ARM7芯片价格比ARM9低得多,而且ARM7芯片是目前嵌入式产品市场的主流,很多手机、小灵通等产品都是基于ARM7的,占到市场份额的90%以上;采用ARM7就如同目前单片机开发与教学绝大多数采用51体系一样,ARM7就是32位微处理器领域的51,有着持久的生命力。
2、ucos比起Linux,更适合初学者学习。 ucos内核精简,代码不长,且相关书籍和学习资源相当丰富,非常适合初学者学习。学习ucos可以很快地熟悉嵌入式操作系统的核心内容,比如:内核是如何工作的,任务如何创建,任务间如何通信,内存如何管理等内容。
经过一段时间的学习,可以真正理解嵌入式操作系统,对后期的学习和使用很有帮助。
Linux代码庞大,且操作复杂,不利于初学者学习。学习Linux是一项长期且复杂的工作,要掌握的东西很多,比如:Linux常用命令、Linux操作系统知识、Linux下的编程与交叉编译技术、Linux的驱动程序编写 等等。上面的每个知识点花一门课去讲授都不为过,把这么多内容都放在一起去理解,很难保证学习质量。
总之,观察了很多采用“ARM9+Linux”方案进行学习的学者,都经历了一段漫长而又痛苦的过程。对于初学者而言,采用这种方案的话,基本上是“不识庐山真面目,只缘身在此山中”。
二
平地起高楼,基础要打牢。很多学者有这样的心理:“要学我就要学最新最好的,要学就要学那种一学即能用的知识”,这种急功近利的想法是不对。
切记万事万物的发展都有其客观规律,违背其规律就是在揠苗助长,最终达不到你的预期效果。学习新事物也是一样,有其客观规律,比如:先易后难的启动规律、阶段性进步的螺旋式规律。
掌握这些规律后,你就知道,学习是需要由易到难,分阶段进行的。我认识很多朋友,一开始涉及嵌入式就在那倒腾着ARM9和Linux。可付出的努力并未收到良好的效果,甚至一些最基本的知识都没有掌握。这种学习不但很辛苦,反而大大打击了他的学习积极性。
所以,我给各位的建议是:平地起高楼,基础要打牢!根深方能蒂固!
三
在应用中学习,在应用中提高。一个对嵌入式普遍认同的定义是:嵌入式是以应用为中心,以计算机技术为基础,软件和硬件可裁剪,以适应应用系统对功能、可靠性、成本、速度、体积、功耗严格要求的专用计算机系统。
从定义中可以看出,嵌入式是以应用为中心的,在具体应用的前提下有针对性的进行软硬件裁剪,从而达到某些技术指标的严格要求。所以说,嵌入式是一门较高层次的应用科学。需要我们在应用中学习。
欧美的教育非常重视知识的应用。理论教学与实践教学紧密结合是德国职业教育“双元制”教学非常突出的特点。德国的职业学校不仅实验实习设备先进、实习工位充足,而且教师的实践动手能力强。他们在教学上特别重视从应用的角度来帮助学生掌握知识,培养学生的能力。
我们的教育是平面的、单一的,欧美的教育是动态的,多元的。他们教育首先是平面、静态的,然后再到立体、动态的,最后到实物观察讨论,这种多元的教学方式,能让学生把理论与实践紧密结合起来。
在应用中学习,在应用中提高,非常重要! 本人是从单片机转行过来的,我学了半年的ARM9+Linux。到头来什么都不会(也许是个人能力问题),后来在老师的建议下换成ARM7+ucos II才有起色,现在我的基础已经牢固,正在向高端进军。
上一篇:浅析基于ARM的智能灯光控制系统
下一篇:基于ARM的Arduino处理器板的蜂窝调制解调器模块设计
推荐阅读最新更新时间:2024-11-12 22:57
设计资源 培训 开发板 精华推荐
- 苹果妙控2代键盘改机械键盘(Cover Nosix)
- PL2303HXD验证板
- 智能电池管理系统
- LT3761EMSE-1 升压 LED 驱动器的典型应用电路,具有输出短路保护和内部生成 PWM
- IS31AP4912立体声耳机驱动器的典型应用
- 使用 ROHM Semiconductor 的 BU4831 的参考设计
- TLV431C 低压精密可调并联稳压器的典型应用
- LTC3642,用于从正 12V 输入电压产生负 24V 输出电压的电路
- 具有热降额功能的 LT3756EUD-1 30W 白光 LED 前照灯驱动器的典型应用电路
- 具有欠压锁定功能的 LT3990HMSE-3.3 5V 降压转换器的典型应用