View on GitHub

富乎 · 地问


avatar
辗转探寻为富乎?《天问》无解向地问!

<<< 返回主页

极简嵌入式ARM知识点
——基于NXP公司i.MX6ULL处理器

1、前言

2、ARM版本的特点

架构版本号 处理器家族(不完全列举)
ARMv1 ARM1
ARMv2 ARM2ARM3
ARMv3 ARM6ARM7
ARMv4 StrongARMARM8ARM7-TDMIARM9-TDMI
ARMv5 ARM7EJARM9EARM10EXScale
ARMv6 ARM11
ARMv7 ARM Cortex-AARM Cortex-MARM Cortex-R

3、处理器模式

4、寄存器简介

4.1 按功能划分

4.2 按处理器模式进行分组与共享

USR SYS FIQ IRQ ABT SVC UND MON HYP
R0 ~ R7
R8 ~ R12
R8_fiq ~ R12_fiq
R8 ~ R12
R13(SP)
SP_fiq SP_irq SP_abt SP_svc SP_und SP_mon SP_hyp
R14(LR)
LR_fiq LR_irq LR_abt LR_svc LR_und LR_mon R14(LR)
R15(PC)
APSR
CPSR
/ / SPSR_fiq SPSR_irq SPSR_abt SPSR_svc SPSR_und SPSR_mon SPSR_hyp
/
ELR_hyp

5、为何需要汇编语言?

  1. 芯片上电后,C语言环境还未准备好;

  2. C语言环境主要单元为各个大大小小的函数

  3. C函数调用涉及栈操作

  4. 栈要由SP指针访问,而SP指针需要在上电后手动初始化, 只能通过汇编指令来实现(汇编与机器码有简单的对应关系, 只需经过简单的翻译,与直接使用机器码无异)。

  5. 其他初始化工作,例如DDR初始化等,同理。

6、CISC架构与RISC架构

7、ARM指令集与Thumb指令集

8、GNU汇编语言通用格式

9、ARM汇编指令解析

10、程序布局(Layout)

10.1 保存在储存器的文件所呈现的布局

10.2 运行期加载到内存时所呈现的布局

11、应用程序二进制接口(ABI)

待补充。

12、浮点数、SIMD、NEON

待补充。

13、缓存与缓冲

待补充。

14、内存管理单元(MMU)

待补充。

15、内存重排序、乱序执行

待补充。

16、异常处理

待补充。

17、中断机制

18、电源管理

待补充。

19、倍频、分频、时钟、定时器

20、有线以太网

21、常见的基础通信接口

21.1 一些重要概念

21.2 串口(UART)

21.3 I2C

21.4 SPI

21.x 其余

待补充。

21.y 各通信接口对比

名称 引脚 连接方式 速率 协议特色 典型用途
UART GND
RXD
TXD
一对一 典型:115200 Bd 最简单 目标板调试、低速率工控设备通讯、蓝牙、GPS、GPRS等
I2C SCL
SDA
一主多从 标准:100 Kb/s
高速:400 Kb/s
基于地址;
应答式
温度传感器、陀螺仪、加速度计、触摸屏等
SPI CS/SS
SCK
MOSI/SDO
MISO/SDI
一主多从 一般可达到:x Mb/s 无地址,有片选;
时序更简单,速度比I2C更快
传感器、储存器、实时时钟、数模转换等

22、其余模块的功能简介、寄存器定义、及内存映射

22.1 IO复用

22.2 GPIO

其他

待补充。

23、蛋疼的缩略词(需结合语境)

英文缩写 英文全称 中文翻译(仅供参考)
ABI Application Binary Interface 应用程序二进制接口
ALU Arithmetic Logical Unit 算术逻辑单元
ARM Advanced RISC Machine 高级RISC机器
BSS Block Started by Symbol 以符号作为开头的块区域
CAN Controller Area Network 控制器局域网
CISC Complex Instruction Set Computer 复杂指令集计算机
CMOS Complementary Metal Oxide Semiconductor 互补金属氧化物半导体
CPU Central Processing Unit 中央处理器
CSI CMOS Sensor Interface CMOS传感器接口
DDR Double Data Rate (Synchronous Dynamic Random Access Memory) 双倍数据速率(同步动态随机访问储存器)
DMA Direct Memory Access 直接内存访问
DRAM Dynamic Random Access Memory 动态随机访问储存器
EEPROM Electrically Erasable Programmable Read-Only Memory 可电气擦除的可编程只读储存器
FIFO First In First Out 先入先出
GIC Generic Interrupt Controller 通用中断控制器
GPIO General Purpose Input/Output 通用型输入/输出
I2C / IIC Inter-Integrated Circuit 内部(还是跨域??)集成电路
JTAG Joint Test Action Group 联合测试行动组,一种调试接口标准
LCD Liquid Crystal Display 液晶显示器
MMU Memory Management Unit 内存管理单元
OSI Open System Interconnection 开放式系统互联
PLL Phase Locked Loop 锁相环
PPI Private Peripheral Interrupt 私有外设中断
PWM Pulse Width Modulation 脉冲宽度调制
RAM Random Access Memory 随机访问储存器
RISC Reduced Instruction Set Computer 精简指令集计算机
ROM Read-Only Memory 只读储存器
SDHC Secure Digital High Capacity 高容量安全数字(规范/标准),即新一代的SD卡规范/标准
SGI Software-Generated Interrupt (由)软件产生的中断
SIMD Single Instruction Multiple Data 单指令多数据
SNVS Secure Non-Volatile Storage 安全型非易失性储存器
SoC System on Chip 片上系统
SPI Serial Peripheral Interface / Shared Peripheral Interrupt 串行外(围)设(备)接口 / 共享型外设中断
SDRAM Synchronous Dynamic Random Access Memory 同步动态随机访问储存器
SRAM Static Random Access Memory 静态随机访问储存器
TTL Transistor-Transistor Logic 晶体管-晶体管逻辑
UART Universal Asynchronous Receiver/Transmitter 通用异步收发器,通常简称为串口
USB Universal Serial Bus 通用串行总线

2024-11-25注:更多缩略词可查阅这篇文章,此表不再更新。

24、参考材料

  1. ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition (宜作为字典,按需查询)

  2. ARM Cortex-A Series Programmer’s Guide V4.0 (建议通读一遍)

  3. i.MX 6ULL Applications Processor Reference Manual (宜作为字典,按需查询)

25、温馨提示

书山有路找捷径,学海无涯抓重点!

秘笈