- 博客(6)
- 收藏
- 关注
原创 linux中断
摘要:Linux中断系统是驱动与硬件交互的关键机制,分为上半部和下半部处理。上半部负责快速响应硬件中断,执行关键任务;下半部通过软中断、tasklet或工作队列处理耗时操作。驱动通过设备树描述中断信息,使用platform_get_irq()获取中断号,并调用request_irq()注册中断处理函数。开发时需注意上半部不能阻塞、减少执行时间,下半部处理耗时任务,确保系统实时性。设备树动态描述中断信息增强了驱动可移植性。
2025-08-14 11:41:48
1408
原创 linux内核定时器
本文介绍了Linux内核定时器的原理与应用。内核定时器通过timer_list结构实现延迟任务执行,适用于周期检测、超时处理等场景。其核心机制基于HZ节拍率(通常100-1000Hz),通过jiffies记录系统节拍数。文章详细讲解了定时器API使用流程(定义、初始化、启动、修改和删除),并特别强调回调函数运行在软中断上下文的注意事项(不可睡眠、需手动重启周期定时)。文中提供了LED闪烁的典型示例,并对比了不同定时场景的选型建议:timer_list适合低精度周期任务,hrtimer适用于高精度需求。最后指
2025-08-14 11:40:21
610
原创 linux并发与竞争
互斥体是一种特殊的二进制信号量,专门用于互斥访问。/* 定义一个互斥体 *//* 初始化互斥体 *//* 上锁 *//* 临界区 *//* 解锁 */// 检查状态。
2025-08-14 11:39:12
1786
原创 linux设备树
设备树是一种用来描述硬件信息的机制,用于让 Linux 内核在启动时获取硬件结构,而无需在内核中硬编码。它是一个与 CPU 架构无关的硬件描述文件(主要用于 ARM、RISC-V 等嵌入式平台)。让内核代码和硬件解耦方便不同硬件平台的内核维护可以通过修改设备树文件(.dts)快速适配新硬件为什么要用设备树?(硬件解耦 + 内核移植方便) 主要是硬件解耦和方便移植。内核不用硬编码外设信息,只改.dts就能适配不同硬件,大大减少内核修改量。哪些平台一定要用设备树?
2025-08-14 11:37:12
819
原创 字符设备驱动开发
系统调用机制:理解用户态到内核态的转换过程内核编程特点:了解与用户态编程的区别驱动框架结构:掌握file_operations、cdev等核心概念模块管理:熟练使用insmod、rmmod等命令5. 地址映射概念和实现MMU 主要完成的功能如下:①、完成虚拟空间到物理空间的映射,即地址映射。②、内存保护,设置存储器的访问权限,设置虚拟存储空间的缓冲特性虚拟地址(VA,Virtual Address)、物理地址(PA,Physcical Address)。
2025-08-14 11:35:04
1649
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅