首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Linux驱动开发
黑鸟858
创建于2022-04-12
订阅专栏
介绍linux内核架构,及各种驱动的原理和开发方法。
等 10 人订阅
共34篇文章
创建于2022-04-12
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
一文搞懂IIC设备驱动编写
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 参考资料: Linux2.6之IIC驱动_月月鸟呀的博客-CSDN博客 Linux3.4.2之IIC驱动_月月鸟呀的博客-CSDN博客 1、IIC
一文搞懂Linux内核rtc驱动原理
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 参考资料:韦东山第二期经典视频教程 1、rtc内核驱动分析 linux内核中的rtc驱动位于drivers/rtc下,里面有许多开发平台的RTC驱
gdb+gdbserver调试详解
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 1、gdb+gdbserver总体介绍 远程调试环境由宿主机GDB和目标机调试stub共同构成,两者通过串口或TCP连接。使用 GDB标准串行协议
通过oops信息调试用户应用程序
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 参考文献:韦东山视频 要解决的问题:在开发板上运行程序时,如果遇到段错误,提示信息仅仅如下提示: 并没有像之前我们在调试内核驱动程序时那样,完整显
根据栈信息确定函数调用过程
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 ARM架构下函数调用时的栈空间使用 ARM架构下的寄存器用途: 栈的原理:栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按
裸板开发中的串口收发(有/无开发板)
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 文章背景:学习到STM32裸板开发中的串口收发实验,苦于没钱买开发板,现在的电脑也鲜有自带串口的,所以想着能否空手套白狼,直接利用KEIL5在线完
并发控制
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 在为操作系统编写驱动设备时,因为涉及到中断、多任务和多处理器SMP的处理,所以内核提供了诸如中断屏蔽、原子操作、信号量、完成量等几种并发控制机制,
linux内核中的各种内存分配函数:kmalloc、vmalloc、slab、__get_free_pages、mempoll_alloc
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 【摘要】本文叙述了在Linux内核中常见的几种内存分配函数及其异同,对理解linux底层内存分配机制有个较好理解。 1、kmalloc() kma
阻塞与非阻塞
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 阻塞操作是指在执行设备操作时若不能获得资源则挂起进程,直到满足可操作的条件后再进行操作。被挂起的进程进入休眠状态,被从调度器的运行队列移走,直到等
Linux内核延时机制
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 内核中涉及的延时主要有两种实现方式:忙等待或者睡眠等待。前者阻塞程序,在延时时间到达前一直占用CPU,而后者是将进程挂起(置进程于睡眠状态并释放C
Linux虚拟内存机制详述
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 原文链接:https://mp.weixin.qq.com/s/78FKGAytTTbf5vJRD-wxdA 本文首先介绍虚拟内存机制产生的原因,
Linux系统内核升级与源码下载
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 1. 下载当前内核源代码 为什么下载内核源代? 一是便于查看或学习linux内核代码的底层实现方法; 二是便于编写或调试Linux设备驱动程序,因
Linux内核编译流程
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 1. 内核编译的基本流程 <获取源代码>, 如有需要则进行修改; <配置>; <编译>; [根据发布版生成相应的源码包]; <安装内核映像和模块>
Linux中的信号机制
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 信号就是一条消息,通知进程系统中发生了什么事,每种信号都对应着某种系统事件。一般的底层硬件异常是由内核的异常处理程序处理的,它对用户进程来说是透明