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驱动程序设计,这是一个技术升华。
13、音频、视频的解码译码技术你得学。
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软件。
51ROBOT:展示了其工业机器人的全新产品和服务理念,助力中国智能制造升级
AMD三代撕裂者曝光 多线程性能猛增30.5%
恩智浦推出全球最小、集成微控制器的单芯片SoC,适合无人机、机器人、电动工具、直流风扇及健康保健应用
汽车级电阻的标准都有哪些?
教你用正确的姿势来洗净你的爱车
ARM9入门学习心得分享
基于CMW500的数据应用测试
通讯难题,林创给你支招/手机信号放大器
海伯森高端智能传感器,赋能工业“感知”,助力中国智造腾飞
Holtek推出BC45B4523 13.56MHz多协议NFC,可配合多种类型NFC标签
真空电磁阀和普通电磁阀的区别
人工智能可进行更准确的视力测试
煤矿生产高精专,选矿厂 3D 可视化监管,实现提质增效
总结了60种硬件工程师常用封装实物图
重金属快速检测仪的特点都有哪些
速度继电器主要用作什么控制_速度继电器电路符号
Silicon Labs推出具有强大10kV电压浪涌保护的数字隔离产品
村田商品化2016尺寸、低直流电阻、支持大电流且高耐压的车载用金属功率电感器
DCDC电路中的前馈电容应用
锂铁电池工作性能及原理