⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 把设备驱动程序编译进嵌入式linux内核(页 1) - 移动与嵌入式开发 - zdnetchina中文社区 资讯硬件软件开发技术论坛.htm

📁 在uclinux环境中以模块方式出现的驱动程序
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0047)http://bbs.zdnet.com.cn/archiver/tid-51942.html -->
<HTML><HEAD><TITLE>把设备驱动程序编译进嵌入式Linux内核(页 1) - 移动与嵌入式开发 - ZDNetChina中文社区 资讯|硬件|软件|开发|技术论坛</TITLE><LINK 
title=ROR href="sitemapIndex.php" type=application/rss+xml rel=alternate>
<META http-equiv=Content-Type content="text/html; charset=gbk">
<META 
content="Discuz!,Board,Comsenz,forums,bulletin board,技术论坛,ZDNet论坛,web2.0,数据库,vista,mp3,开发,数码,通信,网络,安全,操作系统,软件应用,问题求助,手机之家,数码相机" 
name=keywords>
<META 
content="驱动程序的使用可以按照两种方式编译,一种是静态编译进内核,另一种是编译成模块以供动态加载。由于uClinux不支持模块动态加载,而且嵌入式Linux不能够象桌面Linux那样灵活的使用insmod/rmmod加载卸载设备驱动程 ... ZDNetChina中文社区 ZDNetChina中文社区是以技术论坛为主,同时包括了博客,资讯,web2.0,硬件,软件,开发,行业新闻,焦点,评论,网络评论,数码,通信,服务器,小型机,存储,网络,安全,操作系统,软件应用,软件问题求助,Microsoft开发技术,Office,.net,sharepoint,SQL Server,Linux,Unix,JAVA,MySQL,Debian,Ubuntu,Python,PostgreSQL,开源相关,PHP,汇编,嵌入式开发,认证培训,娱乐,生活,明星,八卦,体坛,足球,蓝球,游戏,网络游戏,贴图,自拍,情感等栏目的综合社区论坛. - Discuz! Archiver" 
name=description>
<META content="MSHTML 6.00.2900.3199" name=GENERATOR><LINK 
href="把设备驱动程序编译进嵌入式Linux内核(页 1) - 移动与嵌入式开发 - ZDNetChina中文社区 资讯硬件软件开发技术论坛.files/style_3.css" 
type=text/css rel=stylesheet></HEAD>
<BODY topMargin=10>
<CENTER>
<DIV class=tableborder style="BACKGROUND-COLOR: #ffffff">
<DIV class="subtable bold altbg1"><A 
href="http://bbs.zdnet.com.cn/archiver/">ZDNetChina中文社区</A> <B>&raquo;</B> <A 
href="http://bbs.zdnet.com.cn/archiver/fid-120.html">移动与嵌入式开发</A> <B>&raquo;</B> 
把设备驱动程序编译进嵌入式Linux内核</DIV><BR><BR>
<DIV class="simpletable smalltxt" style="WIDTH: 98%">
<DIV class="subtable altbg1"><SPAN class=right>2007-4-15 02:14 PM</SPAN> 
<B>fangzhang</B></DIV>
<DIV class="subtable altbg2 t_msg" 
style="WIDTH: auto; HEIGHT: auto"><B>把设备驱动程序编译进嵌入式Linux内核</B><BR><BR>驱动程序的使用可以按照两种方式编译,一种是静态编译进内核,另一种是编译成模块以供动态加载。由于uClinux不支持模块动态加载,而且嵌入式Linux不能够象桌面Linux那样灵活的使用insmod/rmmod加载卸载设备驱动程序,因而这里只介绍将设备驱动程序静态编译进uClinux内核的方法。<BR><BR>  下面以uClinux为例,介绍在一个以模块方式出现的驱动程序test.c基础之上,将其编译进内核的一系列步骤:<BR><BR>  (1) 
改动test.c源带代码<BR><BR>  第一步,将原来的:<BR><BR>#include<BR>  #include<BR>  char 
kernel_version[]=UTS_RELEASE;<BR><BR><BR><BR>  改动为:<BR><BR>#ifdef 
MODULE<BR>  #include<BR>  #include<BR>  char 
kernel_version[]=UTS_RELEASE;<BR>  #else<BR>  #define 
MOD_INC_USE_COUNT<BR>  #define MOD_DEC_USE_COUNT<BR>  #endif 
<BR><BR><BR>  第二步,新建函数int 
init_test(void)<BR><BR>  将设备注册写在此处:<BR><BR>result=register_chrdev(254,"test",&amp;test_fops); 
<BR><BR><BR>  (2) 
将test.c复制到/uclinux/linux/drivers/char目录下,并且在/uclinux/linux/drivers/char目录下mem.c中,int 
chr_dev_init( )函数中增加如下代码:<BR><BR> #ifdef 
CONFIG_TESTDRIVE<BR>  init_test();<BR>  #endif<BR><BR><BR><BR>  (3) 
在/uclinux/cinux/drivers/char目录下Makefile中增加如下代码:<BR><BR>ifeq($(CONFIG_TESTDRIVE),y)<BR>  L_OBJS+=test.o<BR>  Endif 
<BR><BR><BR>  (4) 
在/uclinux/linux/arch/m68knommu目录下config.in中字符设备段里增加如下代码:<BR><BR>bool 'support 
for testdrive' CONFIG_TESTDRIVE y <BR><BR><BR>  (5) 运行make 
menuconfig(在menuconfig的字符设备选项里你可以看见我们刚刚添加的'support for 
testdrive'选项,并且已经被选中);make dep;make linux;make linux.text;make linux.data;cat 
linux.text linux.data &gt; linux.bin.<BR><BR>  (6) 在 
/uClinux/romdisk/romdisk/dev/目录下创建设备:<BR><BR> mknod test c 254 
0<BR><BR><BR><BR>  并且在/uclinux/appsrc/下运行make,生成新的Romdisk.s19文件。<BR><BR>  到这里,在uClinux中增加设备驱动程序的工作可以说是完成了,只要将新的linux.bin与Romdisk.s19烧入目标板中,你就可以使用自己的新设备test了。</DIV></DIV><BR><B>页: 
</B><B>[1]</B> <BR>
<DIV style="WIDTH: 98%">
<DIV class="subtable bold"><FONT color=#333333>查看完整版本: </FONT><A 
style="COLOR: #333333" href="http://bbs.zdnet.com.cn/viewthread.php?tid=51942" 
target=_blank>把设备驱动程序编译进嵌入式Linux内核</A></DIV></DIV><BR><BR><SPAN 
style="FONT: 11px Tahoma, Arial; COLOR: #333333">Powered by Discuz! 
&nbsp;Archiver &nbsp; &copy; 2001-2006 Comsenz Inc.</SPAN>
<DIV class=footer></DIV></CENTER>
<SCRIPT 
src="把设备驱动程序编译进嵌入式Linux内核(页 1) - 移动与嵌入式开发 - ZDNetChina中文社区 资讯硬件软件开发技术论坛.files/dw.js"></SCRIPT>

<SCRIPT>
 
   DW.pageParams = {
     siteid: 71
   };
   
   DW.clear();
   
</SCRIPT>

<SCRIPT>var pv_subcatid = "countbbsbuilder";</SCRIPT>

<SCRIPT language=javascript 
src="把设备驱动程序编译进嵌入式Linux内核(页 1) - 移动与嵌入式开发 - ZDNetChina中文社区 资讯硬件软件开发技术论坛.files/pv.js"></SCRIPT>
</DIV></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -