初识ARM cotex—A9

发布者:大头玩家最新更新时间:2019-10-25 来源: 51hei关键字:ARM  cotex—A9  上拉电阻 手机看文章 扫描二维码
随时随地手机看文章

1) 电阻的作用


[上拉电阻]


       接在电源和参考点之间的电阻

       (1) 作用:  使参考点的电平默认为高电平

[下拉电阻]

       接在地和参考点之间的电阻

       (1) 作用:  使参考点的电平默认为低电平



2) 局部性原理


程序执行时,访问的数据和执行的指令往往在一个局部范围内。


3)bus

       可以接多个设备的一组线叫总线

       

       (1) CPU总线

           CPU(ALU和控制器)连接内存和IO设备的一组线, 用于传输: 地址、数据和控制

           地址线

           数据线

           控制线

           

       (2) 单总线(ARM)

           内存和IO设备接在相同cpu总线上,表现为:

           1. 内存和IO设备在同一地址空间(0 - 4G)

           2. 访问内存和IO设备的方法一样(指令相同)

           

       (3) 多总线(x86)

           内存和IO设备接在不同组cpu总线上,表现为:

           1. 内存和IO设备在不在同一地址空间(0 - 4G)

           2. 访问内存和IO设备的方法一样(不同指令)


4)RISC & CISC


RISC (精简指令集): 可以不用硬件实现的功能,就用软件实现。


CISC(复杂指令集):硬件可以实现的功能,都由硬件实现。


5)ARM处理器八种工作模式


(1).正常运行


user                       运行应用程序


system                   运行内核中的进程上下文


SVC  运行操作系统的管理代码


(2)中断运行


IRQ(中断请求)  运行普通的设备中断


FIQ(快速中断请求)用于快速或安全设备的中断


(3)异常处理


Abort   读取指令或数据储存失败时,运行处理程序的模式


Undefined  Instruction      解析指令时,发现指令非法,运行处理程序的模式


(4)Monitor


Coetex-A  安全模式


6)权限


user非特权模式


其它 特权模式


7)寄存器


概念:  软硬件接口,也是存储单元。CPU内核寄存器,也是存储单元,CPU利用寄存器的名字中的编号来访问寄存器。


功能:    R0——R15通用寄存器


R0——R7  非备份寄存器


R8——R14  备份寄存器


R13  (SP) 栈指针寄存器


R14(LR)    保存返回地址寄存器


R15(PC)  Program  Count  (正在读取的指令的地址)


CPSR  状态寄存器


SPSR   备份状态寄存器


8)    CPSR        


状态标识位(ALU运算时产生)

            (1)N  


计算的结果是否为负数(保存下来的结果的最高位)

                  1               负数

                  0               正数

                  

                  例: 2 - 3 = -1         N = 1

                      0000 0000 0000 0000 0000 0000 0000 0010

                     +1111 1111 1111 1111 1111 1111 1111 1101

                     -----------------------------------------

                      1

                      

                      2 - 1 = 1          N = 0

                      0000 0000 0000 0000 0000 0000 0000 0010

                     +1111 1111 1111 1111 1111 1111 1111 1111

                     -----------------------------------------

                     10

                  

                  int x, y

                  ....

                  if (x > y)

                     

             (2) Z  


计算的结果是否为0(保存下来的结果)

                  1                为0

                  0                为非0

                  例: 2 - 2 = 0          Z = 1

                      0000 0000 0000 0000 0000 0000 0000 0010

                     +1111 1111 1111 1111 1111 1111 1111 1110

                     -----------------------------------------

                     10

                  

                  int x, y

                  ...

                  if (x == y)

                  

             (3) C  


加法运算中,是否有进位


                  1           进位

                  0           不进位

                  

                  减法运算中,是否有借位

                  1           没有借位

                  0           有借位

                  

                  例: 2 - 3 = -1         C = 0

                  

                      0000 0000 0000 0000 0000 0000 0000 0010

                     +1111 1111 1111 1111 1111 1111 1111 1101

                     -----------------------------------------

                      1

                      

                      2 - 3 = -1         C = 0

                      0000 0000 0000 0000 0000 0000 0000 0010

                     -0000 0000 0000 0000 0000 0000 0000 0011

                     -----------------------------------------

                     

                 unsigned int x, y;

                 ...

                 if (x > y)       

                      

              (4)V  


计算的结果是否超出补码的范围()

                 1           超出补码的范围

                 0           没有超出补码的范围

                 例: 0x7fffffff - (-1) = -2^31   V = 1

                     0 0111 1111 1111 1111 1111 1111 1111 1111

                    +0 0000 0000 0000 0000 0000 0000 0000 0001

                    ------------------------------------------

                     0 1                                     0

                 

                     -2^31 - 1                   V = 1

                     

                     -2^31 +(-2^31)              V = 1

                     

                     -1 + -1                     V = 0

                     1 1111 1111 1111 1111 1111 1111 1111 1111

                     1 1111 1111 1111 1111 1111 1111 1111 1111

                     -----------------------------------------

                     1 1                                    10

                     

                 总结:

                 如果运算的结果为负数(保存), 并且V = 1, 说明原本(实际)的结果为正数

                                 正数或0         V = 1,                       负数

[1] [2]
关键字:ARM  cotex—A9  上拉电阻 引用地址:初识ARM cotex—A9

上一篇:tq2440-arm9 的移植(遇到的问题篇)
下一篇:关于__user_initial_stackheap( )

推荐阅读最新更新时间:2024-11-09 18:28

ARM嵌入式汽车节能控制系统的设计
由于各种原因,公交车总是不断重复加速-减速或停车-再加速的过程。 通过加装本节能装置,当汽车需要制动时,在主控单元的控制下,可将汽车行驶时具有的巨大动能通过空气压缩机转化成高压气体的势能并储存起来,从而实现汽车减速或停车。当汽车需要启动或加速时,用储存起来的高压气体势能代替燃油来驱动汽车,从而实现汽车能量的回收再利用,达到节能的效果。同时由于汽车在起动或加速时能耗最大,如果汽车是用燃油驱动,则此时油料燃烧不充分,燃烧效果最差,而且产生的噪音最大。 系统工作原理 本系统主要由三部分组成,即检测部分,控制部分和执行机构。检测部分包括踏板位置传感器、曲轴位置传感器、压缩机活塞位置传感器、汽车运行速度传感器、储气罐压力传感器
[单片机]
<font color='red'>ARM</font>嵌入式汽车节能控制系统的设计
ARM处理器架构----处理器的工作状态
之前,一直都在看arm的驱动开发,最近看了ucos,同时也开始对arm的架构有了更深入一点的了解。大学学微机原理的时候学的是x86的架构,它和arm还是有挺多区别的。下面就整理一些自己的所学和在网上转载的关于arm架构的内容。有一本很好的讲arm架构的书:《ARM System Developer's Guide》。 从编程人员的视角来看,arm核是由数据总线连接的功能单元组成,如下图所示: 数据通过数据总线流向处理器核心,这里的数据可以是将要执行的指令,也可以是数据项.上面的图是Von Neumann体系的arm核,数据项和指令共用同一总线.而哈佛结构体系的arm核就会用两个不同的总线.就像所有的RISC处理器,
[单片机]
IAR for ARM系列教程(二)_主窗口与工具栏的描述
Ⅰ、写在前面 本文先讲述一下默认主窗口界面,对IAR软件工具整体有一个大概的了解,再次讲述toolbar工具栏里面详细内容。 Toolbars工具栏其实就是在主菜单下面的快捷图标按钮,这些快捷按钮之所以归为工具栏里面,在于它们使用的频率较高。比如编译按钮,这个按钮在我们编程的时候使用的频率是相当高,这些快捷按钮大部分也是有对应的快捷键。 本文内容已经整理成PDF文件,提供给大家下载: http://pan.baidu.com/s/1eSeDSu2 Ⅱ、主窗口界面 为了使这一些列教程完善,也为了让初学者对IAR界面有初步的认识,这里简单讲述一下(IAR默认)主界面下各个窗口的意思。 Menu Bar菜单栏:该窗
[单片机]
IAR for <font color='red'>ARM</font>系列教程(二)_主窗口与工具栏的描述
基于ARM9和Linux的液晶驱动终端
1 引言 液晶驱动终端是将液晶控制器、微控制器等集成在一起,并将液晶控制与图形界面显示等功能通过软件封装在一起,为用户开放操作接口、屏蔽液晶显示器的控制细节,使用户通过熟悉的接口(如RS232接口)发送预定义命令即可控制液晶显示,进行图形界面开发工作。 目前.已有的液晶驱动终端主要采用微控制器与前、后台软件结合的方法进行设计,该类终端只能够显示字模方式的图片.该种类型的终端显示数据存放在自带的NANDFlash中, 在人机界面设计过程中对NAND Flash中的数据管理是以扇区为基本操作单元,图片下载需要专用的软件工具完成,增加了界面设计的逻辑复杂性与操作性。这里采用ARM9微控制器与 Linux操作系统结合的方法,设计出
[单片机]
基于<font color='red'>ARM</font>9和Linux的液晶驱动终端
基于ARM7 LPC21xx开发存储测试系统的方法介绍
存储测试技术是在特殊环境下记录运动物体参数的最有效的手段。本文介绍了基于ARM7 LPC21xx开发存储测试系统的方法。Philips公司16/32位微控制器LPC21xx是基于支持实时仿真和嵌入式跟踪的16/32 w位ARM7TDMIS CPU的微控制器,它具有掉电和空闲两种节电模式,可用电池供电并且长期工作。利用微控制器内部自带的10位A/D转换器来采样,用SPI与nRF24L01模块通信。 存储测试技术[1]方法是记录在特殊环境下运动物体参数的行之有效的方法。它是先将测试数据存入存储器,待装置回收后通过特定接口与上位机进行通信,还原数据信息。在许多消费类电子产品中,对数据采集存储系统的实时性和功耗提出了更高的要求,不仅要
[单片机]
基于<font color='red'>ARM</font>7 LPC21xx开发存储测试系统的方法介绍
消息称三星将自研移动GPU 减少对ARM Mali GPU依赖
3月27日消息,据外媒报道,消息称,三星将开发自己的移动GPU,以减少对ARM Mali GPU的依赖,并与苹果和高通竞争。 在Exynos 2100发布之前,三星多年来一直依赖ARM的Mali GPU设计,但这一切都可能发生改变。 去年,三星推出了Exynos 2200,Exynos 2200基于4nm EUV工艺制造,采用了基于AMD RDNA 2架构的Xclipse 920 GPU,搭载在Galaxy S22系列智能手机上。 虽然ARM的GPU设计相对稳定,但很明显高通和苹果在这场竞赛中处于领先地位,三星方面的性能差距只能通过为智能手机量身定制的GPU来缩小。 知名数码爆料人Revegnus透露,三星将基于A
[家用电子]
英伟达长文驳斥FTC关于Arm收购的指控
日前,FTC发布了有关Nvidia收购Arm交易的审核最新进展,提交了一份来自英伟达、软银和Arm对FTC之前指控的回应。在回应中,他们表示,NVIDIA 对 Arm 的收购将极大地增强半导体行业的创新和竞争,从而使行业参与者、消费者和美国经济受益。 声明强调,Arm 开发和许可 CPU IP。Arm 拥有一支出色的团队、强大的核心业务,并且在高质量、可靠的 CPU 设计方面享有盛誉。然而,Arm 在寻找未来增长的道路上面临着重大挑战。Arm的原始市场和最大的收入来源(移动设备)已经饱和。CPU 的其他应用程序(最显著的是数据中心服务器和 PC)已经并将继续特别难以破解。现有的数据中心和 PC CPU 供应商(英特尔和 AMD
[半导体设计/制造]
微软将推出运行ARM芯片的新版服务器操作系统
据外媒9日报道,微软周三将展示新版服务器操作系统,该操作系统将运行基于ARM Holdings PLC (ARMH)技术的处理器,寻求打破英特尔公司几乎完全主导数据中心芯片领域的统治地位。 此举对微软而言是一次显著转变,多年来,微软一直与英特尔保持稳定的合作关系,微软服务器Windows Server一直运行基于英特尔技术设计的芯片。 微软在一篇为周三产品发布而准备的博客中称,公司已与智能手机芯片主要供应商高通公司(Qualcomm Inc., QCOM)和知名度稍低的硅谷芯片生产商Cavium Inc. (CAVM)合作,使Windows Server适配其ARM服务器芯片。微软还表示,已与多家ARM供应商合作对其芯片进行最优化
[嵌入式]
热门资源推荐
热门放大器推荐
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved