驱动开发知识点

裸机开发 ------------------------------------------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状态。

相关推荐
TeYiToKu2 小时前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
学习嵌入式的小羊~1 天前
linux驱动-i2c子系统框架学习(1)
linux·驱动开发
挨踢小明2 天前
DPDK eth 网卡驱动开发
驱动开发
TeYiToKu3 天前
笔记整理—linux驱动开发部分(6)platform平台总线
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件
学习嵌入式的小羊~3 天前
linux驱动-认识输入子系统源码以及裁剪
linux·驱动开发
学习嵌入式的小羊~5 天前
linux驱动—input输入子系统
驱动开发
深度学习渣5 天前
SCSI驱动与 UFS 驱动交互概况
驱动开发·交互
郁大锤6 天前
linux alsa-lib snd_pcm_open函数源码分析(一)
linux·驱动开发·嵌入式硬件·音频·pcm·视频编解码
郁大锤6 天前
linux alsa-lib snd_pcm_open函数源码分析(二)
linux·驱动开发·嵌入式硬件·音视频
weixin_750335527 天前
OpenHarmony驱动开发--UART(串口)驱动
驱动开发