Linux内核
习_霜
这个作者很懒,什么都没留下…
展开
-
有关linux内核模块的开发
1、在开发内核驱动模块开发的时候,我们要编写的源文件一般有.c和make文件如:hello.c#include #include MODULE_LICENSE("GPL");MODULE_AUTHOR("lanyzh");MODULE_DESCRIPTION("Hello world module");static int __init hello_init(转载 2013-05-12 20:30:18 · 707 阅读 · 0 评论 -
/proc/sysrq-trigger文件的功能
转自:立即重启计算机 echo "b" > /proc/sysrq-trigger立即关闭计算机 echo "o" > /proc/sysrq-trigger导出内存分配的信息 echo "m" > proc/sysrq-trigger (可以用/var/log/message查看)Outputs memory statisti转载 2017-03-17 13:06:44 · 448 阅读 · 0 评论 -
内核 API,第 3 部分: 2.6 内核中的计时器和列表
通过任务延迟 APIs 进行高效处理Linux® 内核包含种类繁多的 API,旨在帮助开发人员构建更简单、更高效的驱动程序和内核应用程序。可以用于任务延迟的两个常见 API 是列表管理 API 和计时器 API。探索这些 API,了解如何使用计时器和列表开发内核应用程序。本文继续讨论 “内核 API,第 2 部分:可延迟函数、内核微线程以及工作队列”(dev转载 2016-10-25 16:23:37 · 390 阅读 · 0 评论 -
内核 API,第 2 部分:可延迟函数、内核微线程以及工作队列
转自:http://www.ibm.com/developerworks/cn/linux/l-tasklets/Linux 2.6 bottom halves 简介对于高频率线程操作,Linux® 内核提供微线程和工作队列。 微线程和工作队列执行可延迟功能并替代驱动程序当中原有的 bottom-half 机制。 本文研究如何在内核中使用微线程和工作队列,并转载 2016-10-22 14:48:07 · 515 阅读 · 0 评论 -
在linux kernel中打印函数调用的堆栈的方法
在linux内核调试中,经常用到的打印函数调用堆栈的方法非常简单,只需在需要查看堆栈的函数中加入:dump_stack();或 __backtrace();即可。 dump_stack()在~/kernel/ lib/Dump_stack.c中定义 void dump_stack(void){ printk(KERN_NOTICE "This转载 2016-05-05 21:02:42 · 9838 阅读 · 0 评论 -
Linux驱动调试中的Debugfs的使用简介
Linux驱动调试中的Debugfs的使用简介 (2012-03-31 14:14)在调试linux驱动的时候,可以用debugfs来调试,debugfs类似字符设备驱动一样,甚至更简单,不需要主设备号次设备号等等,只需要实现一个file_operations,然后通过debugfs_create_file就可以在debugfs中建立一个文件结点,就像字符设备驱动那样,只需要对这个文件转载 2016-05-12 19:34:12 · 542 阅读 · 0 评论 -
linux内核模块签名(译)
转自:http://blog.csdn.net/liumangxiong/article/details/18730111linux内核模块签名内核在模块模块加载时使用加密签名验证,校验签名是否与已编译的内核公钥匹配。目前只支持RSA X.509验证。签名验证在通过CONFIG_MODULE_SIG使能。打开签名同时还会强制做模块ELF元数据检查,然后再做签名验证。转载 2016-05-25 10:10:23 · 3554 阅读 · 0 评论 -
模块签名
一、前言linux内核从3.7 开始加入模块签名检查机制,如果内核选项CONFIG_MODULE_SIG和CONFIG_MODULE_SIG_FORCE打开的话,当加载模块时内核会检查模块的签名,如果签名不存在或者签名内容不一致,会强制退出模块的加载。所以为模块签名就尤为重要。如果是内核选项CONFIG_MODULE_SIG_ALL打开,内核编译模块时会自动为模块签名。否则就要自己对模块签名。转载 2016-05-25 10:09:01 · 1975 阅读 · 0 评论 -
linux下I2C驱动架构全面分析
转自:http://blog.csdn.net/wangpengqi/article/details/17711165http://www.linuxidc.com/Linux/2014-05/101648.htmI2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根转载 2015-12-31 13:48:42 · 465 阅读 · 0 评论 -
linux iio子系统
转自http://blog.csdn.net/tsy20100200/article/details/47101661最近由于工作的需要,接触了Linux iio子系统,对于这个目录其实以前是很少接触,接下了对 Linux iio 子系统进行分析。1、首先 iio子系统在内核树中位置:drivers/staging/iio详细的iio子系统说明文档位转载 2015-12-28 15:33:13 · 1776 阅读 · 0 评论 -
在 Linux 下用户空间与内核空间数据交换的方式 --- Netlink技术
转自:http://blog.csdn.net/dire_666/article/details/9639215Netlink 是一种特殊的 socket,它是 Linux 所特有的,类似于 BSD 中的AF_ROUTE 但又远比它的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink 进行应用与内核通信的应用很多,包括:路由 daemon(NETLINK_RO转载 2015-11-09 11:57:41 · 449 阅读 · 0 评论 -
[翻译完成] 树莓派性能测试
转自:http://my.oschina.net/funnky/blog/141251?p=1#OSC_h3_3CPULinpack基准测试已经完成对Arm的linpack基准测试, 选用gcc带-O3 (优化等级3)编译代码[1]. 用200大小的数组运行.包括软件浮点源码编译/运行cc -O3 -o linpack转载 2015-10-16 13:57:44 · 2915 阅读 · 1 评论 -
Linux设备驱动之I/O端口与I/O内存
转自:http://www.cnblogs.com/geneil/archive/2011/12/08/2281367.html一、统一编址与独立编址该部分来自于:http://blog.chinaunix.net/space.php?uid=21347954&do=blog&id=443670,感谢mason_hu的分享。 从CPU连出来一把线:数据总线、地址总线、控制转载 2015-07-13 11:04:28 · 485 阅读 · 0 评论 -
Linux内核中ioremap映射的透彻理解
转自:http://www.linuxidc.com/Linux/2011-04/34295.htm几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种: (1)I/O映射方式(I/O-mapped) 典型地,如X86处理器为外设专转载 2015-07-13 10:20:54 · 456 阅读 · 0 评论 -
u-boot中的text、bss、data和rodata区别和联系
转自:http://blog.csdn.net/emsoften/article/details/44808409text段: 代码段(codesegment/textsegment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读,某些架构也允许代码段为可写,即允许修改程序。在代码段中,也有可能包含一些只读的常转载 2017-06-28 11:51:04 · 1155 阅读 · 0 评论