硬件基础知识

驱动开发分为:裸机驱动、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个通用寄存器

程序状态寄存器

相关推荐
redcocal2 小时前
地平线秋招
python·嵌入式硬件·算法·fpga开发·求职招聘
辰哥单片机设计5 小时前
门磁模块详解(防盗感应开关 STM32)
stm32·单片机·嵌入式硬件·传感器
夜间去看海5 小时前
基于51单片机的自动清洗系统(自动洗衣机)
嵌入式硬件·51单片机·proteus·洗衣机
yrx0203076 小时前
stm32 IIC总线busy解决方法
stm32·单片机·嵌入式硬件
钡铼技术物联网关8 小时前
Codesys 与 ARMxy ARM 工业控制器:工业控制的黄金组合
linux·运维·服务器·arm开发·硬件工程
Liii4038 小时前
【ARM】中断的处理
arm开发·arm
Archie_IT8 小时前
【STM32系统】基于STM32设计的SD卡数据读取与上位机显示系统(SDIO接口驱动、雷龙SD卡)——文末资料下载
arm开发·stm32·单片机·嵌入式硬件
辰哥单片机设计8 小时前
1×4矩阵键盘详解(STM32)
stm32·单片机·嵌入式硬件·矩阵·传感器
wmkswd8 小时前
CAN总线-STM32上CAN外设
stm32·单片机·嵌入式硬件