Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4242721
  • 博文数量: 241
  • 博客积分: 15936
  • 博客等级: 上将
  • 技术积分: 25293
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-27 11:22
个人简介

Fedora-ARM

文章分类
文章存档

2016年(3)

2014年(1)

2013年(3)

2012年(50)

2011年(61)

2010年(26)

2009年(27)

2008年(21)

2007年(49)

分类: LINUX

2007-10-20 15:47:42

Linux设备驱动程序学习
 前言:
    接触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开发板上运行。至于内核版本,我使用的是从 上下载的主线标准内核Linux2.6.22.2。引用《Linux设备驱动程序(第3版)》的原话:“如果想要学习驱动程序的编写,则标准内核是最好的。跟随内核的变化,发现变化的好处,从中学到编程思想。


阅读(74471) | 评论(94) | 转发(36) |
给主人留下些什么吧!~~

study_man2018-12-19 15:42:31

2018-12-19 我发现了一个好的文章,可能会让我少走弯路

企鹅Unix2018-09-27 11:49:30

楼主,文章写的真好,思路清晰,逻辑明白,跟着楼主学习!

noiplee2011-04-25 16:04:49

博主的文章真不错,我以后会多多关注你的博文,跟你学习。

lz_fine2010-12-21 19:29:33

感谢博主,让我获益匪浅。 我在开发中遇到了这样一个问题,博主能帮忙看看不? 我用buildroot2010.08版制作了Linux内核和文件系统,但是启动后/dev目录下没有parport0这个文件 内核我选中了 Device Drivers->Parallel port support Device Drivers->Parallel port support->PC-style hardware Device Drivers->Character devices->Parallel printer support 启动后内核启动信息中显示识别到并口 dmesg输出中包含 parport_pc 00:08:reported by Plug and Play ACPI parport0:PC-style at 0x378,irq 7[PCSPP,TRISTATE] lp0:using parport0(interrupt-driven) cat /proc/devices输出中没有并口的信息 但是/proc/sys/dev目录下却有parp

daxi19872010-12-07 20:25:20

感谢博主,我正在一边看ldd3一边看你的这个系列笔记~~ 我主要在x86下面做开发,不过把你模块的Makefile稍微改下就可以了,比如字符设备驱动一章: obj-m := scull.o KERN_DIR='/usr/src/linux-2.6.16.60-0.54.5' all: $(MAKE) -C $(KERN_DIR) M=`pwd` clean: rm -rf *.o *.ko *.mod.c .*.cmd .tmp_versions