如何才能快速的学习ARM单片机。我有51的基础

作者&投稿:晋彼 (若有异议请与网页底部的电邮联系)
对一个有单片机基础的人来说,如何学习ARM?~

计都有应用内嵌ARM内核的芯片,比如cortex-M0,cortex-M3,cortex-M4等等,已经愈演愈烈,成本上传统的单片机所占有的价格优势已经越来越低。基于ARM内核芯片的应用将会越来越多。要开始学习,建议你搞一个开发板,至少ARM9以上吧,6410或者2440。资料都蛮多,高屋建生。从UBOOT学起。阅读源码。看懂源码。必备书籍:1.ARM嵌入式系统开发-软件设计与优化 2.ARM体系结构与编程第一本书尤其好。ARM的官方提供的文档也有很大的参考价值。通过UBOOT的学习,你会对ARM内核有了“一定”层次的深入理解,MMU、CACHE还有它的指令集,中断,工作模式等等,包括对汇编语言你也会有很多的学习。编程和硬件的功力也将渐进。你有单片机的基础,如果不涉及操作系统的话,ARM和单片机无异,顶多算一个加强版本的的单片机。刚开始可以选择UCOSII好好学学。对入门操作系统很有裨益。

其实这些东西都属于嵌入式方向,。你C语言基础比较好,学起来应该比较容易。在说你的导师是做图像处理的,那么也就是不是做底层的,应该对你的硬件要求不是很高。建议你:先了解一下DSp,ARM的硬件,不要求了解很深。在看看关于一些图像处理的代码,了解一些数字信号处理的过程。

一、先有目标,再去定位。
学 ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件上讲,就是要学习基于ARM处理器的操作系统层面 的驱动、移植了。这些对于初学都来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级以上基于 API的应用层的编程,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还是要会的。因此针对于嵌入式系统的硬件层和驱动程的人,ARM的接 口电路设计、ARM的C语言和汇编语言编程及调试开发环境还是需要掌握的。
因此对于初学者必然要把握住方向,自己的目标是什么,自己要在那一层面上走。然后再着手学习较好,与ARM相关的嵌入式系统的较为实际的两个层面硬件层和驱动层,不管学好了那一层都会很有前途的。
如果想从嵌入式系统的应用层面的走的话,可能与ARM及其它体系相去较远,要着重研究基嵌入式操作系统的环境应用与相应开发工具链,比如WinCe操作系统下的EVC应用开发(与windows下的VC相类似),如果想再有突破就往某些音视频类的协议上靠,比如VOIP领域的基于SIP或H.323协议的应用层开发,或是基于嵌入式网络数据库的开发等等。

二、嵌入式系统的分层与专业的分类。
嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。
1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。 硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。

2、 驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导 至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的 驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不 就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可 是最高的。
驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。

3、操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。

4、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环 境有相应的变化而已。如果涉及Jave方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌 入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂, 并且有难度了。

想快就要花钱,去买块周立功的ARM9板,里面有实验源代码,实验指导书,把实验全做完就什么都搞懂了,去电驴上下一些ARM的教学视频,比如<手把手交你学ARM>,力天电子出品,不懂得地方看看视频就行了.有51的基础的话在接触ARM你会感觉到挺简单甚至有点枯燥,不过ARM的精华在于它可以移植系统,所以一定要坚持学习,当你把ARM体系结构看懂了之后,可以研究一下启动代码,然后进入移植操作系统的学习,比较经典的就是UCOSII,看看邵贝贝翻译的UCOSii操作系统.
反正我就是这么走过来的.这个学期刚接触的ARM感觉比较简单,大概是学的不够深吧.


如何高效学习?
这里可以运用一个“PDCA”循环原则(P-Plan,D-Do,C-Check,A-Action),即每一个行动开始之前都要拟定目标计划再执行,对过程中的关键点和最终结果进行检查,纠正偏差,对成果进行标准化,并确定新的目标,制定下一轮计划。相信很多人都有这种经验,所有的执行动作都有这样一次“循环”。比如学习专业...

如何提高学习效率ppt
这样才能把学习的知识融会贯通,达到系统掌握,触类旁通和举一反三的目的。6、认真分析批改后的作业。老师把作业批改发回来后,—定要尽快翻阅,认真分析、耐心反思。对做对的题目,想—想是采用什么样的思维和方法做对的,以后遇到类似的题能不能触类旁通;对做错的题,要找出做错的原因。是由于慌张...

怎样好好学习
早在1885年,德国的心理学家艾滨浩斯,通过实验发现刚记住的材料,一小时后只能保持44%;一天后能记住33%;两天后留下的只有28%;六天后为25%。所有的人,学习的知识都会发生先快后慢的遗忘过程。一些记性好的学生是因为能经常从不同的角度、不同的层次上进行复习,做到“每天有复习,每周有小结,每...

小白自学JAVA怎么入门?
建议三:很多人都会有一个疑问,就是学习Java能看懂,但是不会写,所以学习Java一定要掌握一个有效率的学习方法,一个适合自己的学习方法,作为一个新人,千万不要自己瞎摸索,没有必要,可以请教别人一定要去问。建议四:一定要有一个明白人去指导你,Java的专业程度很强,80%的问题自己很难解决,而且...

最佳学习方法。什么样的学习方法才是最适合自己的学习方法?
最佳学习方法。什么样的学习方法才是最适合自己的学习方法?每个人的情况千差万别,因此,每个人根据自己的情况所总结出来的学习方法也应该是千差万别的。在理论上,每个人都应当可以... 最佳学习方法。什么样的学习方法才是最适合自己的学习方法?每个人的情况千差万别,因此,每个人根据自己的情况所总结出来的学习方法...

什么是科学的学习方法
学习效率是决定学习成绩的重要因素。那么,我们如何提高自己学习效率呢? 第一点,要自信。很多的科学研究都证明,人的潜力是很大的,但大多数人并没有有效地开发这种潜力,这其中,人的自信力是很重要的一个方面。无论何时何地,你做任何事情,有了这种自信力,你就有了一种必胜的信念,而且能使你很快就摆脱失败的阴影...

怎么在A++里学习
还有许多名校试卷、模拟试卷对提高我的解题能力、扩大视野非常有帮助。从不会学习,茫然不知从何下手变得会学习,而且还能取得这么好的成绩,可真多亏了我的超级学习助手 A++ ,相信你们有了它也会和我一样取得更好的成绩,说不定会有更大的惊喜呢!你信吗 可以试试 ...

适合我的学习方法
一张作息时间表也许不能解决你所有的问题,但是它能让你了解如何支配你这一周的 时间,从而使你有充足的时间学习和娱乐。 二、学前预习。这就意味着在你认真投入学习之前,先把要学习的内容快速浏览一遍,了解学习的大致内容及结构,以便能及时理解和消化学习内容。当然,你要注意轻重详略,在不太重要的地方你可以花少...

考上牛津大学的四位杭州女生有何学英语窍门?
邢瀚月把快速学习能力归因于高效的时间管理,她在这方面颇有心得,学习A-level期间每天排得满满当当,但都是按区块安排任务,邢瀚月大力推荐“番茄工作法”,“就是一种奖励机制,学25分钟,奖励休息5分钟,每4个番茄时段多休息会儿,这样特别有动力。”在这样的学习压力下,能有志同道合的小伙伴就更好...

我现在初二,但我的英语基础几乎为零,我该怎么办啊!!
但有一点是肯定的,那就是你必须有正确的学习英文的方法。实际上,学习英语如按照正确的方法去做,你很快就会入门。从入门到能用英语交际也就是一二年的工夫。因此,如果一直是按照正确的方法做,你很快就能学好英语。 (三)重复原则 英语有句谚语"Repetition is the mother of skills(重复是技能之母)"。你可以回忆...

沅江市18416243169: 如何才能快速的学习ARM单片机.我有51的基础 -
主诞妇科: 想快就要花钱,去买块周立功的ARM9板,里面有实验源代码,实验指导书,把实验全做完就什么都搞懂了,去电驴上下一些ARM的教学视频,比如<手把手交你学ARM>,力天电子出品,不懂得地方看看视频就行了.有51的基础的话在接触ARM你会感觉到挺简单甚至有点枯燥,不过ARM的精华在于它可以移植系统,所以一定要坚持学习,当你把ARM体系结构看懂了之后,可以研究一下启动代码,然后进入移植操作系统的学习,比较经典的就是UCOSII,看看邵贝贝翻译的UCOSii操作系统.反正我就是这么走过来的.这个学期刚接触的ARM感觉比较简单,大概是学的不够深吧.

沅江市18416243169: 我想学arm单片机,但是根本就不知道从哪里学起. -
主诞妇科: 你51有基础,把基础打牢了,然后搞Arm,arm就选Stm32吧,毕竟是主流,网上买个开发板,自己调试一些基本程序,就和51一样.把它每部分编程都弄清楚了之后,要学操作系统了,先学ucos把,这个精通了之后再搞linux,不过这是后话了,之前说那些够搞一阵了

沅江市18416243169: 想快速学习arm编程怎么学?零基础,没接触过51单片机的情况下...会C语言,求推荐方法或书籍,视频也可 -
主诞妇科: 先买本ARM体系的指令集方面的书吧.....ARM你就当他是高级单片机吧.....如果可能可以选LINUX的书籍配合....觉得难了就选WINDOWS CE吧....实在不行就选一个好像C++的实例控制方面的书籍,现成的码源,硬件结构.....你也可以试试........说实话,我觉得这玩意儿很枯燥的......祝你好运.....

沅江市18416243169: 如何学习ARM?
主诞妇科: 简单一点: 1、买块arm9 开发板,s3c2410/s3c2440都可,资源异常丰富,上手快. 2、编裸机程序,学arm汇编,用MDK3.5开发环境. 3、有一定基础后,学习c语言,再学习linux.

沅江市18416243169: 怎样快速学好ARM?入门?学什么书好?
主诞妇科: 1.有一定的单片机基础 2.从ARM的BOOTLOADER学起,这一环节主要是熟悉ARM的中断机制等 3.在开发板移植系统,这就要求学习操作系统mcos,linux ,还得学习他们的图形开发环境 4.自己编写各种外部硬件的驱动,如鼠标键盘USB等

沅江市18416243169: 怎样学习ARM单片机
主诞妇科: 会51吗?会C吗?如果不会的话就有点难度哦!会的话就学起来稍微轻松一点,只是轻松一点.学ARM肯定要先看汇编指令的,等指令看完了呢,就先看看别人写的汇编程序,能看懂就行了.然后了解ARM运行次序,首先不要过多的琢磨启动...

沅江市18416243169: 怎样学好ARM???
主诞妇科: 哈哈,谈点切身感受 1.有一定的单片机基础 2.从ARM的BOOTLOADER学起,这一环节主要是熟悉ARM的中断机制等 3.在开发板移植系统,这就要求学习操作系统mcos,linux ,还得学习他们的图形开发环境 4.自己编写各种外部硬件的驱动,如鼠标键盘USB等 一步步来,我有些资料,需要的话联系

沅江市18416243169: 新手如何学好ARM? -
主诞妇科: 个人认为,比较实用的是上手调试驱动程序 建议: 购买周立功的arm7的子板和母板进行调试学习 周立功会根据母板的配置,给你许多驱动程序,你把驱动程序都调试一遍,就可以初步的了解ARM了 光看书,基本上没用 想学好硬件,都要从点亮一个LED等开始,循序渐进 有51作为基础的话,应用程序部分对你来讲应该不是很难,你可以借助ARM评估板所提供的接口,调试并成功调用其他驱动程序,来完成一个完整的应用

沅江市18416243169: arm应该怎么学对于初学者? -
主诞妇科: 其实如果你的基础不错,单片机和C语言的基础还可以,那么学习arm还是比较容易上手的,但是他和单片机还是有很大区别的.对于你的情况,我建议你尽快买一个ARM9开发板,用的比较多的是s3c2440开发板,这个板子网上的资料有很多,而且价格在500多,性价比还是比较高的.然后你首先要对arm有个整体性的了解,现在资料比较好的是华清远见推出的arm7视频培训教程,无论是初学者还是开发人员,都能学到很多有用的东西.我现在也在学习中.对他有个了解后,你再确定自己的最终方向,可以做驱动开发,可以做应用开发.总之做的东西很多.我的qq1206744689

沅江市18416243169: 新手学习ARM -
主诞妇科: 没学过单片机也没有关系,只要对微机原理比较熟悉就可以了,要对计算机基础知识有较深的了解,懂得寻址、编码、寄存器等基础知识,对数字电路有深入了解.建议你学习《微机原理》、《数字电子技术》这两个课程.如果学过就可以直接...

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网