最近一直在研究ARM,说到ARM,我们首先想到了是三星、高通等公司,这些公司都制造CPU的,其实ARM也是一家公司,只不过它是提供最核心的逻辑电路,而且它的赚钱方式是与其他公司进行双赢的!你卖出多少芯片,我就收这些芯片的一点分红,真他么机智的公司!

微处理器说白一点就是"脑子",那么这个脑子它是咋么组成的呢?通常有3大部分

控制单元

算术逻辑单元

寄存器

那么ARM有哪些特点呢?

  1. 支持Thumb/ARM双指令集
  2. 采用3级流水线/5级流水线
  3. 采用哈弗结构,有指令cache和数据cache
  4. 寻址方式灵活简单、执行效率高
  5. 支持大端小端格式
  6. 支持byte\halfword\word三种数据类型
  7. 7种模式
  8. 采用片上AMBA
  9. 采用存储器映射I/O的方式
  10. 具备协处理器接口
  11. 3.0v以下工作电压
  12. 体积小、低成本、高性能

所谓流水线的工作模式,就是说一个程序把他分成n多块来处理,要知道真正意义上CPU只处理一个资源,那么把程序分解开来,像流水线一样处理多个程序,那么效率不就马上上来了!

个人觉得ARM了不起的地方就在这里,可以在ARM状态和Thumb状态进行相互切换,解决了不少因为指令可能导致系统的臃肿的问题

ARM状态:32位,这种状态下执行的是字方式的ARM指令;

Thumb状态:16位,这种状态下执行半字方式的ARM指令。

7种工作模式,玩过的都知道!

除用户模式,其他模式叫特权模式

除用户、系统模式,其他模式叫异常模式

ARM有37个寄存器!31个为通用寄存器、6个为状态寄存器

光了解寄存器还远远不够,要知道寄存器也有你需要注意的地方!

正常情况下:

R14会保存好回调时主程序的地址。

当发生异常嵌套时,这些异常之间可能会发生冲突。

R14_IRQ原来保存的是地址A,可是当发生嵌套的时候,原来保存的地址A被修改了,于是完成嵌套后的程序,他的PC指针完全不知道要指向谁了?于是ERROR了~~~~~

至于寻址方式,好吧,我其实想说,我又懒了,因为我觉得我自己也说不清寻址方式。回头我再去研究一下《ARM体系结构与编程》这本书,汇编不熟悉,也不清楚,硬伤~~~

靠,不知不觉地写了那么多!我果然是一个勤奋的孩子~~~不扯了。

下载地址:http://url.cn/JbTFjf

找到SETUP.EXE,然后各种下一步。

等到出现一个粉红色的界面,记得,还是下一步哦!

然后把

这个复制到你安装的路径下,

我就用默认的路径:C:\Program Files (x86)\ARM\ADSv1_2

然后黏贴。

然后再粉红界面上加载里面的

大功告成!

于是你可以在开始里面找到

启动!

至于如何用呢?且听我下回分解!

同时欢迎各位来关注我的微博:http://weibo.com/samuelwnb/

我与ARM的那些事儿1初识ARM的更多相关文章

  1. ARM与x86之3--蝶变ARM

    http://blog.sina.com.cn/s/blog_6472c4cc0100lqr8.html 蝶变ARM 1929年开始的经济大萧条,改变了世界格局.前苏联的风景独好,使得相当多的人选择了 ...

  2. 【基于Android的ARM汇编语言系列】之三:ARM汇编语言程序结构

    作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell [ ...

  3. ARM和STM32的区别及ARM公司架构的发展

    ARM和STM32的区别及ARM公司架构的发展 转:https://www.cnblogs.com/kwdeblog/p/5260348.html ARM是英国的芯片设计公司,其最成功的莫过于32位嵌 ...

  4. 【基于Android的ARM汇编语言系列】之五:ARM指令集与Thumb指令集

    作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell [ ...

  5. 我和ARM的那些事儿3 beep之旅,最详细的ARM裸机工程设置

    前言 在博客园里面我搜索了老半天,找相应的mini2440的裸机开发的程序,让我挺失望的就是居然没有人对做arm这块做详细的解答,到底如何去做,到底如何去配置,都不清楚,让我很纠结,那么我花了近一星期 ...

  6. 我与ARM的那些事儿2JINLK烧录nor flash

    前言 最近在研究mini2440的友善之臂,但是我拿着的是实验室早期买的开发板,在做裸机开发的过程中老是不能很好地使用最新版的minitools进行烧录,因而各种不爽,因为生成了bin文件不能很好地传 ...

  7. Docker那些事儿之初识Docker

    公司内部一直在使用Docker进行服务的部署和应用的升级,从开始使用Docker一直到线上的部署以及一些基础服务的开发本人都有参与,而且自己的网站也是在Docker的基础之上进行构建的,想想也需要总结 ...

  8. 浅析arm的异常、中断和arm工作模式的联系

    说到异常向量,会让人联想到中断向量.其实,中断是属于异常的子集的,也就是说中断其实是异常其中的一种. 回到异常向量,他其实是一张表格,每个格子里存放的是一个地址,或者是一个跳转命令,不管是哪个,其目的 ...

  9. ARM 汇编指令集 特点5:ARM 多级指令流水线

    1.为增加处理器指令流 的速度,ARM使用多级流水线. 就是举个例子: mov r1,#0 ,这条指令 分几个人做,一个人从存储器取指令,解码指令中用到的寄存器,寄存器运算. 这样三步 :如果一个人做 ...

随机推荐

  1. .Net WebApi部署问题

    在IIS上部署web api 完成后,浏览时出现了“The compiler failed with error code -2146232576.”的错误(有时会出现这个情况).主要是 我们在.Ne ...

  2. c#设计模式之装饰器模式(Decorator Pattern)

    引子 在面向对象语言中,我们常常会听到这样一句话:组合优于继承.那么该如何去理解这句话呢? 下面我将以游戏装备为模型用简单的代码去展示它 先创建一个装备的抽象类,然后创建刀枪2个具体的业务子类 pub ...

  3. WPF透明窗体不支持缩放解决方案

    方案一 WPF中的无边框透明窗体,由于没有边并且透明,窗体无法进行缩放操作,今天来讲解如何解决这个问题. 先说一下思路,我们先手为该窗体添加4个边,4个角用于缩放操作,然后再为他们写事件,完成拖放操作 ...

  4. 1-初步了解C#-语言基础

    本篇博客对应视频讲解 前言 终于开始讲语言了,我选择讲C#.为什么呢?因为C#是很好的入门语言,简洁.全面,面向对象类型安全,开发体验好,上手容易.而其他的语言也已经有人讲了很多了,C#相对来说要少一 ...

  5. “全栈2019”Java异常第十六章:Throwable详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  6. powerdesign设计、实现简单的数据库模型

    1,新建CDM,打开powerdesign,选择Categories----Infoomation------Conceptual Data.开始画图,如果此时如表示关系的图标是灰色的.Tools-- ...

  7. linux中创建一个回收站

      1. mkdir /tmp/trash_tmp 建立一个回收站目录 2. vi /bin/trash 编辑一个文件     mv $@ /tmp/trash_tmp     :wq 保存退出 3. ...

  8. IECapt、CutyCapt 生成网页快照

    IECapt.CutyCapt  生成网页快照 http://iecapt.sourceforge.net/ http://cutycapt.sourceforge.net/ 1.以管理员身份 运行c ...

  9. Oracle执行SQL语句的过程

    转载至:http://blog.csdn.net/aqszhuaihuai/article/details/7024551 当我们提交一条sql语句时,Oracle会做哪些操作呢? Oracle会为每 ...

  10. 【Python】解析Python的标准数据类型

    目录结构: contents structure [-] 数值(Number) 数值类型 类型转化 Python中的Decimal数据类型 Python中的分数 Python中的算术方法 字符串(St ...