linux
文章平均质量分 77
zhudaozhuan
这个作者很懒,什么都没留下…
展开
-
Linux程序存储结构与进程结构 堆和栈的区别
摘要:本文主要讲述了Linux系统中,程序存储结构(代码区、数据段和BBS区)与进程的基本结构(代码区、数据段、BBS区、堆和栈),以及堆和栈的区别.Linux程序存储结构与进程结构1.Linux程序存储结构 在Linux系统下,程序是一个普通的可执行文件,图1是一个Linux下ELF格式可执行文件的基本情况. 图1 ELF格式可执行文件的基本转载 2016-07-09 15:00:25 · 1414 阅读 · 0 评论 -
关于kernel log level的基础知识
kernel中用printk来打印debug信息,关于printk有一个level的定义。3.10.40\include\linux\kern_levels.h#define KERN_EMERG KERN_SOH "0" /* system is unusable */#define KERN_ALERT KERN_SOH "1" /* action must b原创 2016-08-15 20:30:44 · 23975 阅读 · 1 评论 -
module_param的介绍
一般用户态传递参数是通过main函数,第一个参数表示args个数,即argc,第二个参数表示具体的参数。在kernel态,无法通过这样的方式传递参数,一般使用module_param的方式,步骤如下:1.使用module_param指定模块的参数2.加载driver时给模块传递参数source code如下:#include #include #incl原创 2016-08-15 20:31:48 · 16221 阅读 · 0 评论 -
proc机制demo
在proc下可以创建节点,driver可以echo或cat设备节点里的数据,和某些Module交互。下面是实现的一个proc demo,代码如下:// BT debug Begin#include #include #include //#ifdef CONFIG_MP_BCM_BT_REG_ON#define MAX_PROC_SIZE 20sta原创 2016-08-15 20:33:00 · 950 阅读 · 0 评论 -
HelloWorld Driver
尝试编写一个简单的driver,作为学习kernel的敲门砖。source code(hello_world.c):#include #include #include #include #include #include static int word_count_init(void){ printk(KERN_ALERT "word_count_init_原创 2016-08-12 18:04:11 · 487 阅读 · 0 评论