驱动开发知识点

裸机开发 ------------------------------------------linux驱动

SOC:

  • 定义:SOC,全称System on Chip,是一种集成了多个功能模块的芯片,包括处理器、内存、外设、接口等。它将原本分散在多个芯片上的功能集成到一个芯片上,形成一个完整的系统。
  • 特点:集成度高、功耗低、体积小、性能优越。SOC芯片的出现,使得嵌入式系统可以实现更多的功能,提高了系统的性能和可靠性。

kernel:

Kernel是操作系统的核心,负责管理和控制计算机的硬件资源,以及提供系统服务。

**X86:**x86内核在性能方面通常具有优势,尤其是在需要处理大量数据和复杂计算的应用场景中。然而,x86处理器的功耗相对较高,这可能限制了其在某些低功耗应用场景中的使用。

**ARM:**ARM内核在功耗方面表现出色,特别适用于需要长时间运行且对功耗有严格要求的移动设备和物联网设备。尽管ARM内核在性能上可能略逊于x86内核,但其在功耗方面的优势使得它在这些领域具有更强的竞争力。

APB:(Advanced Peripheral Bus)高级外围总线,主要用于连接处理器和外设之间的通信。APB总线具有简单、灵活、可靠等特点,特别适用于低功耗和低带宽的外围设备

外设:GPIO,I2C,UART , LCD

AHB:(Advanced High-performance Bus)AHB总线通常作为高性能的系统总线,连接处理器、内存和其他高性能的外围设备

存储器的分类:

RAM (随机存储器)RAM中的数据在断电后会丢失,因此它通常用于存储当前正在运行的程序和数据。

ROM(只读存储器) ROM中的数据在断电后不会丢失,因此它通常用于存储固定的、不需要频繁更改的信息。

nor flash :可以寻址

nand flash :不可寻址

**ALU(Arithmetic Logic Unit,算术逻辑单元)**是计算机中央处理器(CPU)中的一个重要组成部分。它是负责执行算术运算(如加、减、乘、除)和逻辑运算(如与、或、非、异或)的单元。ALU的输入通常来自CPU的寄存器或内存,而它的输出则可以被存储回寄存器或内存中,供进一步的处理。

ARM:

arm的7个基本工作模式:

ARM处理器的七种主要异常处理类型:

重置异常(Reset):系统启动时触发,初始化处理器状态。

未定义指令异常(Undefined Instruction):遇到未识别的指令时触发,处理器进入未定义模式。

软件中断异常(Software Interrupt):由软件请求系统服务时触发,通常用于调用操作系统功能。

预取异常(Prefetch Abort):当指令预取失败(如访问非法内存)时触发。

数据异常(Data Abort):在数据访问失败时触发,如访问非法地址。

IRQ中断(IRQ Interrupt):普通中断,处理优先级较低的外部中断。

FIQ中断(FIQ Interrupt):快速中断,处理优先级较高的外部中断,响应速度更快。

ARM寄存器:

通用寄存器(R0-R15):

R0-R12:用于数据处理和存储临时变量。

R13(SP):栈指针,指向当前栈顶。

R14(LR):链接寄存器,存储返回地址。

R15(PC):程序计数器,指向当前执行指令的地址。

特殊寄存器:

CPSR:当前程序状态寄存器,包含标志位和当前处理模式信息。

SPSR:保存程序状态寄存器,用于保存异常发生时的CPSR状态。

相关推荐
南天一梦N1 小时前
新的软件研发范式即将到来!
驱动开发·架构·系统架构·aigc·ai编程
电脑小管家3 小时前
蝰蛇鼠标驱动怎么安装?全型号驱动下载方法汇总
windows·驱动开发·计算机外设·电脑·游戏程序
赖small强4 小时前
【Linux驱动开发】 Linux `/proc` 虚拟文件系统深度解析与实战指南
linux·驱动开发·/proc·/proc/sys`·/proc/net
Saniffer_SH5 小时前
【每日一题】PCIe 里的 RefClk (Reference Clock) 到底是干什么的?
服务器·驱动开发·单片机·嵌入式硬件·fpga开发·计算机外设·硬件架构
赖small强6 小时前
【Linux驱动开发】Linux EXT4文件系统技术深度解析与实践指南
linux·驱动开发·ext4·superblock·super block·block bitmap·inode bitmap
范纹杉想快点毕业7 小时前
《STM32深度100问:AI助教工程师的实战问答录》从入门到精通适用入门嵌入式软件初级工程师,筑牢基础,技术积累
arm开发·数据库·驱动开发·mongodb·fpga开发
赖small强8 小时前
【Linux驱动开发】Linux虚拟文件系统(VFS)技术架构深度解析
linux·驱动开发·vfs·inode·ext4·superblock·目录项
icy、泡芙19 小时前
TF卡---热插拔
linux·驱动开发
Zeku19 小时前
20251125 - 韦东山Linux第三篇笔记【中】
linux·驱动开发
赖small强21 小时前
【Linux驱动开发】ESP-Hosted-FG 深度解析指南
linux·驱动开发·esp32·esp-hosted-fg