硬件基础知识

驱动开发分为:裸机驱动、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总线特点:

  1. 低功耗和低复杂度,适用于不需要高性能总线的外围设备。
  2. 非流水线结构,所有信号仅与时钟上升沿相关,简化了外围设备的设计流程。
  3. 每个传输至少需要两个时钟周期,不支持突发传输(Burst transfer)和流水线操作(Pipeline operation)。
  4. 控制逻辑简单,只有四个主要控制信号:PSEL(外设选择)、PENABLE(使能)、PWRITE(读写控制)、PREADY(准备好信号)。
  5. APB桥是APB总线中唯一的主设备,其他所有设备都是从设备。

AHB:高级高速总线

用于连接高性能模块,如CPU、DMA和DSP等。AHB总线支持突发传输和流水线操作,能够实现高带宽和低延迟的数据传输,适用于需要高性能总线的系统模块。

AHB总线特点:

  1. 高性能和高时钟频率操作。
  2. 支持流水线和突发操作。
  3. 支持多主机操作,但后续版本如AHB-lite和AHB5中不再支持多主机,而是通过添加Multi-layer interconnect组件实现多主机功能。
  4. 支持数据宽度可配置,常见的有32位、64位、128位等。
  5. 包含三种角色: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 在一起

  1. 五大部件组成:计算机由运算器、控制器、存储器、输入设备和输出设备五大部件组成。

  2. 存储程序原理:程序和数据存放在同一存储器中,并且没有对两者加以区分,指令和数据一样可以送到运算器进行运算。

  3. 二进制运算:指令和数据均以二进制编码表示,采用二进制运算。

  4. 指令结构:指令由操作码和地址码组成,操作码用来表示操作的类型,地址码用来表示操作数和操作结果的地址。

  5. 顺序执行:指令在存储器中按其执行顺序存放,由指令计数器指明要执行的指令所在的存储单元的地址。一般情况下,每执行完一条指令,指令计数器顺序递增。

  6. 运算器中心:机器以运算器为中心,输入/输出设备与存储器之间的数据传送都通过运算器。

哈佛结构:指令存储和数据存储完全分开,指令和数据各自拥有独立的存储器和总线

  1. 双存储器结构:拥有两个独立的存储器,一个用于存储指令,另一个用于存储数据。
  2. 并行处理能力:由于指令和数据可以被同时访问,哈佛架构支持并行处理,这在需要高速数据访问的应用中非常有用。
  3. 独立的总线:指令总线和数据总线是分开的,允许CPU同时在两个总线上进行操作。
  4. 适合嵌入式系统:哈佛架构常用于嵌入式系统和数字信号处理器(DSP),因为这些系统需要快速且高效的数据处理能力。
  5. 固定的指令长度:哈佛架构通常具有固定长度的指令,这简化了指令的获取和处理过程。
  6. 高效的内存使用:由于数据和指令存储器可以独立优化,哈佛架构能够更有效地使用内存。

MMU:内存管理单元

负责管理虚拟存储器、物理存储器的控制线路,同时也负责将虚拟地址映射为物理地址

MMU的主要功能包括:

  1. 地址转换:将虚拟地址转换为物理地址,使得操作系统可以为每个进程提供独立的虚拟地址空间。

  2. 内存访问授权:提供硬件机制的内存访问授权,确保内存访问的安全性和可靠性。

  3. 缓存管理:一些高级的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个通用寄存器

程序状态寄存器

相关推荐
极客小张3 小时前
基于STM32的智能充电桩:集成RTOS、MQTT与SQLite的先进管理系统设计思路
stm32·单片机·嵌入式硬件·mqtt·sqlite·毕业设计·智能充电桩
m0_739312876 小时前
【STM32】项目实战——OV7725/OV2604摄像头颜色识别检测(开源)
stm32·单片机·嵌入式硬件
嵌入式小章7 小时前
基于STM32的实时时钟(RTC)教学
stm32·嵌入式硬件·实时音视频
TeYiToKu7 小时前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
老衲不用@飘柔7 小时前
元器件篇——自恢复保险丝(PPTC)
硬件工程
基极向上的三极管8 小时前
【AD】3-4 在原理图中放置元件
嵌入式硬件
徐嵌8 小时前
STM32项目---水质水位检测
stm32·单片机·嵌入式硬件
lantiandianzi8 小时前
基于单片机的老人生活安全监测系统
单片机·嵌入式硬件·生活
东胜物联8 小时前
探寻5G工业网关市场,5G工业网关品牌解析
人工智能·嵌入式硬件·5g
stm32发烧友8 小时前
基于STM32的智能家居环境监测系统设计
stm32·嵌入式硬件·智能家居