| | 网站首页 | 新闻 | SOPC | FPGA | DSP | ARM | 嵌入式操作系统 | 下载 | 所有产品 | 留言 | 论坛 | 购买指南 | 网络协议 | 驱动设计 | | |
![]() |
![]() |
| 您现在的位置: 21嵌入式控制研究室 >> 嵌入式操作系统 >> ucLinux >> 文章正文 |
|
|||||
| uclinux添加设备驱动的完整过程 | |||||
| 作者:佚名 文章来源:21control 点击数: 更新时间:2006-1-10 | |||||
|
0.原文件放在 linux-2.4.x/driver/char/ ;本例中,名为xyz.c 1.设备驱动原文件必须包括这样的一个函数: void xyz_init(void){register(254, 'xyz', &xyz_fops)} 这个函数完成注册.在linux-2.4.x/driver/mem.c 将会调用它. 这个函数也可以写成: void __init xyz_init(void){register(254, 'xyz', &xyz_fops)} 这样不必须在 linux-2.4.x/driver/mem.c 调用它 2.修改 linux-2.4.x/driver/char/Makefile 在适当位置添加一行: obj_$(CONFIG_XYZ) += xyz.o 3.修改linux-2.4.x/driver/char/Config.in, 添加一行: bool 'xyz hahahaha' CONFIG_XYZ 便于在 make menuconfig 时选择 4.修改linux-2.4.x/driver/char/mem.c 在适当位置(你去找就会发现,在文件头部)添加: #ifdef CONFIG_XYZ extern void xyz_init(void); #endif 在chr_dev_init()函数添加: #ifdef CONFIG_XYZ xyz_init(); #endif 5. 修改vendor/Samsung/4510b/Makefile ,建立设备节点; 在12---35行间,DEVICE 部分添加 如下内容 xzy,c,254,0 6.make menuconfig 选中 xyz hahahaha, 编译,下载;启动后你会看到 /proc/devices 中字符设备多了一项 xyz 254 ////过程其实简单,我写过一个很简单的,在red hat 80下可以正常编译,起动,使用;在uclinux下就是不能正常引导;浪费了几天青春,后来才发现,我的源文件里包含了一些有害的宏. 去掉后一切正常.. |
|||||
| 文章录入:fengfeiyi 责任编辑:fengfeiyi | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 | | |
![]() |
站长:康草科技 |