当前位置: 首页 > news >正文

学习嵌入式之硬件——ARM体系

一、ARM内核基础知识

1.ALU:算术逻辑单元;完成运算的电路

2.通用寄存器:R0~R15

  • R13(SP):栈指针寄存器:指向栈顶的位置;并在函数调用、中断处理等场景中自动更新。
  • R14(LR):链接寄存器:保存PC要回来的位置,在PC调用完了,把地址给PC
  • R15(PC)program counter 程序计数器;保存当前指令要执行的下一条指令的地址
  • R0~12:随便存

3.cache:高速缓存;RAM和内核速度不匹配;

  •         I cache:指令高速缓存    instruction
  •         d cache:数据高速缓存   data

4.MMU:memory management unit 

        内存管理单元;映射虚拟内存和物理内存:提高内存的使用效率

5.CPSR:current program status register

        当前程序状态寄存器,有一位可调整大小端,默认小端

6.SPSR:saved program status register

        用于保存程序状态寄存器(CPSR)的值

7.CISC:complex instruction set computer

        复杂指令计算机;体积大功耗大成本高,不适合便捷;在80%情况下,只能用20%功能

8.RISC:reduce  instruction set computer

        精简指令集计算机,容易集成在便携式设备上

9.cortex 系列:(从ARM 11)

  •         cortex  A:应用,消费类电子,便携类设备;A7系列
  •         cortex R:实时性高,高端,军工、卫星;
  •         cortex M:单片机系列

A:arm  32位  指令

T:sam 16位

10.哈佛结构和冯诺依曼

(1)哈佛架构

  • 程序存储和数据存储分离:哈佛架构使用独立的存储器和总线来分别存储程序和数据。程序存储器专门用于存储指令,数据存储器用于存储变量和数据。

(2)冯·诺伊曼架构

  • 程序存储和数据存储统一:冯·诺伊曼架构使用同一套存储器和总线来存储程序和数据。程序和数据存储在同一个存储空间中,通过地址来区分指令和数据。

11.总线(bus)

  •         AHB:先进的高速总线,连接高速设备,USB、RAM(早期叫北桥)
  •         APB:先进外设总线,连接低速设备串口、GPIO,定时器(早期叫南桥)

  PCI:插显卡
(1)多总线结构

  •         可选择的DMA总线:直接内存访问

(2)单总线结构:

DSP:数字图像处理

12.编译器

(1)汇编

  •         对内核进行一些操作,比如关闭MMU,打开SP,打开I cache,关闭d cache 
  •         arm-gcc:交叉编译工具链。编译出来的程序,电脑运行不了。只能运行在ARM板上,问题:编译出来的代码无法在主机运行,只能在目标机上运行

13.最小系统

封装方式:BGA封装、TSOP封装、COB封装

二、RAM&&ROM

1.RAM

(1)sram(static ram)
用晶体管存储0、1;

        速度快,成本高,存储密度低;

        应用于单片机。

(2)dram(dynamic ram)动态存储
用电容充放电存储0,1;

        功耗大,需要外接(外接刷新电路,电路复杂(定期向存储1的补充电荷)),读写速度低于sram,成本低,存储密度大;

        多应用与高端Soc。

(3)sdram(synchronous dram)
增加了同步电路,提高dram的数据读写速度(dram升级版)。

(4)ddr ram(ddr sdramldouble data rate sdram)
为sdram的下一代;双倍速(双数据速率)

(5)iram(internal ram)
注意iram并非是真正意义上的某种ram,通常iram就是 sram,它通常存在于Soc内部,所以被称为iram(Soc内部直接封装好在芯片内部的sram)

2、ROM

(1)rom非易失性存储器
最早的rom在出场时写入数据,之后无法更改。

(2)prom(programmable rom)可编程rom
出场后能够让用户写入一次数据,例如cdrom。

(3)eprom(erasable prom)可擦写prom
出场后可以擦除数据再次写入, 但需要特殊的设备,如紫外光等。

(4)eeprom(electically eprom)电可擦写可编程rom
无需专用设备就可以擦写,编程。

(4)flash闪存,新一代非易失性存储器
1)nor flash(或非falsh)
可直接被CPU寻址(每个字节都有独一无二的地址)

        2)nand flash(与非falsh)
不可被COU寻址,每个字节不可被寻址(用flash控制器可以访问)

扩:eMMc(电多媒体卡)
本质就是nand,也就是SD卡,不同之处:SD卡可拔可插,eMMc可直接焊在板子上。

3、存储系统的速度和价格对比

CPU可以直接访问主存存储器;

CPU有硬盘控制器(sd卡):ROM通过RAM再到CPU

TTL:

RA232:三根线,RDX、TDX、GND

DB9:2、3、9有用,对应收、发、地;其他是流控制;

三、ARM七种工作模式

Cortex——A:有九种

每种状态都有自己独立的栈区空间

ARM9 :37个寄存器

cortex A-7有40个寄存器

四、异常向量表(事件)

1.偏移量与异常向量表

        偏移量:异常函数处理的入口地址;

        异常向量表:用于存储不同类型异常发生时,处理器跳转到特定的异常处理程序的地址;

http://www.lryc.cn/news/612138.html

相关文章:

  • CubeFS存储(一)
  • 【前端开发】四. JS内置函数
  • [特殊字符]企业游学 | 探秘字节,解锁AI科技新密码
  • 【Linux】重生之从零开始学习运维之主从MGR高可用
  • 无人机航拍数据集|第6期 无人机垃圾目标检测YOLO数据集772张yolov11/yolov8/yolov5可训练
  • 【python】OpenCV—Defect Detection
  • AI浪潮下,FPGA如何实现自我重塑与行业变革
  • 深度模拟用户行为:用Playwright爬取B站弹幕与评论数据
  • 2025年高防IP隐身术:四层架构拆解源站IP“消失之谜”
  • 微算法科技(NASDAQ:MLGO)利用鸽群分散算法,提高区块链交易匹配算法效能
  • Kafka ISR机制和Raft区别:副本数优化的秘密
  • 智能提示词引擎的革新与应用:PromptPilot使用全解析
  • 北京JAVA基础面试30天打卡03
  • PDF注释的加载和保存的实现
  • Go语言数据类型深度解析:位、字节与进制
  • Git 乱码文件处理全流程指南:从识别到彻底清除
  • NodeJs学习日志(1):windows安装使用node.js 安装express,suquelize,sqlite,nodemon
  • 将英文PDF文件完整地翻译成中文的4类方式
  • jspdf或react-to-pdf等pdf报错解决办法
  • 使用阿里云服务器部署dify实战
  • Linux_详解进程信号
  • Python在大数据时代的角色与挑战:连接数据与智能的关键引擎
  • 大数据之HBase
  • 数字驾驶舱是什么意思?如何搭建驾驶舱
  • Hive【应用 04】常用DDL操作(数据库操作+创建表+修改表+清空删除表+其他命令)
  • 技术博客:从HTML提取到PDF生成的完整解决方案
  • 周志华院士西瓜书实战(二)MLP+SVM+贝叶斯分类器+决策树+集成学习
  • 19day-人工智能-机器学习-分类算法-决策树
  • 在LLM小型化趋势下,AI Infra需要做出哪些相应调整?
  • TrustZone技术详解————这篇是AI写的包括图