ARM简介[1]


1. ARM只卖知识产权,不卖(物理的,实质的)产品。
    全世界100多家公司购买了ARM授权,包括三星,Freescale、NXP Semiconductors、STMicroelectronics、Texas Instruments ,Toshiba,Analog Device,atmel,microsemi...具体参看ARM官网
    
    经典 ARM 处理器 许可证数
        ARM11 系列 82
        ARM9 系列 271

Cortex 处理器 许可证数
        Cortex-A 86
        Cortex-R 22
        Cortex-M 123
        
        
2. ARM processor family:
    ARM7,ARM9,ARM11,Cortex-A,Cortex-R,Cortex-M,SecurCore
    ARM 11 之後分成三类:
    Cortex - A/R/M
    Cortex - A 系列面向尖端的基于虚拟内存的操作系统和用户应用;
    Cortex - R 系列针对实时系统;
    Cortex - M 系列对微控制器。

ARM7 系列- 面向普通应用的经典处理器
    ARM9 系列 - 基于 ARMv5 架构的常用处理器
    ARM11 系列 - 基于 ARMv6 架构的高性能处理器
    ARM 专家处理器
    SecurCore - 面向高安全性应用的处理器。
    FPGA Cores - 面向 FPGA 的处理器
    ARM Cortex 应用程序处理器
    ARM Cortex 嵌入式处理器

3. 为了清楚地表达每个ARM应用实例所使用的指令集,ARM公司定义了8种主要的ARM指令集体系结构版本,以版本号V1~V8表示.[2]

注意ARM7和ARMV7所表达的含义不同,一个是处理器家族代号,一个是指令集代号.
 

    ARMv1:
    该版本的原型机是ARM1,没有用于商业产品。
    ARMv2:
    对V1版进行了扩展,包含了对32位结果的乘法指令和协处理器指令的支持。
    ARMv3:
    ARM公司第一个微处理器ARM6核心是版本3的,它作为IP核、独立的处理器、具有片上高速缓存、MMU和写缓冲的集成CPU。

ARMv4:
    当前应用最广泛的ARM指令集版本。
    ARM7TDMI、ARM720T、ARM9TDMI、ARM940T、ARM920T、Intel的StrongARM等是基于ARMv4T版本。

ARMv5:
    ARM9E-S、ARM966E-S、ARM1020E、ARM 1022E以及XScale是ARMv5TE的。
    ARM9EJ-S、ARM926EJ-S、ARM7EJ-S、ARM1026EJ-S是基于ARMv5EJ的。
    ARM10也采用。
    其中后缀意义如下:
    E:增强型DSP指令集。包括全部算法和16位乘法操作。
    J:支持新的Java。

ARMv6:
    采用ARMv6核的处理器是ARM11系列。
    ARM1136J(F)-S基于ARMv6主要特性有SIMD、Thumb、Jazelle、DBX、(VFP)、MMU。
    ARM1156T2(F)-S基于ARMv6T2 主要特性有SIMD、Thumb-2、(VFP)、MPU。
    ARM1176JZ(F)-S基于ARMv6KZ 在 ARM1136EJ(F)-S 基础上增加MMU、TrustZone。
    ARM11 MPCore基于ARMv6K 在ARM1136EJ(F)-S基础上可以包括1-4 核SMP、MMU。

ARMV7:
    Cortex-A15处理器、Cortex-A12处理器、Cortex-A9处理器、Cortex-A8处理器、Cortex-A7处理器、Cortex-A5处理器

ARMV8:
    Cortex-A57处理器、Cortex-A53处理器


 
4.经典 ARM 处理器: ARM7,9,11
    ARM7是冯诺依慢结构
    ARM9、ARM11是哈佛结构,所以性能要高一点。
    ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。

ARM7,ARM9的区别在于是否有MMU(存储器管理单元)或MPU(存储器保护单元)

ARM7工控用的一般是ST公司的如STR73x STM32F系列,三星的44b0,atmel的AT91系列;
    ARM9系列一般是三星公司 S3C2440
    ARM11 一般是手机上用的。

5. cortex-m3和ARM11区别:
cortex-m3的架构(ARMv7)比ARM11(ARMv6)的版本高,但是性能不如ARM11.
但是cortex—m系列的芯片的应用主要在低端(就相当于一个单片机,不跑OS),从性能上来说ARM11要比cortex-m3要好不少.

6. 51 vs arm
    51单片机寄存器比较少,指令只有111条;
    而arm芯片寄存器较多,指令集也多,要掌握它需要耐心和时间;
    所以,为了简化嵌入式软件的编程工作量,生产公司把寄存器的操作搞定,封装成函数,这就是固件函数库。
    比如意法半导体(ST.COM)的《STM32F10xxx固件函数库.pdf》。
 
7. 学习arm编程,买开发板的话一般用arm9,比如:三星S3C2440开发板,mini2440开发板
    arm11太贵(一般2k以上),arm7不能跑操作系统。

2410和2440都是三星公司生产的基于ARM9内核的芯,资源上相差不大,2440多了camara接口,速度要更快一些。
    上边讲的版本是指内核版本,而各个公司出的发行号又各有不同。比如三星的2440,atmel的9260. 就好比linux的内核版本号与红帽子的发行号不一样是一个道理。

8. ARM开发需要
    1,硬件(带arm芯片的开发板),
    2,下载线或仿真器(J-Link等)及其驱动,
    3,集成开发环境
        ADS(好像用的少了),
        MDK412-keil( arm收购),
        IAR Embedded Workbench for arm.
 
9. 常用系列
ST系列 ,NXP系列 , TI系列 ,ATMEL系列,Samsung 系列
先熟悉GPIO,再熟悉串口,中断,定时器,flash等,熟悉好具体的外设操作,然后是stm32里搭建uCos系统,Linux系统。

10. 趋势
不跑操作系统,价格低一点的:ARM7、cortex-M3等等。
性价比高,可跑也可不跑操作系统的:ARM9、cortex-Rx等等。
性能高的,通常要跑操作系统的:ARM10、ARM11、Cortex-A8等等。
成熟的:ARM7\ARM9\ARM11。
发展趋势:Cortex-A、Cortex-R、Cortex-M。
其实弄ARM大多还是在嵌入式领域,不过现在很多上网本也开始ARM了

参考:

1. ARM入门知识点整理 http://buluo.qq.com/p/detail.html?bid=14359&pid=497468-1468503399&from=dongtai

2. ARM 指令集版本和ARM版本 http://blog.sina.com.cn/s/blog_602f87700100kaa3.html

ARM简介(科普文)的更多相关文章

  1. Hadoop科普文——常见的45个问题解答(CSDN)

    Hadoop科普文——常见的45个问题解答 1.Hadoop集群可以运行的3个模式? 单机(本地)模式 伪分布式模式 全分布式模式 2.  单机(本地)模式中的注意点? 在单机模式(standalon ...

  2. React半科普文

    React半科普文 什么是React getting started 文件分离 Server端编译 定义一个组件 使用property 组件嵌套 组件更新 Virtual DOM react nati ...

  3. 科普文:从人人网看网络科学(Network Science)的X个经典问题

    转:https://zr9558.wordpress.com/2013/12/05/科普文:从人人网看网络科学(network-science)的x个经典问/ 长文,写了N个小时写完的.你肯定能看懂, ...

  4. 前端科普文—为什么<!DOCTYPE> 不可或缺

    When question comes 你一定在 HTML 页面最前面看到过这样一行代码(比如 百度): <!DOCTYPE html> 或者说类似这样的(比如 博客园-韩子迟 PS:博客 ...

  5. Retrofit 简介 wiki 文档

    简介 Type-safe HTTP client for Android and Java by Square, Inc. GitHub主页:https://github.com/square/ret ...

  6. 科普文:Node.js 如何上传文件到后端服务【转】

    原文链接 https://www.yuque.com/egg/nodejs/httpclient-upload 背景 互联网时代,无数服务是基于 HTTP 协议进行通信的. 除了常见的 前端浏览器 - ...

  7. 科普文,搭建python开发环境

    Python简介!首先,是一门面向对象的程序设计语言,先说3个优点!1.有条理,简单,易学,易用.2.强大!可以把其他编程语言制作的模块利用起来.3.拥有丰富的库.Python作为高级编程语言,拥有的 ...

  8. 26 JavaScript HTML DOM简介&方法&文档

    HTML DOM: Document  Object  Model 文档对象模型.是HTML的标准对象模型和编程接口.(JavaScript只是可以操作HTML DOM的语言之一) 定义了HTML元素 ...

  9. Git科普文,Git基本原理&各种骚操作

    Git简单介绍 Git是一个分布式版本控制软件,最初由Linus Torvalds创作,于2005年以GPL发布.最初目的是为更好地管理Linux内核开发而设计. Git工作流程以及各个区域 Work ...

随机推荐

  1. Python中的isinstance函数

    isinstance是Python中的一个内建函数 语法: isinstance(object, classinfo)   如果参数object是classinfo的实例,或者object是class ...

  2. C# 基础中有关术语理解

    一.栈vs堆  深入理解堆栈.堆在内存中的实现 二.Socket 深入探析c# Socket 三.多线程 c# 多线程 --Mutex(互斥锁)

  3. 关于crontab笔记

    如下所示,一般crontab文件里面的定时任务格式如下所示: 59 23 * * * /home/oracle/scripts/alert_log_archive.sh >/dev/null 2 ...

  4. HDU 5765 Bonds(状压DP)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5765 [题目大意] 给出一张图,求每条边在所有边割集中出现的次数. [题解] 利用状压DP,计算不 ...

  5. compass安装教程

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  6. css3属性选择器总结

    前两节介绍了css3属性选择器与css2属性选择器中: 包含字符串和以字符串选择器开头的选择器的比较. 全部属性选择器: 包含字符串讲解对比实例讲解链接: http://www.cnblogs.com ...

  7. PKU POJ 1006 Biorhythms (中国剩余定理)

    中国剩余定理 x = ai (mod mi)  ai和mi是一组数,mi两两互质,求x 令Mi = m1*m2*~mk     其中,mi不包含在内. 因为mi两两互质,所以存在x和y, st   M ...

  8. Git跨平台中文乱码临时解决方案

    Git 是一个非常优秀的分布式版本控制系统,最初为Linux Kernel版本管理进行量身定做.优点是,和其他版本控制系统相比,稳定,速度快,跨平台,易学易用,无需要花费成本.更多优点请点击阅读:ht ...

  9. C#连接Oracle数据库基本类

    C#用来连接oracle数据库的基本类: using System; using System.Collections.Generic; using System.Linq; using System ...

  10. Bootstrap第一天

    1.代码引入: 第一步:在html5文档 <meta name="viewport" content="width=device-width, initial-sc ...