您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

如安在嵌入式LINUX中添加配置驱动步调

发布日期:2011-05-13


    驱动步调的利用可以根据两种要领编译,一种是静态编译进内核,另一种是编译成模块以供动态加载。由于uClinux不支持模块动态加载,并且嵌入式LINUX不克不及够象桌面LINUX那样机动的利用insmod/rmmod加载卸载配置驱动步调,因而这里只先容将配置驱动步调静态编译进uClinux内核的要领。 

    下面以UCLINUX为例,先容在一个以模块要领出现的驱动步调test.c底子之上,将其编译进内核的一系列步调:

(1) 窜改test.c源代码

第一步,将原来的:

#include

#include

char kernel_version[]=UTS_RELEASE;

窜改为:

#ifdef MODULE

#include

#include

char kernel_version[]=UTS_RELEASE;

#else

#define MOD_INC_USE_COUNT

#define MOD_DEC_USE_COUNT

#endif

第二步,新建函数int init_test(void)

将配置注册写在此处:

result=register_chrdev(254,"test",&test_fops);

(2)将test.c复制到/uclinux/linux/drivers/char目次下,并且在/uclinux/linux/drivers/char目次下mem.c中,int chr_dev_init( )函数中增长如下代码:

#ifdef CONFIG_TESTDRIVE

init_test();

#endif

(3) 在/uclinux/linux/drivers/char目次下Makefile中增长如下代码:

ifeq($(CONFIG_TESTDRIVE),y)

L_OBJS+=test.o

Endif

(4)在/uclinux/linux/arch/m68knommu目次下config.in中字符配置段里增长如下代码:

bool 'support for testdrive' CONFIG_TESTDRIVE y

(5) 运行make menuconfig(在menuconfig的字符配置选项里你可以望见我们方才添加的'support for testdrive'选项,并且已经当选中);make dep;make linux;make linux.text;make linux.data;cat linux.text linux.data > linux.bin。

(6) 在 /uclinux/romdisk/romdisk/dev/目次下创配置置装备摆设:

mknod test c 254 0

并且在/uclinux/appsrc/下运行make,天生新的Romdisk.s19文件。

到这里,在UCLINUX中增长配置驱动步调的变乱可以说是完成了,只要将新的linux.bin与Romdisk.s19烧入目标板中,你就可以利用本身的新配置test了。