摘要: 为了降低设备多样性带来的Linux驱动开发的复杂度,以及设备热拔插处理、电源管理等,Linux内核提出了设备模型(也称作Driver Model)的概念。设备模型将硬件设备归纳、分类,然后抽象出一套标准的数据结构和接口。驱动的开发,就简化为对内核所规定的数据结构的填充和实现。 http://www. 阅读全文
posted @ 2025-03-23 18:46 天刚刚破晓 阅读(55) 评论(0) 推荐(0)
摘要: 设备树格式 / { 属性名 = "属性值","可以多个"; 标签(通常是节点名简写): 字节点名@地址 { 属性名 = "属性值"; 属性名 = [0x00 0x01]; 属性名 = <1 2 3>; }; } &标签 { 属性名 = "向标签的节点追加内容"; }; 特殊节点: aliases { 阅读全文
posted @ 2025-03-09 17:12 天刚刚破晓 阅读(63) 评论(0) 推荐(0)
摘要: 为什么要内核同步 防止共享资源的并发访问导致数据不一致 并发执行的来源 中断 进程切换 多处理器 内核同步的方法 主要就是 信号量 和 自选锁 两种加锁方式 原子操作 内核中定义了原子量类型atomic_t, 可以通过下面的函数来操作原子量 原子数操作 说明 ATOMIC_INIT(int) 初始化 阅读全文
posted @ 2025-03-03 20:43 天刚刚破晓 阅读(33) 评论(0) 推荐(0)
摘要: 如何往内核里添加一个字符驱动程序 分配设备号 前置: * 设备号分为主设备号和次设备号. * 主设备号是分配给设备驱动程序的唯一标识符,用于标识设备所属的驱动程序。它告诉内核在访问设备时应该调用哪个驱动程序来处理请求. * 次设备号是与主设备号配合使用的较小标识符,用于区分同一主设备号下的不同设备实 阅读全文
posted @ 2025-02-28 21:36 天刚刚破晓 阅读(22) 评论(0) 推荐(0)
摘要: 什么是 Linux 模块 Linux模块,也就是可加载内核模块(LKMs),允许在运行时动态加载到内核中。 这说明两点: 是内核模块, 也就是说是内核的一部分, 只能依赖内核的接口, 且必须遵循内核的规则. 运行时可加载, 这避免了重复编译内核和重启系统. 并且内核和模块是分开的, 部署更灵活. 同 阅读全文
posted @ 2025-02-24 15:42 天刚刚破晓 阅读(40) 评论(0) 推荐(0)
摘要: 主要记录大致步骤. qemu 安装 https://www.qemu.org/download/ wget https://download.qemu.org/qemu-9.2.1.tar.xz tar --xz --get --file qemu-9.2.1.tar.xz cd qemu-9.2. 阅读全文
posted @ 2025-02-19 21:15 天刚刚破晓 阅读(171) 评论(0) 推荐(0)
摘要: FPGA 学习笔记1 本系列文章用于记录FPGA学习过程, 类似流水账,不做总结提炼. blink LED 设计 模块化设计, 这里分为 分频器, led控制器, 复位信号产生器. 实现 分屏器 module Clk_div #( parameter DIV = 5000 )( input i_cl 阅读全文
posted @ 2024-08-29 23:31 天刚刚破晓 阅读(37) 评论(0) 推荐(0)
摘要: 学c语言时对 x++ 或 ++x 的理解是 "先取值再+1, 先+1再取值" 今天在理解代码上遇见了问题 list.erase(it++); 对上面代码我理解等效于 list.erase(it); it++; 然而实际上这个代码运行不起来, 因为erase的时候it会被设置未空,再执行it++就会c 阅读全文
posted @ 2024-07-15 17:59 天刚刚破晓 阅读(9) 评论(0) 推荐(0)
摘要: 本文仅记录当时的思考,并没有完整详细的解决方案 上下文 在写UT的时候我遇见下面这种情况 //success EXPECT_CALL(mock,func1()).Willonce(Return(yes); EXPECT_CALL(mock,func2()).Willonce(Return(yes); 阅读全文
posted @ 2024-05-29 11:21 天刚刚破晓 阅读(53) 评论(0) 推荐(0)
摘要: enum class foo{min,mid,max};//必须使用枚举名使用符号:foo::min。且不能隐式转换类型。 enum class:short foo{};可以指定枚举的底层类型是short。 Stack a = stack();//这种方式是先声明一个匿名对象然后通过拷贝构造函数复制 阅读全文
posted @ 2024-05-10 10:59 天刚刚破晓 阅读(14) 评论(0) 推荐(0)