极其简单的驱动理解

	第一篇博客。名词理解、编译、插入

我的第一篇博客,很简陋,旨在建立对驱动的简单理解。现在学习这么久了,搞的记录的东西。所以决定写博客记录分享。搞过一段时间的驱动,用的也比较简单。这次说的也是最简单的字符驱动,以此入门。理解不到位,语言组织能力欠佳,请批评指正。**
1、几个名词:“内核,驱动,设备文件”,概念和我的简单理解。**
在这里插入图片描述
(1)内核。概念:内核是操作系统最基本的部分,它是为众多应用程序提供对计算机硬件的安全访问的一部分软件。
我的简单理解:是控制计算机实现操作系统(如android,qt等)与底层交互的基础,驱动程序是内接的一部分。
(2)驱动。概念:驱动程序全称设备驱动程序,是添加到操作系统中的特殊程序,其中包含有关硬件设备的信息。
我的简单理解:是怎么实现被调用来控制底层的程序。
(3)设备文件。概念:在类Unix操作系统中,设备文件是一个设备驱动程序的界面,并被存储在文件系统中,就像常规文件。
我的简单理解:在linux中一切皆文件,对于设备文叫件的操作也普通普通文件一 般,都是同样名称的几个函数(如打开、关闭、读、写等等),至于执行各个函数操作时具体内容就得看自己驱动怎么写。
2、编译驱动程序源码
好了,有了基本的基础,下来就是进一步。驱动编译肯定会有点不一样,需要makefile来指引驱动程序的标准,具体看语法,这里是浅析。。编译生成.ko模块文件,需要使用命令插入模块,类似:ismod *.ko。
3、编译内核
当然,一般肯定没这么简单就可以成功。在插入驱动模块之前,必须对内核进行配置,去修改kconfig和menuconfig,平台文件等,再由内核源码重新编译内核。不出意外的话第一编译内核会报错,比较麻烦,一般都是因为缺失文件造成。
做好心累的做好心累的准备。烧写之后,再插入驱动模块。
若不嫌编译内核源码麻烦的话,大可以修改将驱动源码放到内核源码中,修改对应的kconfig,makefile,menuconfig,平台文件等等,就不用单独插入了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值