驱动开发分为:裸机驱动、linux驱动
嵌入式:以计算机技术为基础,软硬结合的、可移植、可剪裁的专用计算机
单片机最小单元:vcc gnd reset 晶振
cpu --- soc :system on chip 片上外设
所有的程序都是在soc(cpu)中运行的
SOC:System on Chip的缩写,指的是系统级芯片,也称为片上系统。它是一种集成电路,集成了多个具有特定功能的电路,如处理器、存储器、传感器等,在一个单一的芯片上实现复杂系统的功能。SOC技术始于20世纪90年代中期,随着半导体工艺技术的发展,设计者能够在单个芯片上集成越来越多的功能,从而实现系统的小型化、性能提升和成本降低
kernel:
X86(桌面):CISC complex instruction set computer 复杂指令集电脑
ARM:低功耗,低体积,低成本:RISC reduces:精简的指令集
外设:GPIO、UART、I2C、WDT、LCD
在soc内部,放的都是这些外设的控制器,受kernel控制
APB:advance peripheral bus:高级外设总线
主要用于连接低带宽的外围设备,如UART、I2C和SPI等
APB总线特点:
- 低功耗和低复杂度,适用于不需要高性能总线的外围设备。
- 非流水线结构,所有信号仅与时钟上升沿相关,简化了外围设备的设计流程。
- 每个传输至少需要两个时钟周期,不支持突发传输(Burst transfer)和流水线操作(Pipeline operation)。
- 控制逻辑简单,只有四个主要控制信号:PSEL(外设选择)、PENABLE(使能)、PWRITE(读写控制)、PREADY(准备好信号)。
- APB桥是APB总线中唯一的主设备,其他所有设备都是从设备。
AHB:高级高速总线
用于连接高性能模块,如CPU、DMA和DSP等。AHB总线支持突发传输和流水线操作,能够实现高带宽和低延迟的数据传输,适用于需要高性能总线的系统模块。
AHB总线特点:
- 高性能和高时钟频率操作。
- 支持流水线和突发操作。
- 支持多主机操作,但后续版本如AHB-lite和AHB5中不再支持多主机,而是通过添加Multi-layer interconnect组件实现多主机功能。
- 支持数据宽度可配置,常见的有32位、64位、128位等。
- 包含三种角色:Manager、interconnects和Subordinate,其中Manager负责发起传输,Subordinate负责响应,interconnects负责连接
kernel:
ALU:算术逻辑单元
R0~R15:通用寄存器
计算机的指令集
1.CPU的指令集其实就是对计算机实时控制和计算的指令集和
2.分为复杂指令集和精简指令集
3.RISC:
CISC:
PC:程序计数
LR:链接寄存器,在硬件上实现函数调用
SP:堆栈指针
cache:高速缓存
I cache:指令缓存,存储最近使用过的指令,以便CPU能够快速访问和执行这些指令
D cache :数据缓存,存储频繁访问的数据,减少处理器访问主内存的次数,提高数据访问速度和整体系统性能
计算机架构
冯诺依曼架构:数据、指令 ran 在一起
-
五大部件组成:计算机由运算器、控制器、存储器、输入设备和输出设备五大部件组成。
-
存储程序原理:程序和数据存放在同一存储器中,并且没有对两者加以区分,指令和数据一样可以送到运算器进行运算。
-
二进制运算:指令和数据均以二进制编码表示,采用二进制运算。
-
指令结构:指令由操作码和地址码组成,操作码用来表示操作的类型,地址码用来表示操作数和操作结果的地址。
-
顺序执行:指令在存储器中按其执行顺序存放,由指令计数器指明要执行的指令所在的存储单元的地址。一般情况下,每执行完一条指令,指令计数器顺序递增。
-
运算器中心:机器以运算器为中心,输入/输出设备与存储器之间的数据传送都通过运算器。
哈佛结构:指令存储和数据存储完全分开,指令和数据各自拥有独立的存储器和总线
- 双存储器结构:拥有两个独立的存储器,一个用于存储指令,另一个用于存储数据。
- 并行处理能力:由于指令和数据可以被同时访问,哈佛架构支持并行处理,这在需要高速数据访问的应用中非常有用。
- 独立的总线:指令总线和数据总线是分开的,允许CPU同时在两个总线上进行操作。
- 适合嵌入式系统:哈佛架构常用于嵌入式系统和数字信号处理器(DSP),因为这些系统需要快速且高效的数据处理能力。
- 固定的指令长度:哈佛架构通常具有固定长度的指令,这简化了指令的获取和处理过程。
- 高效的内存使用:由于数据和指令存储器可以独立优化,哈佛架构能够更有效地使用内存。
MMU:内存管理单元
负责管理虚拟存储器、物理存储器的控制线路,同时也负责将虚拟地址映射为物理地址
MMU的主要功能包括:
-
地址转换:将虚拟地址转换为物理地址,使得操作系统可以为每个进程提供独立的虚拟地址空间。
-
内存访问授权:提供硬件机制的内存访问授权,确保内存访问的安全性和可靠性。
-
缓存管理:一些高级的MMU还支持缓存管理功能,如TLB(Translation Lookaside Buffer,转换旁路缓冲),以提高内存访问速度
NXP:恩智浦
STM:意法半导体
Atmel:
典型的SOC处理器
8051
DSP
MIPS
PPC
ARM
RISC V
CPU:中央处理单元.负责执行算术和逻辑运算、控制数据流以及管理计算机系统中的其他硬件和软件。
MCU:微控制器单元。集成了处理器核心、存储器和各种输入输出接口的单芯片微型计算机系统
MPU:微处理单元。集成了中央处理器(CPU)、内存、外设控制器和总线接口等功能,为电子设备提供强大的计算能力和数据处理能力。
GPU:图像处理单元(显卡)。GPU拥有数百或数千个内核,专为并行处理大量计算而设计,这使得GPU在处理图形渲染、数据分析、深度学习和机器学习等任务时表现出色。
内存
RAM:random access memory
ROM:只读存储器
计算机组成原理部分
硬件( Hardware )
计算机的实体部分,可以实现计算机最基本的操作行为。
软件( Software )
使计算机实现各种功能的程序集合。包括系统软件、应用软件两大类。
计算机系统 = 硬件系统 + 软件系统
计算机系统的硬件组成
输入设备:
输入设备的任务是把人们编好的 程序和原始数据 送到计算机中去,并且将它们 转换 成计算机内部所能识别和接受的 信息方式 。常用的有键盘鼠标、扫描仪等。
输出设备:
输出设备的任务是将计算机的处理 结果 以人或其他设备所能接受的形式送出计算机。常用的有
显示器、打印机、绘图仪等。
存储器:
存储器是用来存放 程序和数据 的部件,它是 一个记忆装置,也是计算机能够实现"存储程序
控制"的基础
运算器:
运算器是对信息进行处理和运算的部件,经常进行的运算是算术运算和逻辑运算,因此运算器
的核心是算术逻辑运算部件 ALU 。
运算器中有若干个寄存器(如累加寄存器、暂存器等)。
控制器 :
控制器是整个计算机的指挥中心。
控制器中主要包括时序控制信号形成部件和一些专用的寄存器
ARM 简介
ARM系列处理器工作模式
arm有37个寄存器
1个pc
1个cpsr
个spsr
3个通用寄存器