Linux设备驱动辩编写基础
一、linux中的驱动是以模块的形式存在的,这样就大大提高了驱动的灵活性,linux内核模块的程序结构如下:
l 模块加载函数(必须):module_init()
l 模块卸载函数(必须):module_exit()
l 模块许可证声明(必须):MODULE_LECENSE(“GPL”)
l 模块参数(可选):module_param(a,int,0...
分类:
系统相关 时间:
2014-09-01 21:14:33
阅读次数:
304
务必在ko驱动中追加如下一行声明MODULE_LICENSE("GPL");否则insmod驱动时将不能与/proc/kallsyms中的符号正常连接,提示如下错误:luther@gliethttp:/vobs/tmp$sudoinsmoddchars.koinsmod:errorinserting‘dchars.ko‘:-1Unknownsymbolinmodule可以使用modinfo查看ko依赖模块luthe..
分类:
其他好文 时间:
2014-08-30 19:12:10
阅读次数:
191
一>:设置测试系统
首先准备好一个内核源码树,构造一个新内核,然后安装到自己的系统中。
二>:HelloWorld模块
#include //定义了驱动的初始化和退出相关的函数
#include //定义了内核模块相关的函数、变量及宏
MODULE_LICENSE("Dual BSD/GPL"); //该宏告诉内核,该模块...
分类:
系统相关 时间:
2014-08-27 09:27:57
阅读次数:
320
1.解释下什么是GPL,GNU,自由软件?(记时1分钟)解答:GPL:(通用公共许可证):一种授权,任何人有权取得、修改、重新发布自由软件的权力。GNU:(革奴计划):目标是创建一套完全自由、开放的的操作系统。自由软件:是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。主要许可证有GPL和...
分类:
系统相关 时间:
2014-08-26 21:22:06
阅读次数:
597
1.解释下什么是GPL,GNU,自由软件?(记时1分钟)2.如何选择Linux操作系统版本?(记时1分钟)3.如何给Linux操作系统分区?(记时2分钟)4.描述Linux系统的启动过程?(记时2分钟)5.描述Linux运行级别0-6的各自含义(记时1分钟)6.描述Linux系统从开机到登陆界面的启...
分类:
系统相关 时间:
2014-08-24 23:35:43
阅读次数:
789
译至:http://d.hatena.ne.jp/hyoshiok/20140816/p1
1998年网景的源代码向公众开放,之后这成为Mozilla基金会 (Firefox等工具的开发机构),开源就开始了。
开源的许可证是和以前就使用的GNU GPL(通用公共许可证) 和BSD许可证一样,但自由软件所强调的是软件的“自由”,开放源码不仅如此,还具有在商业领域被积极使用的特征。
那个时代...
分类:
其他好文 时间:
2014-08-20 16:35:13
阅读次数:
168
Flowplayer 是一个开源(GPL 3的)WEB视频播放器。您可以将该播放器嵌入您的网页中,如果您是开发人员,您还可以自由定制和配置播放器相关参数以达到您要的播放效果。本文主要介绍Flowplayer的使用。Flowplayer支持播放flv、swf等流媒体以及图片文件,能够非常流畅的播放视频...
分类:
Web程序 时间:
2014-08-19 18:45:35
阅读次数:
371
一>:设置测试系统
首先准备好一个内核源码树,构造一个新内核,然后安装到自己的系统中。
二>:HelloWorld模块
#include //定义了驱动的初始化和退出相关的函数
#include //定义了内核模块相关的函数、变量及宏
MODULE_LICENSE("Dual BSD/GPL"); //该宏告诉内核,该模块采用自由许可证...
分类:
系统相关 时间:
2014-08-18 22:08:53
阅读次数:
472
U-BootU-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是根据相应的Linux内核源程序进行简化而形成的,尤其...
分类:
其他好文 时间:
2014-08-18 22:00:22
阅读次数:
332