随笔分类 - ARM 体系结构
摘要:13.1 NOR FLASH 搬运 把程序从 nor flash 上搬运到 SDRAM 中 程序存储在 nor flash 上,运行时将程序搬运到 SDRAM 中运行 nor flash 启动:nor flash 的地址从 0x0000 0000 开始,CPU 可以直接在 nor flash 上运行
阅读全文
摘要:12.1 SDRAM 介绍 12.1.1 SDRAM 定义 SDRAM(Synchronous Dynamic Random Access Memory):同步动态随机存储器-内存条 同步是指内存工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准; 动态是指存储阵列需要不断的刷新来保证数据不
阅读全文
摘要:11.1 GPIO 介绍 11.1.1 GPIO 管脚 GPIO 即是输入输出端口,S3C2440A 包含了 130 个多功能输入/输出口引脚并且它们为如下显示的八个端口: 端口 A(GPA):25 位输出端口 端口 B(GPB):11 位输入/输出端口 端口 C(GPC):16 位输入/输出端口
阅读全文
摘要:10.1 S3C2440 内部资源 1.2V 内核供电, 1.8V/2.5V/3.3V 储存器供电, 3.3V 外部 I/O 供电,具备 16KB 的指令缓存和 16KB 的数据缓存和 MMU 的微处理器 外部存储控制器(SDRAM 控制和片选逻辑) LCD 控制器(最大支持 4K 色 STN 和
阅读全文
摘要:9.1 ARM 汇编与 C 的混合编程 9.1.1 内嵌汇编 __asm __asm("指令")例如关闭/打开总中断开关 CPSR 内联汇编语言中的寄存器名被编译器视为 C 或 C++语言中的变量,所以内联汇编中出现的寄存器名不一定和同名的物理寄存器相对应。这些寄存器名在使用前必须声明, 否则编译器
阅读全文
摘要:8.1 汇编程序格式 源程序中的语句可以分为两种类型:指令性语句、指示性语句 指示性语句就是一些伪操作,在 MDK 编译环境下的伪操作有下面几种: 符号定义伪操作 数据定义伪操作 汇编控制伪操作 其他伪操作 符号定义伪操作 数据定义伪操作 汇编控制伪操作 其他伪操作 8.1.1 符号定义伪操作 符号
阅读全文
摘要:7.1 数据处理指令 7.1.1 数据传送类 MOV 类指令:核内寄存器间的数据传送 加载和存储指令(L/S):核内寄存器与挂在存储器总线上器件的数据传送 注意: 核内寄存器就是 R0-R15 外设寄存器入 GPIO 的寄存器 核内寄存器就是 R0-R15 外设寄存器入 GPIO 的寄存器 7.1.
阅读全文
摘要:寻址方式是针对源操作数来说的 6.1 立即数寻址 源操作数是立即数 立即数:操作码以 # 号开头的数字为立即数 立即数寻址: MOV R0, #0x300 伪指令: LDR R0,=0x12345678 注意: 立即数是 8 位数据存储,用 X 表示(0~255),4 位存移位的次数,用 Y 表示(
阅读全文
摘要:5.1 介绍 CISC:复杂指令集 RISC:精简指令集 5.1.1 CPU 模型 复杂指令集和精简指令集取决于CPU 中的控制器的 N N=111(8051) 复杂指令集 N=34 (ARM) 精简指令集 SWAP(1) < > MOV (3) 2/8 定律 5.1.2 编程语言 编程语言分为编译
阅读全文
摘要:4.1 模式与异常 当正常程序流程被暂时停止发生异常,例如响应一个来自外设的中断。在处理异常前,必须保护当前的处理器状态,以便在完成处理程序后能恢复到原来的程序 。 异常的类型: Reset undefined instruction swi prefetch/bort data/abort Res
阅读全文
摘要:3.1 ARM 内部寄存器 ARM920T 总共有 37 个寄存器,其中 31 通用 32 位寄存器和 6 个状态寄存器,但不能在同一时刻对所有的寄存器可见。处理器状态和运行模式决定了哪些寄存器对程序员可见 3.1.1 ARM 状态时内部寄存器 在 ARM 状态,16 个通用寄存器和一个状态寄存器在
阅读全文
摘要:2.1 冯式结构与哈佛结构 2.1.1 两者的区别 如果是独立的存储架构和信号通道那就是哈佛结构,否则就是冯式结构 结构与是否统一编址没有关系,也与 CPU 没有关系,与计算机的整体设计有关 CACHE 的引入(CPU 内部哈佛结构) 总结:高性能单片机的为冯式结构,单片机为哈佛结构 相同存储(RA
阅读全文
摘要:1.1 ARM 分类 1.1.1 版本号分类 以前分类的是 ARM7,ARM9... ARM11,在 ARM11 之后,就是以 Cortex 系列分类了: Cortex-R:应用在实时系统上的系列 Cortex-M:替代单片机的系列,M0 M3 M4 M7 Cortex-A:A8 A9 A15 A7
阅读全文
摘要:17.1 IIC接口介绍 17.1.1 IIC 总线的概念 I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。 主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和
阅读全文
摘要:16.1 介绍 UART(Universal Asynchronous Receiver Transmitter),通用异步收发器,用来传输穿行数据时 UART 之间以全双工方式传输数据,连线方法只有 3 根电线:TXD 用于发送数据,RXD 用于接收数据,GND用于给双方提供参考地。 串口数据线以
阅读全文
摘要:15.1 介绍 CPU 的时钟控制逻辑既可以外接晶振,然后通过内部电路产生时钟源;也可以直接使用外部提供的时钟源,它们通过引脚的设置来选择。S3C2440A有两个锁相环,(MPLL)一个用于FCLK、PCLK和HCLK,(UPLL)另一个用于USB模块(48MHZ)。时钟控制逻辑给整个芯片提供三种时
阅读全文
摘要:14.1 中断体系 ARM 体系的CPU 有 7 种工作模式 用户模式(usr):ARM 处理器正常的程序执行状态 快速中断模式(fiq):用于高速数据传输或通道处理 中断模式(irq):用户通用的中断处理 管理模式(svc):操作系统使用的保护模式 数据访问终止模式(abt):当数据或指令预取终止
阅读全文