<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ARM9</title>
	<atom:link href="https://www.aitaocui.cn/tag/182833/feed" rel="self" type="application/rss+xml" />
	<link>https://www.aitaocui.cn</link>
	<description>翡翠玉石爱好者聚集地</description>
	<lastBuildDate>Wed, 23 Nov 2022 09:12:34 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.1</generator>

<image>
	<url>https://www.aitaocui.cn/wp-content/uploads/2022/11/taocui.png</url>
	<title>ARM9</title>
	<link>https://www.aitaocui.cn</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ARM9(嵌入式处理器)</title>
		<link>https://www.aitaocui.cn/article/286707.html</link>
					<comments>https://www.aitaocui.cn/article/286707.html#respond</comments>
		
		<dc:creator><![CDATA[纽币]]></dc:creator>
		<pubDate>Wed, 23 Nov 2022 09:12:34 +0000</pubDate>
				<category><![CDATA[百科]]></category>
		<category><![CDATA[ARM9]]></category>
		<guid isPermaLink="false">https://www.aitaocui.cn/?p=286707</guid>

					<description><![CDATA[ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器，主要包括ARM9TDMI和ARM9E-S等系列。ARM9采用哈佛体系结构，指令和数据分属不同的总线，可以并行处理。ARM9...]]></description>
										<content:encoded><![CDATA[</p>
<article>
<p>ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器，主要包括ARM9TDMI和ARM9E-S等系列。ARM9采用哈佛体系结构，指令和数据分属不同的总线，可以并行处理。ARM920T体系结构将存储器看做是从零地址开始的字节的线性组合。ARM92OT体系结构可以用两种方法存储字数据，分别称为大端格式和小端格式。ARM9一般是有MMU的,ARM9940T只有MPU,不是一个完整的MMU。ARM920T的32位微处理器结构带有一个5阶管线，可以极低的功耗提供优异的性能。ARM9和ARM7的分枝指令周期是相同的。</p>
</article>
<p><img decoding="async" src="https://www.aitaocui.cn/wp-content/uploads/2022/08/20220828_630b7bf56abd6.png" /></p>
<article>
<h1>基本概述</h1>
<p>ARM9采用哈佛体系结构，指令和数据分属不同的总线，可以并行处理。在流水线上，ARM7是三级流水线，ARM9是五级流水线。由于结构不同，ARM7的执行效率低于ARM9。平时所说的ARM7、ARM9实际上指的是ARM7TDMI、ARM9TDMI软核，这种处理器软核并不带有MMU和cache，不能够运行诸如linux这样的嵌入式操作系统。而ARM公司对这种架构进行了扩展，所以有了ARM710T、ARM720T、ARM920T、ARM922T等带有MMU和cache的处理器内核。</p>
<div></div>
<h1>主要特性编辑</h1>
<p>融合了ARM920T™ ARM® Thumb®处理器</p>
<p>– 工作于180MHz时性能高达200MIPS，存储器管理单元</p>
<p>– 16-K字节的数据缓存，16-K字节的指令缓存，写缓冲器</p>
<p>– 含有调试信道的内部仿真器</p>
<p>– 中等规模的嵌入式宏单元结构(仅针对256 BGA封装)</p>
<p>· 低功耗：VDDCORE电流为30.4 mA待机模式电流为3.1mA</p>
<p>· 附加的嵌入式存储器</p>
<p>– SRAM为16K；ROM为128K</p>
<p>· 外部总线接口(EBI)</p>
<p>– 支持SDRAM，静态存储器，Burst Flash，无缝连接的CompactFlash®，</p>
<p>SmartMedia™及NAND Flash</p>
<p>· 提高性能而使用的系统外设：</p>
<p>– 增强的时钟发生器与电源管理控制器</p>
<p>– 两个有双PLL的片上振荡器</p>
<p>– 低速的时钟操作模式与软件功耗优化能力</p>
<p>– 四个可编程的外部时钟信号</p>
<p>– 包括周期性中断、看门狗及第二计数器的系统定时器</p>
<p>– 有报警中断的实时时钟</p>
<p>– 调试单元、两线UART并支持调试信道</p>
<p>– 有8 个优先级的高级中断控制器，独立的可屏蔽中断源，伪中断保护</p>
<p>– 7个外部中断源及1个快速中断源</p>
<p>– 有122个可编程I/O口线的四个32位PIO控制器，各线均有输入变化中断及开漏能力</p>
<p>– 20通道的外设数据控制器(DMA)</p>
<p>· 10/100 Base-T型以太网卡接口</p>
<p>– 独立的媒体接口(MII)或简化的独立媒体接口(RMII)</p>
<p>– 对于接收与发送有集成的28字节FIFO及专用的DMA通道</p>
<p>· USB 2.0 全速(12 M比特/秒)主机双端口</p>
<p>– 双片上收发器(208引脚PQFP封装中仅为一个)</p>
<p>– 集成的FIFO及专用的DMA通道</p>
<p>· USB 2.0 全速(12 M比特/秒)器件端口</p>
<p>– 片上收发器，2-K字节可配置的集成FIFO</p>
<p>· 多媒体卡接口(MCI)</p>
<p>– 自动协议控制及快速自动数据传输</p>
<p>– 与MMC及SD存储器卡兼容，支持两个SD存储器</p>
<p>· 3个同步串行控制器(SSC)</p>
<p>– 每个接收器与发送器有独立的时钟及帧同步信号</p>
<p>– 支持I2S模拟接口，时分复用</p>
<p>– 32比特的高速数据流传输能力</p>
<p>· 4个通用同步/异步接收/发送器(USART)</p>
<p>– 支持ISO7816 T0/T1 智能卡</p>
<p>– 硬软件握手</p>
<p>– 支持RS485 及高达115 Kbps的IrDA 总线</p>
<p>– USART1为全调制解调控制线</p>
<p>· 主机/从机串行外设接口(SPI)</p>
<p>– 8～ 16 位可编程数据长度，可连接4个外设</p>
<p>· 两个 3 通道16 位定时/计数器(TC)</p>
<p>– 3个外部时钟输入，每条通道有2 个多功能I/O引脚</p>
<p>– 双PWM 产生器，捕获/波形模式，上加/下减计数能力</p>
<p>· 两线接口(TWI)</p>
<p>– 主机模式支持，所有两线Atmel EEPROM 支持</p>
<p>· 所有数字引脚的IEEE 1149.1 JTAG边界扫描</p>
<p>· 电源供应</p>
<p>– VDDCORE，VDDOSC及VDDPLL电压为：1.65V ～1.95V</p>
<p>– VDDIOP (外设I/O) 及VDDIOM(存储器I/O)电压为：1.65V～ 3.6V</p>
<h1>主要特性</h1>
<p>TIOMAP730结构如图5所示。其中ARM926TEJ处理器的主要特性包括：⑴最高频率200MHz；⑵16KB指令高速缓存，8KB数据高速缓存；⑶硬件JAVA加速；⑷扩展多媒体指令集结构。</p>
<p>ARM微处理器是一种高性能、低功耗的32位微处器，它被广泛应用于嵌入式系统中。ARM9代表了ARM公司主流的处理器，已经在手持电话、机顶盒、数码相机、GPS、个人数字助理以及因特网设备等方面有了广泛的应用。</p>
<h1>体系特点</h1>
<p>结构特点</p>
<p>以ARM9E-S为例介绍ARM9处理器的主要结构及其特点。ARM9E-S的结构如图4所示。其主要特点如下：</p>
<p>⑴32bit定点RISC处理器，改进型ARM/Thumb代码交织，增强性乘法器设计。支持实时（real-time）调试；</p>
<p>⑵片内指令和数据SRAM，而且指令和数据的存储器容量可调；</p>
<p>⑶片内指令和数据高速缓冲器（cache）容量从4K字节到1M字节；</p>
<p>⑷设置保护单元（protection unit），非常适合嵌入式应用中对存储器进行分段和保护；</p>
<p>⑸采用AMBA AHB总线接口，为外设提供统一的地址和数据总线；</p>
<p>⑹支持外部协处理器，指令和数据总线有简单的握手信令支持；</p>
<p>⑺支持标准基本逻辑单元扫描测试方法学，而且支持BIST(built-in-self-test）；</p>
<p>⑻支持嵌入式跟踪宏单元，支持实时跟踪指令和数据。</p>
<p>ARM920T运行模式</p>
<p>ARM920T支持7种运行模式，分别为：</p>
<p>(1)用户模式(usr)，</p>
<p>ARM处理器正常的程序执行状态；</p>
<p>(2)快速中断模式(fiq)，</p>
<p>用于高速数据传输或通道处理；</p>
<p>(3)外部中断模式(irq)，</p>
<p>用于通用的中断处理；</p>
<p>(4)管理模式(svc)，</p>
<p>操作系统使用的保护模式；</p>
<p>(5)数据访问终止模式(abt)，</p>
<p>当数据或指令预取终止时进入该模式，可用于虚拟存储及存储保护；</p>
<p>(6)系统模式(sys)，</p>
<p>运行具有特权的操作系统任务；</p>
<p>(7)未定义指令中止模式(und)</p>
<p>当未定义的指令执行时进入该模式，可用于支持硬件协处理器的软件仿真。</p>
<p>ARM微处理器的运行模式可以通过软件改变，也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下，当处理器运行在用户模式下时，某些被保护的系统资源是不能被访问的。除用户模式以外，其余的6种模式称为特权模式;其中除去用户模式和系统模式以外的5种又称为异常模式，常用于处理中断或异常，以及访问受保护的系统资源等情况。</p>
<p>ARM920T的工作状态</p>
<p>从编程的角度看，ARM920T微处理器的工作状态一般有两种：</p>
<p>(1)ARM状态，此时处理器执行32位的、字对齐的ARM指令；</p>
<p>(2)Thumb状态，此时处理器执行16位的、半字对齐的Thumb指令。</p>
<p>ARM指令集和Thumb指令集均有切换处理器状态的指令，在程序的执行过程中，微处理器可以随时在两种工作状态之间切换，并且，处理器的工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时，应该处于ARM</p>
<p>状态。</p>
<p>当操作数寄存器的状态位(位0)为1时，可以采用执行BX指令的方法，使微处理器从</p>
<p>ARM状态切换到Thumb状态。此外，当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等)，当异常处理返回时，自动切换回Thumb状态。当操作数寄存器的状态位为0时，执行BX指令可以使微处理器从Thumb状态切换到ARM状态。此外，在处理器进行异常处理时，将PC指针放入异常模式链接寄存器中，并从异常向量地址开始执行程序，也可以使处理器切换到ARM状态。</p>
<p>ARM920T体系结构的存储器格式</p>
<p>ARM920T体系结构将存储器看做是从零地址开始的字节的线性组合。从0字节到3字节放置第1个存储的字数据，从第4个字节到第7个字节放置第2个存储的字数据，依次排列。作为32位的微处理器，ARM92OT体系结构所支持的最大寻址空间为4GB。</p>
<p>ARM92OT体系结构可以用两种方法存储字数据，分别称为大端格式和小端格式。大端格式中字数据的高字节存储在低地址中，而字数据的低字节则存放在高地址中</p>
<div></div>
<p>以大端格式存储数据</p>
<div></div>
<p>以小端格式存储数据</p>
<h1>优势</h1>
<p>1）.</p>
<p>时钟频率的提高</p>
<p>虽然ARM7和ARM9内核架构相同，但ARM7处理器采用3级流水线的冯·诺伊曼结构;，而ARM9采用5级流水线的哈佛结构。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内，在每一个时钟周期内同时有5个指令在执行。在常用的芯片生产工艺下，ARM7一般运行在100MHz左右，而ARM9则至少在200MHz以上。</p>
<p>2） 指令周期的改进</p>
<p>指令周期的改进对于处理器性能的提高有很大的帮助。性能提高的幅度依赖于代码执行时指令的重叠，这实际上是程序本身的问题。对于采用最高级的语言，一般来说，性能的提高在30%左右。</p>
<p>3）.MMU(内存管理单元）</p>
<p>ARM7一般没有MMU(内存管理单元），（ARM720T有MMU）。</p>
<p>ARM9一般是有MMU的,ARM9940T只有MPU ,不是一个完整的MMU。</p>
<p>这一条很重要，MMU单元是大型操作系统必需的硬件支持，如LINUX;WINCE等。这就是说，ARM7一般只能运行小型的实时系统如UCOS-II,eCOS等，而ARM9无此限制，一般的操作系统都可以移植。其实即使ARM720T能支持LINUX;WINCE等系统，也鲜有人用，因为以ARM7的运行速度跑这种大型操作系统，实在有点吃力。再者两者的应用领域明显不同，也无此必要。</p>
<h1>存在优势</h1>
<p>·EP930x处理器EP9301/EP9302是CirrusLogic公司新近推出的系列arm9芯片中的一种极具价格优势的处理器，它的高性能设计是许多消费和工业电子产品的理想选择。EP9301拥有先进的166兆赫ARM920T处理器（Ep9302为200兆赫），66兆赫系统总线(EP9302为100兆赫系统总线）以及支持Linux、WindowsCE和其它许多嵌入式操作系统的存储器管理器单元（MMU）。ARM920T的32位微处理器结构带有一个5阶管线，可以极低的功耗提供优异的性能。16K指令高速缓存和16K数据高速缓存可为现有的程序和数据提供零等待时间，或者也可被锁定，以确保对关键指令和数据的无延迟存取。另外Ep9302具有MaverickCrunch协处理器。这一协处理器显着提高了ARM920T的单/双精度整数及浮点运算能力。当对数字音频和视频格式进行编码、执行工业控制运算以及其它运算密集型计算和数据处理功能时，该协处理器可使EP9302具有高速精确计算能力。</p>
<p>常见问答：</p>
<p>⒈学习S3C2440有什么意义？</p>
<p>答：原因一，S3C2440是目前网络上资料、论坛最多的arm9处理器，对于学习或者开发者都能很便利的获取资料。原因二，S3C2440能够运行linux、wince等大型操作系统，构成非常典型的cpu+os嵌入式系统，嵌入式处理器种类繁多，不可能每一款都要去学习，一旦掌握了一个典型的cpu+os系统的开发就可以触类旁通了。</p>
<p>⒉ARM9的学习应该如何着手？</p>
<p>答：对于基础差的朋友，从单片机原理、c语言、操作系统原理下下工夫；对于学习过单片机的朋友，估计学arm最大的难点在于操作系统，重点熟悉下操作系统原理；对于基础已经不错的朋友，下工夫专研下嵌入式数据库、驱动编程、通信协议编程、内核裁剪；对于不清楚自己层次的朋友，可以直接拿板子跑，不懂的上网查资料，实践多了自然理解；最后就是切忌浮躁了，有的朋友今天装个ubuntu明天装个debian，后天装个fedroa&#8230;装了七八个版本最后也没搞明白怎么做开发，建议练习好基本功，什么技术都能很快掌握。</p>
<p>⒊嵌入式的职业前景如何？</p>
<p>答：硬说嵌入式比公务员前景还好，那是瞎说。对于没有什么背景，性格不太适合做销售的人，学习嵌入式练就一技之长还是不错的，嵌入式软硬结合不容易遭遇职业瓶颈，入门门槛高，待遇也不错，是个可持续发展的职业方向。</p>
<p>教程推荐：</p>
<p>经常有人让我推荐几本书，我觉得这几本还不错，但是我也很少看书，主要逛论坛下载电子资料。</p>
<p>《鸟哥的Linux私房菜基础学习篇》鸟哥人民邮电出版社（不是讲开发的，用于熟悉linux环境）</p>
<p>《Linux程序设计（第3版）》马修人民邮电出版社（主要讲linux开发的）</p>
<p>《ARM嵌入式Linux系统开发从入门到精通》李亚峰清华大学出版社（结合arm讲linux开发的）</p>
<p>《ARM体系结构与编程》杜春雷清华大学出版社（讲arm的好书）</p>
<p>《LINUX内核源代码情景分析（上/下册）》毛德操浙江大学出版社（高手必备，初学不建议购买）</p>
<p>《WindowsCE工程实践完全解析（WindowsCE项目开发实践丛书）》李大为中国电力出版社（讲wince的好书）</p>
<p>《WindowsCE开发实例精粹（嵌入式技术与应用丛书）》张冬泉电子工业出版社（讲wince的好书）</p>
<p>《μC/OS-2源码公开的实时嵌入式操作系统》中国电力出版社邵贝贝（看完这本书再实验下那5个例子，ucos就掌握了）</p>
<h1>指令</h1>
<p>⒈loads 指令与n stores指令</p>
<p>指令周期数的改进最明显的是loads指令和stores指令。从ARM7到ARM9这两条指令的执行时间减少了30%。指令周期的减少是由于ARM7和ARM9两种处理器内的两个基本的微处理结构不同所造成的。</p>
<p>⑴ARM9有独立的指令和数据</p>
<p>存储器接口，允许处理器同时进行取指和读写数据。这叫作改进型</p>
<p>哈佛结构。而ARM7只有数据存储器接口，它同时用来取指令和数据访问。</p>
<p>⑵5级流水线引入了独立的存储器和写回流水线，分别用来访问存储器和将结果写回</p>
<p>寄存器。</p>
<p>以上两点实现了一个周期完成loads指令和stores指令。</p>
<p>⒉互锁(interlocks）技术</p>
<p>当指令需要的数据因为以前的指令没有执行完而没有准备好就会产生管道互锁。当管道互锁发生时，硬件会停止这个指令的执行，直到数据准备好为止。虽然这种技术会增加代码执行时间，但是为初期的设计者提供了巨大的方便。编译器以及汇编程序员可以通过重新设计代码的顺序或者其他方法来减少管道互锁的数量。</p>
<p>⒊分枝指令</p>
<p>ARM9和ARM7的分枝指令周期是相同的。而且ARM9TDMI和ARM9E-S并没有对分枝指令进行预测处理。</p>
<h1>典型应用</h1>
<p>TI公司的OMAP730是最新的无线通信基带信号处理器。该处理器是TI的GPRS Class 12通信模块与专用于应用处理的ARM926通用处理器（GPP）的集成。由于GPP的速度可达200MHz，因此OMAP730具有两倍于上一代OMAP710处理器的应用处理性能。如同所有的OMAP处理器一样，OMAP730可支持领先的移动</p>
<p>操作系统，其中包括Microsoft的智能电话与Pocket PC PhoneEdition、Symbian OS与Series 60、Palm OS以及Linux。</p>
<h1>ARM9开发板</h1>
<p>ATMEL是ARM公司重要的合作伙伴，其基于ARM9系列AT91SAM9x5系列芯片应用非常广泛，而作为ARM公司的中国区代理商，米尔科技开发了针对ARM9的全功能开发板，其中有MDK例程，LINUX系统和android系统，开发板详情：</p>
<p>MYD-SAM9X25开发板</p>
<p>MYD-SAM9X35开发板</p>
<p>MYD-SAM9G15开发板</p>
<p>MYD-SAM9G25开发板</p>
<p>MYD-SAM9G35开发板</p>
</article>
<div class="mt-3 mb-3" style="max-width: 770px;height: auto;">
                                    </div>
<div class="mt-3 mb-3" style="max-width: 770px;height: auto;">
                                    </div>
<div class="mt-3 mb-3" style="max-width: 770px;height: auto;">
                                    </div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aitaocui.cn/article/286707.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
