查看原文
其他

困扰ARM嵌入式初学者的若干问题

嵌入式ARM 2021-01-31


转自网络


对于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嵌入式系列教程” 已在清华大学出版社出版,本套教材由《ARM嵌入式应用技术基础》、《ARM嵌入式接口技术应用》和《ARM嵌入式应用实例》3本书组成,整套教程历时3年完成。该系列教程是以ARM7内核处理器和μC/OS-II嵌入式操作系统为主线,采用“入门篇”—>“提高篇”—>“实战篇”的结构体系,引导初学者一步一步地登入ARM与嵌入式的应用殿堂。



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存