Linux设备驱动总结(六): 字符设备驱动–LED驱动(原始版本)

本节主要内容:
一.驱动的分类
二.设备号注册
三.设备文件
四.硬件操作和内存映射
五.用户和内核数据交互
六.出错处理

一.驱动的分类:

内核驱动大致分为三类:
1)字符设备:在本系列总结中主要是字符设备为开发方向。
2)块设备 :与硬盘相关的设备,主要是移植。
3)网络设备:与网络相关的设备,主要是移植。

上面的三种设备,我也只学习过字符设备,所以对后面的[……]

继续阅读…

继续阅读

linux设备驱动总结(五):自己动手写第一个驱动程序

系统:Ubuntu 12.04
开发板:SP5PV210开发板

一.初探linux内核模块
内核本身是很庞大的一个结构,需要的组件很多。编译内核时,用户 可以把所有的代码编译进内核,
但是这样会引起两个问题:
(1).内核过大;
(2).当需要添加或者删除内核时,需要重新再编译内核。
所以有了内核模块的概念, 模块并不编译到内核中,编译后存放在指定的目录,当需要使用时动态加载。[……]

继续阅读…

继续阅读

linux设备驱动总结(三):挂载根文件系统

一、在uboot中去设置参数,能够启动内核并让内容挂载根文件系统
1,启动内核:
(1).在ubuntu中,将uImage放在/tftpboot

(2).在开发板uboot中:
bootcmd的作用:倒计时结束uboot需要做什么

FS210 # set serverip 192.168.7.11 //ubuntu--tftp服务器的ip
FS210 # set ipaddr 192.168.7.7 //开发板ip--ubuntu ip + 60
FS210 # set bootcmd tftp 0x40008000 uImage \; bootm 0x40008000
FS210 # save

二、挂载根文件系统:
(1).将rootfs_fs210.tgz放入到ubuntu-/[……]

继续阅读…

继续阅读