自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 Cache 和 MMU作用

Cache 和 MMU作用

2025-08-07 23:28:07 449

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除