随笔分类 -  linux驱动

摘要:一、进程数据结构和组织 二、进程切换 三、进程创建 四、进程调度 进程是一个程序运行的实例,操作系统通过并行和并发的运行多个进程实现多个任务的并行处理;从系统资源的角度看,多个进程同时运行时,操作系统以进程为单位来分配系统资源(比如CPU时间、内存等); 进程作为系统资源分配的实体,而调度的基本单位 阅读全文
posted @ 2024-12-01 22:27 小小的番茄 编辑
摘要:一、内存寻址 1.1 逻辑地址、线性地址、物理地址的概念 1.2 逻辑地址转换线性地址步骤 1.3 线性地址到物理地址的转换 二、内存管理 2.1 引导内存分配器阶段 2.2 内存管理子系统 2.3 32位架构的地址空间划分 2.4 64位架构的地址空间划分 2.5 内核态的内存管理 2.6 用户态 阅读全文
posted @ 2024-11-04 23:15 小小的番茄 编辑
摘要:一、概述 二、usb总线硬件原理 三、usb总线通信协议 四、uboot基于DM框架的usb驱动代码流程 一、概述 本文旨在对usb总线驱动的学习做一个总结; 先描述usb总线的硬件结构及工作原理; 然后描述usb总线通信协议规范的主要内容,搞清楚usb主机和usb设备是如何基于包进行通信的; 最后 阅读全文
posted @ 2023-12-10 10:39 小小的番茄 编辑
摘要:四、linux软中断实现机制 软中断是一种内核机制,又叫做中断的“底半部”;内核定义了10种软中断,从程序实现上看,软中断就是一组函数,一种软中断一个函数,只不过内核设计了一种机制来调用这些函数;我们在使用软中断的时候,只要把我们的函数挂在这些软中断的执行函数里面,那么,内核就会通过软中断运行机制调 阅读全文
posted @ 2022-08-06 10:18 小小的番茄 编辑
摘要:串口DMA驱动实现分析 1.1 DMA控制器基本原理 DMA控制器用于实现各类存储介质间的数据搬移,存储介质包括内存以及各类外设的寄存器空间; 基本的工作原理是,配置好DMA控制器后,通过软件或DMA请求线的方式启动DMA传输,搬移数据时,独自控制系统总线,不需要CPU干预; DMA在完成数据搬移完 阅读全文
posted @ 2022-06-26 23:28 小小的番茄 编辑
摘要:三、arm32中断处理软件子系统 中断软件子系统负责cpu检测到中断以后的处理,总体来看,可以分为三个部分:中断向量函数、中断控制器驱动部分以及用户接口部分; 中断向量函数放在中断向量表里面,每一种中断对应一个中断向量函数,软件在初始化时需要创建一个中断向量表,放在内存中并通过协处理器cp15告诉c 阅读全文
posted @ 2022-06-26 11:54 小小的番茄 编辑
摘要:二、arm32中断子系统的硬件原理 如上图所示,arm32中断子系统的硬件主要由3个部分构成:外设、中断控制器GIC以及cpu;外设产生中断后,通过中断线汇聚到GIC,GIC处理后,统一分发给各个cpu。除了外设能产生中断,cpu产生的核间中断,以及cpu自己的私有中断都是先汇聚到GIC,由GIC统 阅读全文
posted @ 2022-06-25 16:54 小小的番茄 编辑
摘要:一、预备知识 中断处理与cpu体系结构强相关,比如x86处理器与arm处理器对中断的处理方式是不一样的;本文对arm32的中断子系统进行分析,因此首先需要熟悉一些arm32体系结构的知识。 1.1 arm32处理器的运行模式 处理器模式 描述 用户模式(User, usr) 正常程序执行的模式 快速 阅读全文
posted @ 2022-06-25 16:29 小小的番茄 编辑

点击右上角即可分享
微信分享提示