精华内容
下载资源
问答
  • arm11 specificaion

    2020-08-20 16:20:47
    arm11programmer guide. arm11 architecture and memory manangement unit
  • ARM7 ARM 11

    千次阅读 2011-09-11 18:23:55
    ARM9、ARM11是哈佛结构,所以性能要高一点。 ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。 不跑操作系统,价格低一点的:ARM7、cortex-M3等等。 性价比高,可跑也可不跑操作系统的:ARM9、cortex...
    ARM7是冯诺依慢结构
    ARM9、ARM11是哈佛结构,所以性能要高一点。
    ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。
    不跑操作系统,价格低一点的:ARM7、cortex-M3等等。
    性价比高,可跑也可不跑操作系统的:ARM9、cortex-Rx等等。
    性能高的,通常要跑操作系统的:ARM10、ARM11、Cortex-A8等等。
    成熟的:ARM7\ARM9\ARM11。
    发展趋势:Cortex-A、Cortex-R、Cortex-M。
    其实弄ARM大多还是在嵌入式领域,不过现在很多上网本也开始ARM了,估计与intel竞争的时候快来了。
    2410和2440都是三星公司生产的基于ARM9内核的芯,资源上相差不大,2440多了camara接口,速度要更快一些。上边讲的版本是指内核版本,而各个公司出的发行号又各有不同。比如三星的2440,atmel的9260.就好比linux的内核版本号与红帽子的发行号不一样是一个道理。


    ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。



    RM7是冯诺依慢结构,三级流水线结构
    ARM9、ARM11是哈佛结构,5级流水线结构,所以性能要高一点。
    ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。

    我们惯称的 ARM9系列中又存在ARM9与ARM9E两个系列,其中ARM9 属于ARM v4T架构,典型处理器如ARM9TDMI和ARM922T;而ARM9E属于ARM v5TE架构,典型处理器如ARM926EJ和ARM946E。因为后者的芯片数量和应用更为广泛,所以我们提到ARM9的时候更多地是特指ARM9E系 列处理器(主要就是ARM926EJ和ARM946E这两款处理器)。下面关于ARM9的介绍也是更多地集中于ARM9E。

    ARM7处理器和ARM9E处理器的流水线差别

    对嵌入式系统设计者来说,硬件通常是第一考虑的因素。针对处理器来说,流水线则是硬件差别的最明显标志,不同的流水线设计会产生一系列硬件差异。让我们来比较一下ARM7和ARM9E的流水线,如图1。

    可 以看到ARM9E从ARM7的3级流水线增加到了5级,ARM9E的流水线中容纳了更多的逻辑操作,但是每一级的逻辑操作却变得更为简单。比如原来 ARM7的第三级流水,需要先内部读取寄存器、然后进行相关的逻辑和算术运算,接着处理结果回写,完成的动作非常复杂;而在ARM9E的5级流水中,寄存 器读取、逻辑运算、结果回写分散在不同的流水当中,使得每一级流水处理的动作非常简洁。这就使得处理器的主频可以大幅度地提高。因为每一级流水都对应 CPU的一个时钟周期,如果一级流水中的逻辑过于复杂,使得执行时间居高不下,必然导致所需的时钟周期变长,造成CPU的主频不能提升。所以流水线的拉 长,有利于CPU主频的提高。在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9E则至少在200MHz以上。

    ARM9E处理器的存储器子系统

    像ARM926EJ 和ARM946E这两个最常见的ARM9E处理器中,都带有一套存储器子系统,以提高系统性能和支持大型操作系统。如图2所示,一个存储器子系统包含一个 MMU(存储器管理单元)或MPU(存储器保护单元)、高速缓存(Cache)和写缓冲(Write Buffer);CPU通过该子系统与系统存储器系统相连。

    高速缓存和写缓存 的引入是基于如下事实,即处理器速度远远高于存储器访问速度;如果存储器访问成为系统性能的瓶颈,则处理器再快也是浪费,因为处理器需要耗费大量的时间在 等待存储器上面。高速缓存正是用来解决这个问题,它可以存储最近常用的代码和数据,以最快的速度提供给CPU处理(CPU访问Cache不需要等待)。

    图2:复杂处理器内部的存储器子系统。

    MMU则是用来支持存储器管理的硬件单元,满足现代平台操作系统内存管理的需要;它主要包括两个功能:一是支持虚拟/物理地址映射,二是提供不同存储器地址空间的保护机制。一个简单的例子可以帮助我们理解MMU的功能,

    如 图3,在一个操作系统下,程序开发人员都是在操作系统给定的API和编程模型下开发程序;操作系统通常只开放一个确定的存储器地址空间给用户。这样就带来 一个直接的问题,所有的应用程序都使用了相同的存储器地址空间,如果这些程序同时启动的话(在现在的多任务系统中这是非常常见的),就会产生存储器访问冲 突。那操作系统是如何来避免这个问题的呢?

    操作系统会利用MMU硬件单元完成 存储器访问虚拟地址到物理地址的转换。所谓虚拟地址就是程序员在程序中使用的逻辑地址,而物理地址则是真实存储器单元的空间地址。MMU通过一定的规则, 可以把相同的虚拟地址映射到不同的物理地址上去。这样,即使有多个使用相同虚拟地址的程序进程启动,也可以通过MMU调度把它们映射到不同的物理地址上 去,不会造成系统错误。

    图3:MMU的功能和作用。

    MMU 处理地址映射功能之外,还能给不同的地址空间设置不同的访问属性。比如操作系统把自己的内核程序地址空间设置为用户模式下不可访问,这样的话用户应用程序 就无法访问到该空间,从而保证操作系统内核的安全性。MPU与MMU的区别在于它只有给地址空间设置访问属性的功能而没有地址映射功能。

    Cache以及MMU等硬件单元的引入,给系统程序员的编程模型带来了许多全新的变化。除了需要掌握基本的概念和使用方法之外,下面几个针对系统优化的点既有趣又重要:

    1、系统实时性考虑

    因 为保存地址映射规则的页表(Page Table)非常庞大,通常MMU中只是存储器了常用的一小段页表内容,大部分页表内容都存储于主存储器里面;当调用新的地址映射规则时,MMU可能需要 读取主存储器来更新页表。这在某些情况下会造成系统实时性的丢失。比如当需要执行一段关键的程序代码时,如果不巧这段代码使用的地址空间不在当前MMU的 页表处理范围里面,则MMU首先需要更新页表,然后完成地址映射,接着才能相应存储器访问;整个地址译码过程非常长,给实时性带来非常大的不利影响。所以 一般来说带MMU和Cache的系统在实时性上不如一些简单的处理器;不过也有一些办法能够帮助提高这些系统的实时效率。

    一 个简单的办法是在需要的时候关闭MMU和Cache,这样就变成一个简单处理器了,可以马上提高系统实时性。当然很多情况下这不可行;在ARM的MMU和 Cache设计中,有一个锁定的功能,就是说你可以指定某一块页表在MMU中不会被更新掉,某一段代码或数据可以在Cache中锁定而不会被刷新掉;程序 员可以利用这个功能来支持那些实时性要求最高的代码,保证这些代码始终能够得到最快的响应和支持。

    2、系统软件优化

    在 嵌入式系统开发中,很多系统软件优化的方法都是相同和通用的,多数情况下这种规则也适用于ARM9E架构上。如果你已经是一个ARM7的编程高手,那么恭 喜你,以前你掌握的优化方法完全可以用在新的ARM9E平台上,但是会有一些新的特性需要你加倍注意。最重要的便是Cache的作用,Cache本身并不 带来编程模型和接口的变化,但是如果我们考察Cache的行为,就能够发现对于软件优化,Cache是有比较大的影响的。

    Cache 在物理上就是一块高速SRAM,ARM9E的Cache组织宽度(cache line)都是4个word(也就是32个字节);Cache的行为受系统控制器控制而不是程序员,系统控制器会把最近访问存储器地址附近的内容复制到 Cache中去,这样,当CPU访问下一个存储器单元的时候(这个访问既可能是取指,也可能是数据),可能这个存储器单元的内容已经在Cache里了,所 以CPU不需要真的到主存储器上去读取内容,而直接读取Cache高速缓存上面的内容就可以了,从而加快了访问的速度。从Cache的工作原理我们可以看 到,其实Cache的调度是基于概率的,CPU要访问的数据既可能在Cache中已经存在(Cache hit),也可能没有存在(Cache miss)。在Cache miss的情况下,CPU访问存储器的速度会比没有Cache的情况更坏,因为CPU除了要从存储器访问数据以外,还需要处理Cache hit或miss的判断,以及Cache内容的刷新等动作。只有当Cache hit带来的好处超过Cache miss带来的牺牲的时候,系统的整体性能才能得到提高,所以Cache的命中率成为一个非常重要的优化指标。

    根 据Cache行为的特点,我们可以直观地得到提高Cache命中率的一些方法,如尽可能把功能相关的代码和数据放置在一起,减少跳转次数;跳转经常会引起 Cache miss。保持合适的函数大小,不要书写太多过小的函数体,因为线性的程序执行流程是最为Cache友好的。循环体最好放置在4个word对齐的地址,这 样就能保证循环体在Cache中是行对齐的,并且占用最少的Cache行数,使得被多次调用的循环体得到更好的执行效率。

    性能和效率的提升

    前 面介绍了ARM9E相比于ARM7性能上的提高,这不仅表现在ARM9E有更快的主频、更多的硬件特性上面,还体现在某些指令的执行效率上面。执行效率我 们可以用CPU的时钟周期数(Cycle)来衡量;运行同一段程序,ARM9E的处理器可以比ARM7节省大约30%左右的时钟周期。

    效 率的提高主要来自于ARM9E对于Load-Store指令执行效率的增强。我们知道在RISC架构的处理器中,程序中大约有30%的指令是Load- Store指令,这些指令的效率对系统效率的贡献是最明显的。ARM9E中有两个因素帮助提高Load-Store指令的效率:

    1)ARM9内核是哈佛架构,拥有独立的指令和数据总线;相对应,ARM7内核是指令和数据总线复用的冯?诺依曼架构。

    2)ARM9的5级流水线设计把存储器访问和寄存器写回放在不同的流水上面。

    两 者结合,使得在指令流的执行过程中每个CPU时钟周期都可以完成一个Load或Store指令。下面的表格比较了ARM7和ARM9处理器之间的Load -Store指令。从中可以看出所有的Store指令ARM9比ARM7省1个周期,Load指令可以省2个周期(在没有互锁的情况下,编译工具能够通过 编译优化消除大多数的互锁可能)。

    综合各种因素,ARM9E处理器拥有非常强大的性能。但是在实际的系统设计中,设计人员并不总是把处理器性能开到最大,理想情况是把处理器和系统运行频率降 低,使得性能刚好能满足应用需求;达到节省功耗和成本的目的。在评估系统能够提供的处理器能力过程中,DMIPS指标被很多人采用;同时它也被广泛应用于 不同处理器间的性能比较。

    但是用DMIPS来衡量处理器性能存在很大的缺陷。 DMIPS并非字面上每秒百万条指令的意思,它是一个测量 CPU运行一个叫Dhrystone的测试程序时表现出来的相对性能高低的一个单位(很多场合人们也习惯用MIPS作为这个性能指标的单位)。因为基于程 序的测试容易受到恶意优化的干扰,并且DMIPS指标值的发布不受任何机构的监督,所以使用DMIPS进行评估时要慎重。例如对Dhrystone测试程 序进行不同的编译处理,在同一个处理器上运行也可以得出差别很大的结果,如图4中是ARM926EJ在32位0等待存储器上运行测试程序的结果。ARM一 直采用比较保守的值作为CPU的DMIPS标称值,如ARM926EJ是1.1DMPS/MHz。

    图4:不同测试条件下ARM926EJ处理器的DMIPS值。

    DMIPS 另外一个缺点是不能测量处理器的数字信号处理能力和Cache/MMU子系统的性能。因为Dhrystone测试程序不包含DSP表达式,只包含一些整型 运算和字符串处理,并且测试程序偏小,几乎可以完整地放在Cache里面运行而无需与外部存储器进行交互。这样就难以反映处理器在一个真实系统中的真正性 能。

    一种值得鼓励的评估方法是站在系统的角度看问题,而不仅仅拘泥于CPU本身;而系统性能评估最好的测试向量就是用户应用程序或相近的测试程序,这是用户所需的最真实的结果。

    ARM9E处理器的DSP运算能力

    伴 随应用程序的多样化和复杂化,诸如多媒体、音视频功能在嵌入式系统里面也是全面开花。这些应用需要相当的DSP处理能力;如果是在传统的RISC架构上实 现这些算法,所需的资源(频率和存储器等)会非常不经济。ARM9E处理器一个非常重要的优势就是拥有轻量级的DSP处理能力,以非常小的成本(CPU增 加功能需要增加硬件)换来了非常实用的DSP性能。

    因为CPU的DSP能力并不直接反映在像DMIPS这样的评测指标中,同时像以前的ARM7处理器中也没有类似的概念;所以这一点对所有使用ARM9E处理器进行开发的人来说,都是需要注意的一个要点。

    ARM9E的DSP扩展指令如表2所示,主要包括三个类型。


    Dhrystone测试CPU性能的方法
    2008-04-25 16:35

    虽然现在很多人都批评Dhrystone用来测试CPU性能已经过时了,但它目前还是被用得最多的方法。

    一直不知道到底怎么测,比如我测了AT91R4008这个keil提供的例子程序,它显示的结果是:

    Dhrystones per second: 7352

    这个数字怎么转换成MIPS? 网上有文章提到 除以 1757, 那这个芯片不是只有4.18MIPS?按每Mhz来算的话,40M的芯片只有 0.104? 这结果显然不正确的。

    网友文章:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=604659&bbs_page_no=1&bbs_id=1008

    Dhrystone是测量处理器运算能力的最常见基准程序之一,常用于处理器的整形运算性能的测量。程序是用C语言编写的,因此C编译器的编译效率对测试结果也有很大影响。

    Dhrystone的计量单位为每秒计算多少次Dhrystone,后来把在VAX-11/780机器上的测试结果1757 Dhrystones/s定义为1 Dhrystone MIPS(百万条指令每秒)。

    测试采用Philips LPC2142,主频60MHz,内存加速模块全开,Flash周期为3,界面为Keil for ARM 3.30。编译时均对速度进行最大优化。测试结果如下:

    编译器               CPU模式       Dhrystones/s         DMIPS      DMIPS/MHz
    ---------------------------------------------------------------------------------
    RealView V2.2          ARM             96006.1           54.6        0.91
    GCC ARM V3.3.1         ARM             51371.6           29.2        0.49
    Keil V2.5a             ARM             28530.6           16.2        0.27

    RealView V2.2         Thumb            78951.5           44.9        0.75
    GCC ARM V3.3.1        Thumb            45045.0           25.6        0.43
    Keil V2.5a            Thumb            30349.0           17.3        0.29


    可见,运行最快的是采用RealView V2.2编译的代码,ARM模式下达到了0.91 DMIPS/MHz(不知道ARM7声称的0.9 MIPS/MHz是不是这样来的)。Keil的编译器效率最低,而且奇怪的是,使用Keil编译器,其ARM模式的优势体现不出来,反而比Thumb模式的性能略低,可能Keil编译器对ARM模式没有作多大的优化。
     

    按照网友提供的数据, dhrystonesPerSecond除以1757这个值的结果是正确的。



    什么是RealView MDK

      RealView MDK开发工具源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。 RealView MDK集成了业内最领先的技术,包括µVision3集成开发环境与 RealView编译器。支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的 Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%

      RealView MDK的突出特性:

      菜鸟的阿拉伯飞毯 —— 启动代码生成向导,自动引导,一日千里

      启动代码和系统硬件结合紧密,必须用汇编语言编写,因而成为许多工程师难以跨越多门槛。 RealView MDK的µVision3工具可以帮您自动生成完善的启动代码,并提供图形化的窗口,随您轻松修改。无论对于初学者还是有经验的开发工程师,都能大大节省时间,提高开发效率。

      高手的无剑胜有剑 —— 软件模拟器,完全脱离硬件的软件开发过程

      RealView MDK的设备模拟器可以仿真整个目标硬件,包括快速指令集仿真、外部信号和I/O仿真、中断过程仿真、片内所有外围设备仿真等。开发工程师在无硬件的情况下即可开始软件开发和调试,使软硬件开发同步进行,大大缩短开发周期。而一般的ARM开发工具仅提供指令集模拟器,只能支持ARM内核模拟调试。

      专家的哈雷望远镜 —— 性能分析器,看得更远、看得更细、看得更清

      RealView MDK的性能分析器好比哈雷望远镜,让您看得更远和更准,它辅助您查看代码覆盖情况,程序运行时间,函数调用次数等高端控制功能,指导您轻松的进行代码优化,成为嵌入式开发高手。通常这些功能只有价值数千美元的昂贵的Trace工具才能提供。

      业界最优秀的编译器——RealView 编译器,代码更小,性能更高

      RealView MDK的RealView编译器与ADS 1.2比较:

      代码密度:比ADS 1.2编译的代码尺寸小10%;

      代码性能:比ADS 1.2编译的代码性能高20%。

      配备ULINK2仿真器+ Flash编程模块,轻松实现Flash烧写

      RealView MDK无需寻求第三方编程软件与硬件支持,通过配套的ULINK2仿真器与Flash编程工具,轻松实现CPU片内FLASH、外扩FLASH烧写,并支持用户自行添加FLASH编程算法;而且能支持FLASH整片删除、扇区删除、编程前自动删除以及编程后自动校验等功能,轻松方便。

      绝对的高性价比——国际品质,本土价格

      RealView MDK中国版保留了RealView MDK国际版的所有卓越性能,而产品价格和国内普通开发工具的价格差不多 ;另外我们还根据不同需求,专门定制了4个版本,以满足工程师们不同的需要。这绝对是您选择开发工具的首选。

      更贴身的服务——专业的本地化的技术支持和服务

      RealView MDK中国版用户将享受到专业的本地化的技术支持和服务,包括电话、Email、论坛、中文技术文档等,这将为国内工程师们开发出更有竞争力的产品提供更多的助力




    展开全文
  • ARM7、ARM9、ARM11、ARM-Cortex的关系 ARM7、ARM9、ARM11、ARM-Cortex的关系 ARM7:ARMv4架构,ARM9:ARMv5架构,ARM11:ARMv6架构,ARM-Cortex 系列:ARMv7架构 ARM7没有MMU(内存管理单元),只能叫做MCU(微控制...

    ARM7、ARM9、ARM11、ARM-Cortex的关系

    1. ARM7、ARM9、ARM11、ARM-Cortex的关系

      ARM7:ARMv4架构,ARM9:ARMv5架构,ARM11:ARMv6架构,ARM-Cortex 系列:ARMv7架构 ARM7没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE等这些现代的多用户多进程操作系统, 因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地址空间 。ucOS、ucLinux这些精简实时的RTOS不需要MMU,当然可以在ARM7上运行。 ARM9、ARM11,是嵌入式CPU(处理器),带有MMU,可以运行诸如Linux等多用户多进程的操作系统,应用场合也不同于ARM7。 到了ARMv7架构的时候开始以Cortex来命名,并分成Cortex-A、Cortex-R、Cortex-M三个系列。 三大系列分工明确:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用; “R”系列针对实时系统; “M”系列对微控制器。 简单的说Cortex-A系列是用于移动领域的CPU,Cortex-R和Cortex-M系列是用于实时控制领域的MCU。 所以看上去ARM7跟Cortex-M很像,因为他们都是MCU,但确是不同代不同架构的MCU(Cortex-M比ARM7高了三代!),所以性能也有很大的差距。此外,Cortex-M系列还细分为M0、M3、M4和超低功耗的M0+,用户依据成本、性能、功耗等因素来选择芯片。 想必楼主现在肯定知道了ARM7、Cortex-M的区别,不过还是花了点时间整理在此,可以帮助后来的初学者搞明白这些基本的概念性问题

    2. ARM7,ARM9,cortex-m3,cortex-m4,cortex-a8的区别
      arm系列从arm11开始,以后的就命名为cortex,并且性能上大幅度提升。
      从cortex开始,分为三个系列,a系列,r系列,m系列。
      m系列与arm7相似,不能跑操作系统(只能跑ucos2),偏向于控制方面,说白了就是一个高级的单片机。
      a系列主要应用在人机互动要求较高的场合,比如pda,手机,平板电脑等。a系列类似于cpu,与arm9和arm11相对应,都是可以跑草错系统的。linux等。
      r系列,是实时控制。主要应用在对实时性要求高的场合。
      arm7和m3,m4是同一类型。这三个里面,arm7是最早的arm产品。m3是cortex m系列的过渡品,其低端市场被cortex m0的高端替代, 其高端市场又被cortex m4的低端取代。现在m系列,是m4内核的。典型的芯片是st公司和飞思卡尔公司的。
      arm9 和cortex a8 是一个类型的,都是跑操作系统的,现在的高端手机,三星,htc等智能手机,就是用的cortex a8,cortex a9 内核的芯片作为cpu。
      (1)ARM7,ARM9属于v4T或v5E架构
      (2)ARM11属于v6架构
      (3)Contex属于v7架构
      ARM7,ARM9的区别在于是否有MMU(存储器管理单元)或MPU(存储器保护单元)
      架构上v5E相比v4T则是在于v5E新加入的增强型DSP(数字信号处理)指令,v4T则是Thumb指令集的加入,v6架构则是开始支持SIMD以及Thumb2的问世.

    展开全文
  • STM32与ARM7、ARM9、ARM11

    2021-03-22 10:21:00
    二、STM32与ARM7、ARM9、ARM11的区别 ------------------------------------------------------------------------------------------------------- 一、STM32与ARM的关系 1、ARM公司 英国ARM公司是全球领先的...
    目录:
    一、STM32与ARM的关系
    1、ARM公司
    2、意法半导体
    二、STM32与ARM7ARM9、ARM11的区别
     
    -------------------------------------------------------------------------------------------------------
    一、STM32与ARM的关系
    1、ARM公司
    英国ARM公司是全球领先的半导体知识产权(IP)提供商。全世界超过95%的智能手机和平板电脑都采用ARM架构。ARM设计了大量高性价比、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。在智能机、平板电脑、嵌入控制、多媒体数字等处理器领域拥有主导地位。
    该公司主要提供IP核,也就是CPU的内核架构,并不是完整的处理器。然后它将这个核卖给各大半导体公司。为了对付8位机市场,
    推出Cortex-M3内核,STM32就是意大利的意法半导体基于Cortex-M3的32位嵌入式处理器。
    STM32是基于ARM内核的一种控制器,是包含与被包含的关系。ARM(STM32)。
    ----------------------------------------------------------
    2、意法半导体
    意法半导体(ST)集团于1987年成立,是由意大利的SGS微电子公司法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司。比如本公司使用的STM32F103VET8、STM32F103C8T6。
    一个芯片是由内核和外设构成的,ST公司是造芯片的,但用的是ARM公司的内核再加上自己的外设构成一个完整的STM芯片,所以当然用ST命名。
     
     
    -------------------------------------------------------------------------------------------------------
    二、STM32与ARM7、ARM9、ARM11的区别
    STM32外设丰富,没有MMU(内存管理单元),只能叫做MCU(微控制器),可以上ucos等小型系统。ARM9外设不够丰富,有mmu,可以上Linux。如果想上安卓,至少ARM11以上才比较合适。
    ARM7是ARM公司推出的以V4指令集设计出来的ARM核,基于ARM7可以生产出很多CPU芯片,其代表的芯片有s3c44b0等;
     
    ARM9、ARM11是嵌入式CPU(处理器),不同于STM32与ARM7。
    ARM9是ARM公司推出的以V5指令集设计出来的ARM核,基于ARM9其它公司推出了自己的CPU芯片,如三星推出了S3C2440。还有TI啊,ATMEL啊,高通啊都基于ARM9推出了自己的CPU芯片。
    STM32是就是基于Cortex-M3这个核生产的CPU。STM32是CM3构架的,是ARM取代ARM7的。主要还是前后台编程,也可以挂μcos系统。在学习ARM9之前接触STM32会有些帮助,但不是特别多。ARM9主要是挂系统能力强一些,而且和以前的编程习惯完全不一样。
    到了ARM v7架构的时候开始以Cortex来命名,并分成Cortex-A、Cortex-R、Cortex-M三个系列。三大系列分工明确:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。简单的说Cortex-A系列是用于移动领域的CPU,Cortex-R和Cortex-M系列是用于实时控制领域的MCU。
    所以看上去ARM7跟Cortex-M很像,因为他们都是MCU,但确是不同代、不同架构的MCU(Cortex-M比ARM7高了三代!),所以性能也有很大的差距。此外,Cortex-M系列还细分为M0、M3、M4和超低功耗的M0+,用户依据成本、性能、功耗等因素来选择芯片。
     
    ARM9、ARM11是哈佛结构,所以性能要高一点。ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。不跑操作系统,价格低一点的:ARM7、cortex-M3等等。性价比高,可跑也可不跑操作系统的:ARM9、Cortex-Rx等等。性能高的,通常要跑操作系统的:ARM10、ARM11、Cortex-A8等等。成熟的ARM7、ARM9、ARM11。发展趋势:Cortex-A、Cortex-R、Cortex-M。
    2410和2440都是三星公司生产的基于ARM9内核的芯,资源上相差不大,2440多了camara接口,速度要更快一些。上边讲的版本是指内核版本,而各个公司出的发行号又各有不同。比如三星的2440,ATMEL的9260.就好比Linux的内核版本号与红帽子的发行号不一样是一个道理。
    ARM9一般是有MMU的,ARM9940T只有MPU,不是一个完整的MMU。ARM11当然也有MMU的。
    这一条很重要,MMU单元是大型操作系统必需的硬件支持,如LINUX、WINCE等。这就是说,ARM7一般只能运行小型的实时系统如UCOS-II,eCOS等,而ARM9无此限制,一般的操作系统都可以移植。其实即使ARM720T能支持LINUX、WINCE等系统,也鲜有人用,因为以ARM7的运行速度跑这种大型操作系统,实在有点吃力。再者两者的应用领域明显不同,也无此必要。
     
    下面两个图:架构一目了然。


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

     
    对于ARM嵌入式的初学者,建议用ARM9开发板。
    首先,从功能上来说,ARM11要比ARM9强一些,但是性能优异并不代表适合初学者。对于初学者来说ARM11的有些功能是冗余。其次,学习ARM9或者ARM11就在所难免学习其所支持的操作系统Linux(ARM11可以支持Android)。
    目前,市面上ARM9的开发版的价格要比ARM11低很多,而两者都可以运行Linux操作系统。并且ARM9开发板的资料和教学视频也更多一些。jz2440+韦东山系列教学视频,mini2440+国嵌视频都是不错的选择。
    最后,学习ARM9,可以按Linux应用开发、驱动开发顺序学习。如果想学习Android系统开发,可以学完ARM9再学习ARM11开发板下的安卓系统开发。因为安卓系统就是Linux内核+libc库用Java封装而成。
    ARM9是比较成熟的系列,现在很多成熟的产品都是用ARM9开发的。这个学好了,以后的系列自学都会容易一些,因为ARM系列架构都是一样的。所谓“师傅领进门,修行在自身”,学会用一种处理器,掌握学习方法,其他的也一样。
    如果有单片机基础,但是没有玩过ARM,建议学习STM32,甚至说没有玩过单片机想入门的也可以选择STM32,因为STM32例程丰富,资源比较多,市面上成熟的开发板也比较多,而且基本价格都在300以内。
     
    -------------------------------------------------------------------------------------------------------
    展开全文
  • arm11-doc.rar

    2020-06-22 12:08:41
    ARM1176: ARM1176JZF Development Chip Technical Reference Manual ARM1176JZ-S Technical Reference Manual ARM1176JZF-S Technical Reference ...topic=/com.arm.doc.set.arm11/index.html 没有积分可以从这里下载
  • arm11 人脸识别

    2014-09-16 10:44:46
    基于ARM11的嵌入式人脸识别系统的设计和实现_陈鹏. arm11 人脸识别
  • Instant Arm11 crash

    2021-01-07 09:15:01
    <p>Disable ARM11 exception handlers: ( ) <p>-- <p>Explanation of the issue: <p>Instant Arm11 crash <p><a href="https://github.com/AuroraWright/Luma3DS/files/1439803/arm11.zip">arm11.zip</a></p><p>该...
  • ARM9与ARM7的比较优势,ARM11和ARM9的区别.
  • 基于ARM11的1.2 KBPS混合优化
  • ARM11:ARM-V6架构; ARM-Cortex系列:ARM-V7架构; (ARM-Cortex系列分为:Cortex-A,Cortex-R,Cortex-M三大系列。 三大系列分工明确: “A”系列面向尖端的基于虚拟内存的操作系统和用户应用; “R”系列针对实时...

    编写版本:V1.0

    ARM7:ARM-V4架构;

    ARM9:ARM-V5架构;

    ARM11:ARM-V6架构;

    ARM-Cortex系列:ARM-V7架构;

    (ARM-Cortex系列分为:Cortex-A,Cortex-R,Cortex-M三大系列。

    三大系列分工明确:

    “A”系列面向尖端的基于虚拟内存的操作系统和用户应用;

    “R”系列针对实时系统;

    “M”系列对微控制器。

    简单的来说:Cortex-A系列是用于移动领域的CPU,Cortex-R和Cortex-M系列是用于实时控制领域的MCU。)

    因此ARM7和Cortex-M很像,属于不同代不同架构的MCU,Cortex-m比ARM7高了三代,所以性能也有很大的差距。此外,Cortex-m系列还细分为M0,M3,M4和超低功耗的M0+。
    在这里插入图片描述
    ARM7处理器采用的是3级流水线的冯·诺伊曼结构;

    ARM9处理器采用的是5级流水线的哈佛结构。

    5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。
    (**冯诺依曼结构和哈佛结构区别:**👈

    冯诺依曼结构和哈佛结构最主要的区别是在于程序空间和数据空间是否是一体的:冯诺依曼结构数据空间和地址空间是不分开的,而哈佛结构数据空间和地址空间是分开的。

    ARM7一般运行在100MHZ左右;

    ARM9至少运行在200MHZ以上。

    ARM7一般没有MMU(内存管理单元)(ARM720T有MMU)

    ARM9一般是有MMU,ARM9940T只有MPU,不是一个完整的MMU。

    (MMU单元是大型操作系统必需的硬件支持,
    ARM7没有MMU,只能叫做MCU微控制器,不能运行诸如Linux,WinCE等这些现代的多用户多进程操作系统,因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地址空间。uCOS,ucLinux这些精简实时的RTOS不需要MMU,当然可以在ARM7上运行。)

    展开全文
  • Arm1176jzfs (ARM11 芯片文档) 相关博客 : http://blog.csdn.net/shulianghan/article/details/42408137
  • ARM11系列微处理器是ARM公司近年推出的新一代RISC处理器,它是ARM新指令架构——ARMv6的第一代设计实现。  该系列主要有ARM1136J,ARM1156T2和ARM1176JZ三个内核型号,分别针对不同应用领域。  本文将对全新的...
  • Arm11 Excepition Error

    2021-01-07 09:46:04
    i cant boot into the home menu the arm11 just pops out when i turn my new 2ds on <p><strong>Steps to reproduce:</strong></p> <p>1. <p>2. <p><strong>Dump file:</strong></p> 该提问来源于开源项目:...
  • &#13; &#13; &#13; &#13; &#13; &#13; &#13; 1ARM处理器解析ARM9、ARM11是哈佛结构,5级流水线结构,所以性能要高一点。ARM9和ARM...
  • 摘 要:设计了一种基于ARM11+Linux 系统组成的无线视频监控系统。为提高运算速度,系统采用ARM11 微处理器S3C6410 作为主处理器,采用OV9650 摄像头作为图像采集设备,用硬编码方式对图像数据进行H264编码。接着通过...
  • ARM 11内核官方文档

    2013-10-17 10:09:43
    arm11 内核的官方文档,可以深入了解ARM11的体系架构
  • ARM7、ARM9、ARM11区别

    千次阅读 2014-10-29 20:31:22
    而ARM9采用5级流水线的哈佛结构,ARM11为8级流水线哈弗结构(从arm9开始都采用了哈弗结构)。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内...
  • ARM11:ARMv6架构, ARM-Cortex 系列:ARMv7架构 ARM7(ARMv4架构)没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE等这些现代的多用户多进程操作系统, 因为运行这些系统需要MMU,才能...
  • ARM7、ARM9和ARM11的区别

    千次阅读 2015-10-24 17:57:32
    而ARM9采用5级流水线的哈佛结构,ARM11为8级流水线哈弗结构(从arm9开始都采用了哈弗结构)。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内...
  • arm11技术手册

    2013-02-28 00:37:06
    原版文档。 详细描述了arm11体系的技术细节; 重要的是详细描述的MMU的设计和寄存器访问方式。 既有利于理解ARM底层工作方式
  • ARM11处理器介绍

    2011-04-02 00:03:38
    ARM11系列微处理器是ARM公司 近年推出的新一代RISC处理器,它是 ARM新指令架构——ARMv6的第一代 设计实现。该系列主要有ARM1136J, ARM1156T2和ARM1176JZ三个内核型 号,分别针对不同应用领域。本文将对全 新的ARMv...
  • 摘 要:设计了一种基于ARM11+Linux 系统组成的无线视频监控系统。为提高运算速度,系统采用ARM11 微处理器S3C6410 作为主处理器,采用OV9650 摄像头作为图像采集设备,用硬编码方式对图像数据进行H264编码。接着通过...
  • ARM11 MPCore Processor

    2010-11-22 09:11:37
    ARM11 MPCore Processor介绍
  • ARM9和ARM11的区别.pdf

    2010-11-04 12:05:20
    ARM9和ARM11的区别.pdf ARM7是冯诺依慢结构,三级流水线结构 ARM9、ARM11是哈佛结构,5级流水线结构,所以性能要高一点。 ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。
  • 手上有一块OK6410的板子,就想起来花点时间学习下经典的ARM系列ARM11。了解一下ARM11的开发流程,以及怎么跑系统。
  • arm11.bin loading

    2020-12-25 17:06:42
    <div><p>when executing the exploit in 2.1.0-4E I know that loading and there is only arm11.bin loading</p><p>该提问来源于开源项目:d0k3/SafeB9SInstaller</p></div>
  • S3C6410 ARM11 schematic.pdf

    2019-09-11 09:56:17
    很全而且有参考价值的ARM原理图 而且 , 价值 , 开发 S3C6410 ARM11 schematic.pdf
  • ARM11(3)外部中断 WF 2013.1.24 最近正在学习ARM11S3C6410开发板的外部中断部分稍有心得特此总结一些学习笔记分享出来献给那些像我一样正在ARM11上裸奔的嵌入式学徒们同时也希望看到此文的业界前辈多多指教 外部中断...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,825
精华内容 4,730
关键字:

arm11