一. 谈谈ARM7与ARM9的差异:
本文是写给预备学习ARM技能,而又没想好要学ARM7仍是ARM9或许对ARM7与ARM9的差异不是很了解的初学者。期望本文对你们有点用途。
由于作业的联系,经常会答复一些ARM初学者的问题,尽管问题千奇百怪,但以下两个问题肯定很有代表性。
ARM7和ARM9都有些什么差异?
我预备学ARM,但不知是选ARM7仍是ARM9好?
或许这些问题在大虾们的眼里已不是问题,但关于初学者的确很具必要弄清楚。先说下:ARM7和ARM9的差异。
1. 时钟频率的进步
尽管ARM7和ARM9内核架构相同,但ARM7处理器选用3级流水线的冯·诺伊曼结构;,而ARM9选用5级流水线的哈佛结构。添加的流水线规划进步了时钟频率和并行处理才能。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内一起有5个指令在履行。在常用的芯片生产工艺下,ARM7一般运转在100MHz左右,而ARM9则至少在200MHz以上。
2 指令周期的改善
指令周期的改善关于处理器功能的进步有很大的协助。功能进步的起伏依赖于代码履行时指令的堆叠,这实际上是程序自身的问题。关于选用第一流的言语,一般来说,功能的进步在30%左右。
3.MMU(内存办理单元)
ARM7一般没有MMU(内存办理单元),(ARM720T有MMU)。
ARM9一般是有MMU的,ARM9940T只要MPU ,不是一个完好的MMU。
这一条很重要,MMU单元是大型操作体系必需的硬件支撑,如LINUX;WINCE等。这便是说,ARM7一般只能运转小型的实时体系如UCOS-II,eCOS等,而ARM9无此约束,一般的操作体系都能够移植。其实即便ARM720T能支撑LINUX;WINCE等体系,也鲜有人用,由于以ARM7的运转速度跑这种大型操作体系,真实有点费劲。再者两者的使用范畴显着不同,也无此必要。
4. ARM7比ARM9供给了更好的功能-功耗比。它包含了THUMB指令集快速乘法指令和ICE调试技能的内核。
5. 在从ARM7到ARM9的渠道改变过程中,有一件作业对错常值得幸亏的,即ARM9E能够彻底地向后兼容ARM7上的软件;而且开发人员面临的编程模型和架构根底也保持一致。
二. 再来说一下初学者是选ARM7仍是ARM9?
1)清晰意图
学习为使用。你学ARM预备用在什么地方,假如是一般性控制体系或只是用来替换8获16位机,ARM7明显是首选;但假如用在网络通讯或大型的音视频处理等,则ARM9较适宜。
2)自身根底
学习ARM的一般有三类人:
一是计算机专业的:这类人对操作体系等软件常识了解较多,而对硬件常识知之甚少,明显这类人学ARM的话仍是做软件好,能够根据LINUX;WINCE等操作体系的ARM9更能契合这类人的要求,当然也有许多计算机专业的人从事ARM7体系的使用软件编写的。可是搞底层的就很少了。
二是电子类专业的:这类人的硬件根底了相对较好,相反操作体系,数据库等软件常识则差强人意。因而人多电子专业的人员都了解单片机,用单片编写点小程序还不在话下,但要用ARM做较大型的软件则有点无能为力,尤其是LINUX;WINCE这种操作体系不是三两个月能轻松搞定的。主张这类人员如无特别需求仍是从ARM7和小型操作体系学起。够用就好,不要盲目寻求高端。有一点要注意并不是从事ARM9的就比ARM7薪酬高,反而ARM7的就业时机比ARM9多,这很好了解,比如金字塔,越往顶肯越小。
三是软硬件根底都不太好的:这类人员有的确需求的,也有赶时髦的,如无大的学习决计仍是参与训练的好。当然也可曲线救国,搞懂单片机后,ARM7就不难了。
最终说一点关于开发板的,初学者买个开发板的确很有必要,但也要挑选适宜的,初学者适宜的便是,资料齐全,有配套教程和学习辅导,再加上较及时的技能支撑。
http://www.cndzz.com/download/4094_0/102256.html
三、选UCOS?UCLINUX?LINUX?VXWORKS?仍是当单片机用?
1 搞开发,工程规划,用UCOS,细巧,多进程,简略,表现了ARM7的精华。
2 LINUX 正根的嵌入式体系,LINUX消费与通讯范畴用的比较多,但缺陷是有必要ARM9才能跑,ARM9的板子自己做就不行了,6层板太贵。买开发板1K达底吧。可是仍是引荐选ARM9+LINUX
3 UCLINUX 算投机嵌入式体系:ARM7上能够跑,由有LINUX近亲,学好能够比较便利的转向LINUX,像我相同的穷鬼用吧,呵呵
4 VXWORKS:学好后能够找到高薪作业,但作业时机自身并不比LINUX好找。
5 当单片机用:不引荐,由于关于学习来说多进程的体系规划才是ARM7的玩头,至少你也要整个UCOS啊;有朋友问我先学这个当根底不行吗?那当然能够~~但我其时就用了1周搞定,便是我先的ADS在RAM中调试的笔记。后来我清空FLASH用的小段程序仍是其时写的LED闪耀程序呢。别的1周里其间还由于自己过于菜,没把OM设置好导致晶阵不阵哈哈。这个是有必要做的,但一带而过。方针放的远一点。