主页 PC知识 网管技术 黑客帝国 安全技术 开放系统 程序设计 搜索 技术论坛

 

相关联接
 
RHU本级分类

技术开发
桌面应用
嵌入技术
问答(FAQ)
基础知识
企业应用&技巧

 
RHU阅读排行
·μClinux嵌入系统外部硬件设备快速调试
·利用RTLinux开发嵌入式应用程序
·CPU与DSP结合为单一核心还有多远?
·浅谈嵌入式LINUX操作系统的概念和特点
·论嵌入式系统的技术发展与机遇
·基于Intel IXP网络处理器开发平台简介
·嵌入式操作系统的调试
·一个典型的嵌入式系统设计和实现
·珍贵资料:uClinux系统分析详解
·嵌入式Linux开发资源大全

 
 
RHU最新文章
·嵌入式Linux也SOHO SIPS技术应用简介
·物理隔离 关注Linux如何贯通安全通道
·你还在用MRTG吗?使用cacti监测系统性能
·一种改进嵌入Linux实时性的新型方案
·学习嵌入式Linux的笔记和体会
·基于嵌入式Linux的智能手机系统设计
·嵌入式操作系统UC/OS和uClinux比较分析
·Qt/Embedded在嵌入式Linux系统中的应用
·嵌入式实时程序设计中C/C++代码的优化
·主流嵌入式Linux动态扩展技术比较分析

 
 
RHU相关搜索









 
 
RHU广而告之

 
 
>您的位置:首页 -> Linux/Unix-> 嵌入技术
如何在嵌入式LINUX中添加设备驱动程序

作者:RHU-TAC编辑员 来自:RHU网络采集 时间:2005-5-14 双击滚屏 收藏本页 字体:


点击 查看RHU2004全年文章


驱动程序的使用可以按照两种方式编译,一种是静态编译进内核,另一种是编译成模块以供动态加载。由于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了。


OVER

[1] 页 RedHyphone.Union 投稿邮箱
[特别声明]:
本站文章大多搜索转载自网络中,如果侵犯了您的权利,请告之我们。本站将立即删除。
本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
查看评论】【向上滚屏】【关闭窗口】【 打印
-相关文章
  • openSUSE 11.1 Final - 正式发布
  • [视频]Opera Mini 4.2 正式版发布
  • dll注入系统进程(开源代码)
  • 认知盲区 解惑双网卡双线路DNS解析
  • FlashFXP 简体中文版 3.7.5 Build 1303 Beta[烈火]
  • -文章评论 (关闭)
    ·还没有相关的评论!

    网上大名:
    红旋风网络技术联盟 RHUTech.Union
     
    Copyright © 2000-2007 RedHyphone.Union All Rights Reserved. 红旋风联盟版权所有.皖ICP备05011033号
    中国红旋风网络技术联盟 | www.RedHyphone.net
    Mailto:Redhyphone@gamil.com