本文是写给准备学习ARM技术,而又没想好要学ARM7还是ARM9或者对ARM7与ARM9的区别不是很了解的初学者。希望本文对你们有点用处。

由于职业的关系,经常会回答一些ARM初学者的问题,虽然问题千奇百怪,但以下两个问题绝对很有代表性。

1.ARM7和ARM9的都有些什么区别?

2.我准备学ARM,但不知是选ARM7还是ARM9好?

也许这些问题在大虾们的眼里已不是问题,但对于初学者确实很具必要弄清楚。

 

先说下:ARM7和ARM9的区别。

1 ARM9比ARM7时钟频率高

虽然ARM7和ARM9内河架构相同,但ARM7处理器采用3级流水线的冯·诺伊曼结构;,而ARM9采用5级流水线的哈佛结构。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9E则至少在200MHz以上。

2. ARM9普遍带有MMU(内存管理单元)

      ARM7一般没有MMUARM720T有MMU)。ARM9一般是有MMU的(ARM9940T只有MPU)。这一条很重要,MMU单元是大型操作系统必需的硬件支持,如LINUX;WINCE等。这就是说,ARM7一般运行在小型的实时系统上,如UCOS-II,eCOS等,而ARM9则可以运行LINUX;WINCE等大型操作系统。其实即使ARM720T能支持LINUX;WINCE等系统,也鲜有人用,因为以ARM7的运行速度跑这种大型操作系统,实在有点吃力。再者两者的应用领域明显不同,也无此必要。

4.  ARM7相比比ARM9具备更好的性能功耗比;价格更便宜;同等条件下,稳定性更强!

5.  在从ARM7到ARM9的平台转变过程中,有一件事情是非常值得庆幸的,即ARM9能够完全地向后兼容ARM7上的软件;并且开发人员面对的编程模型和架构基础也保持一致。

 

再来说一下初学者是选ARM7还是ARM9。

1.明确目的

  学习为应用。你学ARM准备用在什么地方,如果是一般性控制系统或仅仅用来替换8获16位单片机,ARM7显然是首选;但如果用在网络通信或大型的音视频处理等,则ARM9较合适。

2.自身基础

   学习ARM的一般有三类人:

一是计算机专业的

  这类人对操作系统等软件知识了解较多,而对硬件知识知之甚少,显然这类人学ARM的话还是做软件好,可以基于LINUX;WINCE等操作系统的ARM9更能符合这类人的要求,当然也有很多计算机专业的人从事ARM7系统的应用软件编写的。但是搞底层的就很少了。

二是电子类专业的

这类人的硬件基础了相对较好,相反操作系统,数据库等软件知识则差强人意。因此人多电子专业的人员都熟悉单片机,用单片编写点小程序还不在话下,但要用ARM做较大型的软件则有点力不从心。尤其是LINUX;WINCE这种操作系统不是三两个月能轻松搞定的。建议这类人员如无特别需要还是从ARM7和小型操作系统学起。够用就好,不要盲目追求高端。有一点要注意并不是从事ARM9的就比ARM7工资高,反而ARM7的就业机会比ARM9多,这很好理解,好比金字塔,越往顶肯定越小。从ARM芯片的销售量来看,ARM7的每年的销售量是ARM9的数十倍!所有从业者需求也多。

三是软硬件基础都不太好的

这类人员有确实需要的,也有赶时髦的,如无大的学习决心还是参加培训的好。当然也可曲线救国,搞懂单片机后,ARM7就不难了。

    最后说一点关于开发板的,初学者买个开发板确实很有必要,但也要选择合适的,初学者合适的就是,资料齐全,有配套教程和学习指导,再加上较及时的技术支持。目前能做到的很少,开发板这东西不是说哪家公司有名气,售后就好,很多大公司一般不理个人买家的问题的,我感觉多半是运气,运气好了也许能碰到一家售后好的。

2012年09月16日

ARM初学者必读

更新时间:

当前分类:

269207767

来源:                   点击数:

  • 评论列表
  • 发表评论

用户评论

共有评论 0 条

对不起,暂时没有内容!

本网站由阿里云提供云计算及安全服务 Powered by CloudDream