ARM9采用哈佛体系结构,指令和数据分属不同的总线,可以并行处理。在流水线上,ARM7是三级流水线,ARM9是五级流水线。由于结构不同,ARM7的执行效率低于ARM9。平时所说的ARM7、ARM9实际上指的是ARM7TDMI、ARM9TDMI软核,这种处理器软核并不带有MMU和cache,不能够运行诸如linux这样的嵌入式操作系统。而ARM公司对这种架构进行了扩展,所以有了ARM710T、ARM720T、ARM920T、ARM922T等带有MMU和cache的处理器内核。本文首先介绍了ARM9的优势及特点,其次阐述了ARM9要学的内容汇总以及书籍推荐,最后介绍了ARM9入门学习心得。
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的运行速度跑这种大型操作系统,实在有点吃力。再者两者的应用领域明显不同,也无此必要。
ARM9的特点
1、提供1.1MIPS/MHz的哈佛结构。
2、支持32位ARM指令集和16位Thumb指令集。
3、支持32位的高速AMBA总线接口。
4、全性能的MMU,支持WindowsCE,Linux,PalmOS等多种主流嵌入式操作系统。
5、MPU支持实时操作系统。
6、支持数据Cache和指令Cache,具有更高的指令和数据处理能力。大小都为16K.
ARM9要学的内容汇总
1、学习Linux系统安装、常用命令、应用程序安装。
2、学习Linux 下的 C 编程、这本书必学《UNIX 环境高级编程》、《UNIX网络编程》,Rechard Stevens 写的,C 高手大都学习过《C 和指针》、《C 缺陷与陷阱》、《高质量C/C++编程指南》、《C 专家编程》、《The C programming Language》
3、程序员大都要学:数据结构,嵌入式程序员数据结构必学!
4、底层开发人员大都要学:微机原理、计算机体系结构,嵌入式开发人员必学!
5、单片机可以让一个从事软件开发的人了解和如何操作硬件,有必要学,因为一开始就从 ARM 入手,不太现实!
6、ARM 体系结构,其中有汇编。
7、数字电路有必要学习,不然你在做底层开发时真的会不知道怎么看原理图,起码也得懂与或门吧。
8、ARM + Linux 应用程序开发。(前提是要有开发板)到此,你勉强算是在嵌入式Linux 这个行业有了初步入门了吧, 但遗憾的是这还远远不够!
9、要做底层开发,就必须知道软硬件之间是如何衔接和配合工作的,那么电子技术应该要好好学习了,很多时候会用到模拟电路知识,这是区别好手与菜鸟的不同之处之一。
10、Linux 下的汇编要学,这样你才能真正了解你写的程序是如何在一个特定的硬件上跑的。这是区别好手与菜鸟的不同之处之二。
11、TCP/IP 协议栈要学,所有的嵌入式高手都得掌握的东西,这是区别好手与菜鸟的不同之处之三。
12、有了这些东西,拿下 Linux 驱动已经不再话下,需要你去学习 Linux 内核源代码和Linux驱动程序设计,这是一个技术升华。
14、各种 IC ,各种 bootloader 你能够参与其开发设计。
ARM9入门书籍推荐
1、《ARM 嵌入式系统开发 ------ 软件设计与优化》
2、《Arm程序分析与设计》
3、《鸟哥的Linux私房菜》
4、《Qt GUI Design》
5、《Linux 高级程序设计》
6、《构建嵌入式Linux系统》
ARM9入门学习心得
1、关于裸机程序下载的问题,使用J-link的情况下:
(1)、额外的电源线供电,开发板能正常工作的前提一定要有电源供电;
(2)、连接J-link,J-link在2440开发的过程中的作用有两个:
第一、是用于下载2440.jflash程序,
第二、用于下载U-boot到Nor Flash
配合使用的,还有J-Flash ARM软件,打开J-Flash ARM,然后open project-》s3c2440.jflash,加载该程序后,点击Target-》connect,连接到ARM开发板,注意执行此操作之前,ARM开发板应该已经上电且和PC之间连接了J-Link,J-link需要提前装好驱动。连接成功后,说明PC端软件和ARM开发板之间已经建立连接,可以下载程序。
保证此时的Flash启动开关在Nor flash上(上电之前就应该拨到Nor 启动),然后open data file-》u-boot.bin,加载u-boot程序,加载成功后,选择地址0,选择Target-Auto,就会下载U-boot到开发板了。
2、下载U-boot的作用是为了开发板能被PC的控制指令引导,主要是为了交互,便于后期的程序下载。
3、使用串口终端secureCRT用于终端控制,Nor 启动,上电后,会自动发送消息到该终端。此时用空格停止u-boot引导后,输入n,,将会将裸机程序下载到Nand Flash,此时开发板就会接收到命令,等待PC下载裸机程序
4、使用DNW软件,发送要下载的裸机程序。Transmit。
5、以上3和4可使用Linux下直接完成,使用minicom软件和Linux下 的DNW软件。
-
arm9
+关注
关注
2文章
290浏览量
55031
发布评论请先 登录
相关推荐
评论