![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
驱动
文章平均质量分 60
05jin
嵌入式linux,stm32
展开
-
Linux kernel的调试技术
内核中的调试支持内核开发者在内核中建立了很多调试功能。但是这些调试功能会造成额外的输出,并且导致性能下降,因此发行版厂商通常会禁止发行版内核中的这些功能。但是作为一名内核开发者,调试需求具有更高优先级,从而乐意接受额外的调试支持而带来的性能损失。这里列出内核开发的几个配置选项,除特殊指出,所有这些选项均出现在“kernel hacking”菜单。并非所有体系架构都支持其中的某些选线。更多的调试功可能查看lib/Kconfig.debug文件,或者在menuconfig中搜索关键字debug。CO转载 2021-12-02 14:55:09 · 1116 阅读 · 0 评论 -
hid资料收集
从零开始学USB(二十三、USB接口HID类设备(五)_报表描述符总结)https://blog.csdn.net/qq_16777851/article/details/86482646HT66FB5x0 实现 2D Joystick 的程序范例(C 语言)https://www.docin.com/p-1016928771.html...原创 2020-04-01 11:11:40 · 170 阅读 · 0 评论 -
编译hostapd时,出现错误:/usr/bin/ld: cannot find -lnl
book@ubuntu:/work/project/wifi/04.hostapd/hostapd-2.0/hostapd$ make/usr/bin/ld: cannot find -lnlcollect2: ld returned 1 exit statusmake: *** [hostapd] Error 1问题原因是,没有找到 nl 库 !然后我搜索 这个 n...转载 2020-03-19 15:07:31 · 1251 阅读 · 1 评论 -
交叉编译openssl1.1.1a
交叉编译openssl1.1.1a 交叉编译openssl1.1.1a的时候遇到的问题,记录一下,方便下次查找一、下载源码1.打开openssl官网,下载openssl-1.1.1.tar.gz源码包。2.执行下面的命令解压源码包: $ tar xvzf openssl-1.1.1.tar.gz二、配置openssl1.执行下面的命令配置工程 $...原创 2020-03-19 11:30:21 · 582 阅读 · 0 评论 -
wpa_supplicant-2.6源码交叉编译
源码下载官网:https://w1.fi/releases/libnl-1.1.4交叉编译:./configure CC=xx-gcc \--prefix=/home/xx/openspurce/wpa_s_2_6/opensrc/release \--sysconfdir=/home/xxx/openspurce/wpa_s_2_6/opensrc/release --host...转载 2020-03-19 09:25:56 · 925 阅读 · 0 评论 -
disable_irq与disable_irq_nosync使用场景
disable_irq与disable_irq_nosync使用场景Linux设备驱动,关于中断屏蔽有两个接口:disable_irq和disable_irq_nosync,该两接口使用场景如下:1、disable_irq:在非中断处理函数中使用,会阻塞;2、disable_irq_nosync:在中断处理函数中使用,不会阻塞;用于屏蔽相应中断;一、为什么要屏...转载 2019-10-10 13:48:37 · 1976 阅读 · 0 评论 -
Linux内核:工作队列
1. 什么是workqueueLinux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue是内核中实现简单而有效的机制,他显然简化了内核daemon的创建,方便了用户的编程.工作队列(workqueue)是另外一种将工作推后执行的形式...转载 2019-03-19 14:06:34 · 271 阅读 · 0 评论 -
ubuntu/linux mint 创建proc文件
在做内核驱动开发的时候,可以使用/proc下的文件,获取相应的信息,以便调试。大多数/proc下的文件是只读的,但为了示例的完整性,都提供了写方法。方法一:使用create_proc_entry创建proc文件(简单,但写操作有缓冲区溢出的危险);方法二:使用proc_create和seq_file创建proc文件(较方法三简洁);方法三:使用proc_create_data和se...转载 2019-03-18 11:01:55 · 209 阅读 · 0 评论 -
linux内核驱动读写
/************************************************************************** * F U N C T I O N I M P L E M E N T A T I O N S * ***********************************************...原创 2019-01-11 15:16:05 · 412 阅读 · 0 评论 -
uevent分析
1.kobject, ktype, ksetkobject代表sysfs中的目录。ktype代表kobject的类型,主要包含release函数和attr的读写函数。比如,所有的bus都有同一个bus_type;所有的class都有同一个class_type。kset包含了subsystem概念,kset本身也是一个kobject,所以里面包含了一个kobject对象。另外,kset中...转载 2018-09-29 14:35:24 · 768 阅读 · 0 评论 -
Android——4.2 - 3G移植之路之usb-modeswitch (二)
在前文Android——4.2 - 3G移植之路之libusb (一) 中有解析到libusb 这个动态库的移植,目的就是为了 usb-modeswitch 服务。usb-modeswitch的作用就是转换usb型的设备状态,也是3G 移植中重要的准备工作! 撰写不易,转载请注明出处:http://blog.csdn.net/jscese/article/details/392...转载 2018-08-29 10:38:19 · 544 阅读 · 0 评论 -
中兴4g模块me3760拨号
拨号脚本打印的信息AT> AT+ZEACT=2//LTE 接入技术 LTE-TDD PrefATATATATATAT> AT+ZNCARD=1//1:切换为 Linux/Android系统下的端口组合(ECM)ATATATATATATATAT> AT+CPIN?//PIN 码输入ATAT> AT+COPS?//运营商选择原创 2017-05-26 14:17:55 · 3574 阅读 · 0 评论 -
中兴4g模块me3620拨号
中兴4g模块me3620拨号2.拨号流程3.9 AT CommandThe followingAT command is mainly concerned in this section:+CGDCONT: Setsthe related PDP parameters, including PDP type, APN and PDP address.+ZPAS: R原创 2017-05-26 12:00:07 · 3792 阅读 · 0 评论 -
字符设备初始化流程
字符设备初始化流程:1.register_chrdev_region() - register a range of device numbersalloc_chrdev_region() - register a range of char device numbers1.1Register a single major with a specified minor原创 2015-07-21 17:34:02 · 910 阅读 · 0 评论 -
内核模块 module_param()传递参数
module_paramstatic char *book_name = "dissecting Linux Device Driver";static int num = 4000;module_param(num, int, S_IRUGO); module_param(book_name, charp, S_IR转载 2015-07-21 15:17:06 · 1813 阅读 · 0 评论 -
insmod modprobe 功能说明
depmod 功能说明:分析可载入模块的相依性。语 法:depmod [-adeisvV][-m 文档>][--help][模块名称]补充说明:depmod可检测模块的相依性,供modprobe在安装模块时使用。参 数: -a或--all 分析任何可用的模块。 -d或debug 执行排错模式。 -e 输出无法参照的符号。 -i 不检查符号表转载 2015-07-08 10:00:14 · 573 阅读 · 0 评论 -
详解Linux内核之双向循环链表
转载:http://blog.chinaunix.net/uid-14114479-id-2932024.html本文详解了内核中面向对象的list结构的原理,以及如何以list为内嵌对象来构造自己的链表结构,如何从内嵌list对象获得自定义的对象指针;探讨了各种宏或者函数的详细使用方法及怎样以通用list结构来操作自定义对象。【关键字】双向循环链表,list,list_entry,typ转载 2015-06-17 10:47:57 · 527 阅读 · 0 评论 -
设备文件、设备文件节点 、设备 、设备驱动 区别
1.设备Linux下的设备通常分为三类,字符设备,块设备和网络设备。见的字符设备有鼠标、键盘、串口、控制台等。常见的块设备有各种硬盘、flash磁盘、RAM磁盘等。在Linux里一个网络设备也可以叫做一个网络接口,如eth0,应用程序是通过Socket而不是设备节点来访问网络设备,在系统里根本就不存在网络设备节点。网络接口没有像字符设备和块设备一样的设备号,只有一个唯一的名字,原创 2015-06-16 20:45:20 · 5989 阅读 · 0 评论