发布时间:2013-10-30 21:32:25
代码写好了,编一把吧。这篇博文将针对linux内核态与用户态通信方式中的procfs进行详细的学习。/proc主要存放内核的一些控制信息,所以这些信息大部分的逻辑位置位于内核控制的内存,在/proc下使用ls -l你会发现大部分的文件或者文件夹的大小都是0,不过使用cd命令进到文件夹下或者使用cat命令查看某些文件的内容确实.........【阅读全文】
发布时间:2014-03-27 16:12:00
__attribute__ ((__section__ (".init.text")))在kernel中有很多__init,这个东东到底是何方神圣捏?且听小生我一一道来。下面是其定义:file:/include/linux/init.h 43 #define __init __attribute__ ((__section__ (".init.text"))) __cold 44 #define __initd.........【阅读全文】
发布时间:2014-02-11 14:50:09
今天发现一个好东西:kernel/Documentation/i2c/writing-clients 是如何添加一个i2c驱动的知道文档。找个译文粘贴过来:使用主机Linux作为host/master要建立一个驱动程序,您需要做几件事情。有些是可选的,有些事情可以做小,甚至完全不同。作为本指南,而不是作为一个规则的书!一般意见===============.........【阅读全文】
发布时间:2014-02-11 09:44:56
1、在arch/arm/mach-xxx/ 自己的平台文件里添加i2c信息,美其名曰:i2c_board_info例如:static struct i2c_board_info __initdata xxxi2c_board_info[] = { { I2C_BOARD_INFO("abcd1", 0x20), /* 字符串要与后面的匹配,0x20是从设备地址 */ &n.........【阅读全文】
发布时间:2013-12-26 17:23:22
一、如何给9x25或者9x15(arm-linux)添加属于自己的系统调用:1.牵扯到修改的几个文件:kernel/arch/arm/include/asm/unistd.h :为每个系统调用指定一个固定的值。kernel/arch/arm/kernel/calls.S:系统调用的声明。2.添加自己的系统调用:给1中的unistd.h中的最后添加一行:#define __NR_my_add (__.........【阅读全文】