![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
通用kernel
不涉及具体项目模块的通过kernel开发资料和总结
binn_chern
这个作者很懒,什么都没留下…
展开
-
/proc/sys/vm/drop_caches
/proc/sys/vm目录下文件和内存管理有很大关系,值得再深入了解。原创 2020-03-06 14:12:38 · 795 阅读 · 0 评论 -
kernel bug汇总
开发过程中,遇到的kernel bug汇总中断响应不及时,中断信号丢失使用request_threaded_irq代替request_irq参考博文:https://blog.csdn.net/mcsbary/article/details/103728816BUG: scheduling while atomicBUG: scheduling while atomic 分析B...原创 2020-03-04 09:55:55 · 1663 阅读 · 0 评论 -
kernel中发送按键
有时需要在kernel中处理一个中断,仅仅是一个状态的变化,此时发送一个键值到app端,相对比较方便。在kernel中发送按键的函数void input_report_key(struct input_dev *dev, unsigned int code, int value)void input_sync(struct input_dev *dev)按键传送逻辑从逻辑看,按键发送...原创 2020-01-19 15:18:56 · 609 阅读 · 0 评论 -
kernel中hrtimer与kthread_run
这里不做两种异步工作的实现说明,主要针对工作中实际使用总结:方式实际使用hrtimer当定时器时间到,以timeout唤醒,执行回调函数,如果模拟一个波形,高频率的产生中断,系统稳定性不够好;占用系统资源较高,但定时准确性高,优先级高;适合处理短时间的事务kthread在线程函数中以delay形式循环执行,delay的形式,可以是释放cpu的,也可以是不释放cpu的...原创 2019-12-27 11:42:49 · 620 阅读 · 0 评论 -
request_threaded_irq与request_irq
经典博文文章链接备注linux中断申请之request_threaded_irqhttps://www.cnblogs.com/dirt2/p/5632061.html明确两种方式的优缺点linux驱动request_threaded_irq()https://blog.csdn.net/gx19862005/article/details/18740705中...原创 2019-12-27 11:19:31 · 2662 阅读 · 0 评论 -
spi设备驱动开发
最近做spi设备驱动开发,查了很多资料,很少有说清楚使用设备树开发和传统开发的区别。很幸运还是找到了一篇:Linux spi 设备驱动: https://blog.csdn.net/liangzhenliang/article/details/46629155简单总结下:1、使用设备树开发驱动,驱动可移植性高,和具体平台相关的信息可以通过设备树配置。2、传统设备驱动开发方式,和平台相关的参...原创 2019-07-18 09:53:20 · 507 阅读 · 0 评论 -
USB host、usb device、USB OTG的判断
USB host、usb device、USB OTG的判断经典博客经典博客OTG数据线与普通USB数据线有什么区别? https://www.jb51.net/shouji/332556.htmlUSB OTG简介、与普通USB线的区别 https://blog.csdn.net/mao0514/article/details/46345861linux usb驱动——host与dev...原创 2019-06-28 16:59:21 · 34730 阅读 · 0 评论 -
Kconfig详解
转载:https://www.cnblogs.com/Daniel-G/archive/2013/08/27/3284791.htmlhttps://blog.csdn.net/ultraman_hs/article/details/52984929下面截取/drivers/net下的Kconfig文件中的部分内容:# Network device configurationmenuc...转载 2019-09-02 21:21:05 · 5976 阅读 · 0 评论 -
android7.1(a40i)驱动开发--使用sys文件系统与用户空间交互
思路1、创建字符设备2、创建于字符设备关联的sys文件系统3、在用户空间,通关串口命令查看驱动状态使用示例代码#include <linux/kernel.h>#include <linux/types.h>#include <linux/module.h>#include <linux/init.h>#include &...原创 2019-10-10 11:33:08 · 585 阅读 · 0 评论 -
uart、rs232、rs485、usb的关系及使用模型
资料名称链接备注uart与usb对比分析http://www.elecfans.com/emb/jiekou/20171206595422_a.htmlusb、uart区别UART与USB为什么速度差那么多https://bbs.csdn.net/topics/360155810usb、uart区别UART\RS232与RS485的关系https://...转载 2019-07-26 10:45:20 · 1820 阅读 · 0 评论 -
设备驱动开发--使用中断
好的博文Linux驱动之按键驱动编写(中断方式):https://www.cnblogs.com/andyfly/p/9479763.html设备树学习(十四、引入设备树对中断的影响):https://blog.csdn.net/qq_16777851/article/details/87904300...转载 2019-07-19 17:46:18 · 172 阅读 · 0 评论 -
(一)DTS介绍
(一)DTS介绍DTS介绍目的和范围DTS和 IEEE™ 1275、ePAPR的关系DTS介绍http://devicetree.org/Device_Tree_Usage"Open Firmware Device Tree"或者简单设备树,是一种描述硬件的一种数据结构和语言。特别的是,使用DTS描述操作系统只读的硬件信息,因此操作系统中不需要硬编码描述设备信息。结构上,DT是一种树形结构...翻译 2019-05-04 16:03:39 · 16961 阅读 · 0 评论 -
kernel .config优化
kernel配置优化一、概述二、明确具体CONFIG作用三、Kconfig格式解析一、概述在嵌入式开发中,使用linux kernel不可避免,kernel支持的驱动非常庞大,删除不需要的驱动也是势在必行。那么那么多的配置,都有什么作用?该删除哪些呢?下面介绍一种快速明白相应配置的功能。二、明确具体CONFIG作用以USB模块为例在kernel编译时使用的.config部分内容如下:#...原创 2019-05-16 15:24:55 · 2673 阅读 · 0 评论 -
linux驱动开发架构
驱动模型最近开始开发驱动,现总结通用驱动开发模型如下驱动整体模型:添加一个设备,多数需要用户空间下发指令等操作。那么有两个问题:kernel如何控制设备用户空间如何和kernel中的驱动交互问题1:kernel中有各种总线,设备挂载在总线上,驱动通过kernel总线提供的接口初始化控制设备。问题2:kernel中提供文件设备驱动,在驱动中增加一个文件设备,如字符设备、pro...原创 2019-05-30 14:38:37 · 18207 阅读 · 4 评论 -
DEVICE_ATTR,device_create_file的使用
使用DEVICE_ATTR,可以在sys fs中添加“文件”,通过修改该文件内容,可以实现在运行过程中动态控制device的目的。类似的还有DRIVER_ATTR,BUS_ATTR,CLASS_ATTR。这几个东东的区别就是,DEVICE_ATTR对应的文件在/sys/devices/目录中对应的device下面。而其他几个分别在driver,bus,class中对应的目录下。这次主要介绍...转载 2019-05-28 17:32:35 · 1275 阅读 · 3 评论 -
各种initcall的执行先后顺序(module_init、postcore_initcall、arch_initcall、subsys_initcall、 fs_initcall)
现在以module_init为例分析initcall在内核中的调用顺序在头文件init.h中,有如下定义:#define module_init(x) __initcall(x);很明显,module_init()只是一个面具而已,揭开这个面具,下面藏着的是__initcall()__initcall()又是何方神圣呢?继续揭露真相:#define __initcall(fn)...转载 2019-05-28 17:50:39 · 1829 阅读 · 1 评论 -
Linux Platform驱动模型
Linux Platform驱动模型(一) _设备信息:https://www.cnblogs.com/xiaojiang1025/p/6367061.htmlLinux Platform驱动模型(二) _驱动方法:https://www.cnblogs.com/xiaojiang1025/p/6367910.htmlLinux Platform驱动模型(三) _platform+cdev:h...转载 2019-05-28 17:53:13 · 386 阅读 · 0 评论 -
kernel经典博客
ONE_Tech:https://www.cnblogs.com/xiaojiang1025/转载 2019-05-28 17:59:53 · 323 阅读 · 0 评论 -
kernel驱动开发--用户空间轮询驱动设备文件
推荐博文原理:https://blog.csdn.net/ZHYFXY/article/details/66971275原理与案例:https://blog.csdn.net/lee_jimmy/article/details/82975435案例:https://blog.csdn.net/yafeixi/article/details/72829703总结用户空间用户空间使用epo...原创 2019-07-19 09:25:39 · 182 阅读 · 0 评论 -
编译kernel外部模块
编译kernel外部模块一、说明二、编译外部模块条件语法三、编译脚本编写脚本脚本的几种实现方式四、编译包含头文件kernel头文件放置规则不同情况,头文件的使用五、编译安装目录(运行时编译)概述INSTALL_MOD_PATHINSTALL_MOD_DIR六、版本控制七、小技巧翻译:kernel/Documents/kbuild/modules.txt该篇文章介绍怎么编译kernel代码结构之...翻译 2019-03-31 18:43:04 · 3842 阅读 · 0 评论