忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
123下一页
最近访问板块 发新帖
查看: 18309 | 回复: 26

转:Linux设备驱动程序学习 [复制链接]

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
发表于 2008-10-27 16:04 |显示全部楼层
牛人的blog,可以跟着学习!
Linux设备驱动程序学习
http://www.linuxdriver.cn/html/20089/1338.htm

前言:
    接触ARM-Linux已经有9个多月了,经历了毕业设计和公司的练习设计,对ARM-Linux有了一定的了解,也让我爱上了ARM-Linux,决心以后从事Linux的工作。
    8月份开始,我算是从头认认真真,一步一个脚印地学习ARM-Linux。先后对博创UP-NETARM2410-S和友善之臂SBC2440V4进行了系统移植,包括U-Boot1.2.0、Linux2.6.22.2,并针对3个网卡芯片进行了U-Boot和Linux的驱动移植,制作了一个 cramfs和nfs文件系统。可以说已经很好地构建了一个以网络为基础的ARM-Linux开发平台。这些工作不仅是以后开发必须的,我也在这些过程中进一步地加深了对ARM-Linux系统的认识。由于工作的需要,两个平台上的其他外设的驱动移植已经基本停滞了,现在开始完全投入到Linux设备驱动程序的学习中。
    我早在7月底开始就在看《Linux设备驱动程序(第3版)》但是发现效果不明显。究其原因:缺乏实践。学编程就和学游泳是一样的,只是纸上谈兵是学不会的。没有在实践中学习,很快就忘了所学的知识,到头来只学了个大概。从今天开始我将跟随《Linux设备驱动程序(第3版)》的路线,边学习边编程,同时写这份记录,来巩固学习的效果。
    首先,因为我是在学习ARM-Linux,所以我所做的编译都是交叉编译,然后在ARM9开发板上运行。至于内核版本,我使用的是从 http://www.kernel.org/ ; 上下载的主线标准内核Linux2.6.22.2。引用《Linux设备驱动程序(第3版)》的原话:“如果想要学习驱动程序的编写,则标准内核是最好的。”

--------------------------------------------------------------------------------




·Linux设备驱动程序学习(1)-字符设备驱动程序
·Linux设备驱动程序学习(0)-Hello, world!模块
·Linux设备驱动程序学习(2)-调试技术
·Linux设备驱动程序学习(3)-并发和竞态
·Linux设备驱动程序学习(4)-高级字符驱动程序操作[(1)ioctl and llseek]
·Linux设备驱动程序学习(5)-高级字符驱动程序操作[(2)阻塞型I/O和休眠]
·Linux设备驱动程序学习(6)-高级字符驱动程序操作[(3)设备文件的访问控制]
·Linux设备驱动程序学习(7)-内核的数据类型
·Linux设备驱动程序学习(9)-与硬件通信
·Linux设备驱动程序学习(8)-分配内存
·Linux设备驱动程序学习(10)-时间、延迟及延缓操作
·Linux设备驱动程序学习(11)-中断处理
·Linux设备驱动程序学习(3-补)-Linux中的循环缓冲区
·Linux设备驱动程序学习(12)-Linux设备模型(底层原理简介)
·Linux设备驱动程序学习(13)-Linux设备模型(总线、设备、驱动程序和类)
·Linux设备驱动程序学习(14)-Linux设备模型(各环节的整合)
·Linux设备驱动程序学习(15)-Linux设备模型(热插拔、mdev 与 firmware)

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
发表于 2008-10-28 21:51 |显示全部楼层
希望有心学习的兄弟能顺着这条路,认真继续下去,成为真正的高手。

论坛徽章:
11
每日论坛发贴之星
日期:2016-06-10 06:20:00综合交流区版块每日发帖之星
日期:2016-06-10 06:20:00黑曼巴
日期:2016-06-08 11:29:1815-16赛季CBA联赛之同曦
日期:2016-06-07 17:47:2815-16赛季CBA联赛之山东
日期:2016-04-18 10:23:102016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之吉林
日期:2016-01-28 09:34:15辰龙
日期:2014-10-14 14:33:48巨蟹座
日期:2014-04-23 11:27:44狮子座
日期:2014-02-26 16:08:29IT运维版块每日发帖之星
日期:2016-07-14 06:20:00
发表于 2008-10-31 15:23 |显示全部楼层
呵呵,不错的路线方针/

论坛徽章:
0
发表于 2008-11-01 17:23 |显示全部楼层
说的有理,实践是很重要滴

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2008-11-03 12:00 |显示全部楼层
这一段也在学习ldd3,有问题就上来请教了啊

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
发表于 2008-11-03 12:04 |显示全部楼层
原帖由 Godbach 于 2008-11-3 12:00 发表
这一段也在学习ldd3,有问题就上来请教了啊


我正在重新彻底读ldd3,来一起交流,大家进步,呵呵。

论坛徽章:
0
发表于 2008-11-12 21:52 |显示全部楼层
好路线,有路就好走哟,我都撞晕了哟,自己看,好累,好乱,

论坛徽章:
0
发表于 2008-11-13 18:38 |显示全部楼层
实践出真知

论坛徽章:
8
2015年辞旧岁徽章
日期:2015-03-03 16:54:15午马
日期:2015-02-04 12:00:07羊年新春福章
日期:2015-02-04 11:57:56双子座
日期:2014-12-02 11:44:59巳蛇
日期:2014-08-26 17:32:29金牛座
日期:2014-10-08 16:47:08狮子座
日期:2014-08-29 13:37:46NBA常规赛纪念章
日期:2015-05-04 22:32:03
发表于 2008-11-18 10:51 |显示全部楼层

回复 #1 dreamice 的帖子

哈哈 我也正在实习 公司暂时没有分配我任务 自己想搞驱动这一块 就是刚开始不知道如下着手啊

论坛徽章:
0
发表于 2008-12-07 21:25 |显示全部楼层

初学者求教 helloworld

我的虚拟机上装的redhat enterprise linux 4版本,我刚写了一个helloworld.c驱动,helloworld.c放在/home/student/driver目录下,
我不知道怎么编译这个驱动,有那位高手个我解决下,谢谢.
helloworld.c源码:
#include <linux/init.h>
#include <linux/module.h>

MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
   printk(KERN_ALERT "Hello World enter!\n");
   return 0;
}

static int hello_exit(void)
{
   printk(KERN_ALERT "Hello world exit!\n");
   return 0;
}

module_init(hello_init); /* load the module */
module_exit(hello_exit); /* unload the module */
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP