openwrt系统之字符设备驱动软件包加载、测试程序加载
、首先将软件包(如mydrv)放到ubuntu虚拟机openwrt/trunk/package/kernel/目录下 、回到openwrt/trunk/目录下,make menuconfig进行配置,把我们复制的软件包编译进去
Kemel modules -> Other modules -> kmod-mydrv(按y选中)保存退出 、然后在当前目录执行make package/kernel/mydrv/compile V= 、编译结束后,固件在openwrt/trunk/bin/ramips/packages/base目录下
kmod-mydrv_1.10.36-1_ramips_24kec.ipk 、执行make 得到OpenWrt系统固件位于penwrt/trunk/bin/ramips下,
openwrt-ramips-rt305x-mpr-a2-squashfs-sysupgrade.bin
、烧写固件进入开发板,再加载我们的模块.ipk文件(使用ssh网络服务) 、进入开发板系统文件找到你加载的模块位置文件夹,进行ipk的安装
opkg intall kmod-mydrv_1.10.36-1_ramips_24kec.ipk 、安装完成后,到/lib/modules/3.14./下找到我们的驱动mydrv.ko 、加载驱动 insmod mydrv.ko 、卸载驱动 rmmod mydir.ko 驱动开机自动加载
虽然我们通过 opkg insall 得到了.ko 为后缀的驱动模块,但是每次要使用都得进行
insmod,比较麻烦,我们可以让系统开机后自动的加载该驱动模块。
首先进入到特定的目录:
cd /etc/modules.d
然后创建一个文件并且写入一些信息
vi -mydrv 说明: 表示不使用外接 usb 类的自启动程序,分隔符‘-’后面接
驱动模块名称!
在创建的该文件中写入: mydrv 即驱动的名称。
最后,必须保证 mydrv.ko文件即我们的驱动模块文件放在: /lib/modules/3.14./
好的,重新启动系统即可: reboot
可以通过命令查询当前已经加载的驱动模块:lsmod 应用程序软件包测试(也就是通过编写另外一个程序来调用驱动程序,这属于嵌入式应用层,而上面属于驱动层) 、首先将软件包(如mydrv_app)放到ubuntu虚拟机openwrt/trunk/package/目录下 、回到openwrt/trunk/目录下,make menuconfig进行配置,把我们复制的软件包编译进去
Utilitties -> mydrv_app (按y选中)保存退出 、然后在当前目录执行
make package/mydrv_app/compile V=
make package/mydrv_app/install V=
make package/index V= 、编译结束后,固件在openwrt/trunk/bin/ramips/packages/base目录下
mydrv_app_1_ramips_24kec.ipk 、执行make 得到OpenWrt系统固件位于penwrt/trunk/bin/ramips下,
openwrt-ramips-rt305x-mpr-a2-squashfs-sysupgrade.bin
、烧写固件进入开发板,再加载我们的模块.ipk文件(使用ssh网络服务) 、进入开发板系统文件找到你加载的模块位置文件夹,进行ipk的安装
opkg intall kmod-mydrv_1.10.36-1_ramips_24kec.ipk 、安装完成后,到/lib/modules/3.14./下找到我们的驱动mydrv.ko 、加载驱动 insmod mydrv.ko 、进入开发板系统文件找到你加载的模块位置文件夹,进行ipk的安装
opkg intall kmod-mydrv_app_1.10.36-1_ramips_24kec.ipk 、安装完成后根目录运行应用程序mydrv_app 、卸载驱动 rmmod mydir.ko
openwrt系统之字符设备驱动软件包加载、测试程序加载的更多相关文章
- Linux字符设备驱动框架
字符设备是Linux三大设备之一(另外两种是块设备,网络设备),字符设备就是字节流形式通讯的I/O设备,绝大部分设备都是字符设备,常见的字符设备包括鼠标.键盘.显示器.串口等等,当我们执行ls -l ...
- LDD3 字符设备驱动简单分析
最近在看LDD3,理解了一下,为了加深自己的印象,自己梳理一下.我用的CentOS release 6.6 (Final)系统. 一.编写编译内核模块的Makefile 以下是我用的Makefile ...
- Linux应用程序访问字符设备驱动详细过程【转】
本文转载自:http://blog.csdn.net/coding__madman/article/details/51346532 下面先通过一个编写好的内核驱动模块来体验以下字符设备驱动 可以暂时 ...
- 深入理解Linux字符设备驱动
文章从上层应用访问字符设备驱动开始,一步步地深入分析Linux字符设备的软件层次.组成框架和交互.如何编写驱动.设备文件的创建和mdev原理,对Linux字符设备驱动有全面的讲解.本文整合之前发表的& ...
- Linux字符设备驱动结构(一)--cdev结构体、设备号相关知识机械【转】
本文转载自:http://blog.csdn.net/zqixiao_09/article/details/50839042 一.字符设备基础知识 1.设备驱动分类 linux系统将设备分为3类:字符 ...
- Linux驱动设计——字符设备驱动(一)
Linux字符设别驱动结构 cdev结构体 struct cdev { struct kobject kobj; struct module *owner; const struct file_ope ...
- 【转】linux设备驱动程序之简单字符设备驱动
原文网址:http://www.cnblogs.com/geneil/archive/2011/12/03/2272869.html 一.linux系统将设备分为3类:字符设备.块设备.网络设备.使用 ...
- 字符设备驱动、平台设备驱动、设备驱动模型、sysfs的比较和关联
转载自:http://www.kancloud.cn/yueqian_scut/emlinux/106829 学习Linux设备驱动开发的过程中自然会遇到字符设备驱动.平台设备驱动.设备驱动模型和sy ...
- 使用内核定时器的second字符设备驱动及测试代码
驱动: #include <linux/kernel.h> #include <linux/module.h> #include <linux/fs.h> #inc ...
随机推荐
- Python第三方库安装技巧
pytho下有三种安装第三方库方法: 1.通过easy_install安装 2.通过Pip安装 前面两种,由于受国内部门网站原因,如果安装失败,可采用接下来的第三种方法 3.在指定网站下载安装 第三方 ...
- ReactiveCocoa总结
RAC三部曲,1创建信号,2订阅信号,3发送信号, 信号类: RACSiganl // 1.创建信号 RACSignal *siganl = [RACSignal createSignal:^R ...
- html标签全称和功能介绍
html标签全称和功能介绍,里面有些大家不常用的,主要是方便大家查找检索 按字母顺序排列 DTD:指示在哪种 XHTML 1.0 DTD 中允许该标签.S=Strict, T=Transition ...
- 引入的ajax中异步添加联系人
申请出差控制器 中 填写联系人 直接在控制器中实例化联系人表,收集ajax提交的数据.插入表 public function addcontacts(){ $model = M('contacts') ...
- login/logout切换
1. 前端按钮 <img border="0" width="18" height="18" src="<%=base ...
- Head First--设计模式(装饰者模式)
从现在开始,我将以写一个小软件的方式来进行模式识别的学习,包含需求分析,功能模块设计,原理图设计,程序实现这个几个部分,可能具体的模式模块不可能都包括在内. 需求分析:星巴兹咖啡店已经遍布全世界的很多 ...
- docker镜像与容器概念
本文用图文并茂的方式介绍了容器.镜像的区别和Docker每个命令后面的技术细节,能够很好的帮助读者深入理解Docker. 这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(containe ...
- THE ROAD TO PROGRAM
<The C Programming Language> <The Practice of Programming><The Art of Computer Progra ...
- asp之servervariables全部显示
<%Response.Write("<p>")%><%for each i in request.servervariables%> <% ...
- Slow HTTP Denial of Service Attack 漏洞解决
修改tomcat conf 下 server.xml 文件 <Connector port="8080" protocol="HTTP/1.1" con ...