Linux2.6内核驱动移植.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux2.6内核驱动移植

Linux2.6内核驱动移植 8J$[ u#I!a5x嵌入式系统,linux,VxWorks,ARM,单片机,DSP,FPGA嵌入式应用论坛5n*h7B$bR#d ? ? 随着Linux2.6的发布,由于2.6内核做了教的改动,各个设备的驱动程序在不同程度上要进行改写。为了方便各位Linux爱好者我把自己整理的这分文档share出来。该文当列举了2.6内核同以前版本的绝大多数变化,可惜的是由于时间和精力有限没有详细列出各个函数的用法。 6Y6^5c)x A.R嵌入式系统|linux|ARM|单片机特别声明:该文档中的内容来自,该网也上也有各个函数的较为详细的说明可供各位参考。如果需要该文档的word版的朋友, 请mail到weiriver@索取。 +H7~)v4D*h 3Z)C6w1S$A#?9j8k+`*P嵌入式系统,linux,VxWorks,ARM,单片机1、 使用新的入口 嵌入式系统,linux,VxWorks,ARM,单片机,DSP,FPGA8|,T+R*}#w+q$Ob 必须包含 linux/init.h *^5z5N8L1Y嵌入式系统|linux|ARM|单片机module_init(your_init_func);嵌入式系统,linux,VxWorks,ARM,单片机c(p5x$Z8j)[8u7x[#d module_exit(your_exit_func);嵌入式系统,linux,VxWorks,ARM,单片机,DSP,FPGA*N!h$P$m)Q#^#|-s 老版本:int init_module(void);g)N:W(]] void cleanup_module(voi);4c:Q w1N3c0E;?.Q(s 2.4中两种都可以用,对如后面的入口函数不必要显示包含任何头文件。嵌入式应用论坛0e.G,?|6w3F )oHN6c1]l!e5i嵌入式系统,linux,VxWorks,ARM,单片机,DSP,FPGA2、 GPL 5D6c)i$ex2PS MODULE_LICENSE(Dual BSD/GPL);嵌入式系统|linux|ARM|单片机%G0C6C-z.`2F8D#[ 老版本:MODULE_LICENSE(GPL); 0_0I.C1_*b;`$d#M 嵌入式系统,linux,VxWorks,ARM,单片机*h-b$v/J6xex/F0W2k 3、 模块参数 ;Q*^ X+])V+U ?2N嵌入式系统,linux,VxWorks,ARM,单片机,DSP,FPGA必须显式包含linux/moduleparam.h2?0~1md:n5t:H%r(S;r/r module_param(name, type, perm);嵌入式系统|linux|ARM|单片机*O {0q7r2T9y:M module_param_named(name, value, type, perm); 9P7y*k%G7f9n参数定义8n.a2K$Du/c1h module_param_string(name, string, len, perm);0t!l.Z5_,f+M4V3F module_param_array(name, type, num, perm); .S4L)Q7\+BV老版本:MODULE_PARM(variable,type);嵌入式系统,linux,VxWorks,ARM,单片机#L*L4i3j8T(]0|+};W1v MODULE_PARM_DESC(variable,type); 2s?6J2D;M(f({8n*B 3}3_1@1N(}8u#`,J7A嵌入式系统,linux,VxWorks,ARM,单片机,DSP,FPGA4、 模块别名 /N;t%~,`.S+v ZMODULE_ALIAS(alias-name); $p/~6h+f1f$m*H5这是新增的,在老版本中需在/etc/modules.conf配置,现在在代码中就可以实现。 v+]1y8x3M3g+6F:d+G(h1y9D B2|0W,x 5、 模块计数 #}1j$e/v3O+N5P+y3J*k$Z6Y6Hint try_module_get(module);)v*H4E$TQ+d-x6U(p module_put(); $K.e.g6d,J!h,K嵌入式系统|linux|ARM|单片机老版本:MOD_INC_USE_COUNT 和 MOD_DEC_USE_COUNT D,n(JF`7x嵌入式应用论坛嵌入式系统,linux,VxWorks,ARM,单片机,DSP,FPGA0g3y!GE8[0L-x8{/Q7t 6、 符号导出 嵌入式系统,linux,VxWorks,ARM,单片机3y)t2Q/i9W*?9| 只有显示的导出符号才

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档