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 ...
随机推荐
- 如何让linux时间与internet时间同步(centos)
笔者在使用linux时(虚拟机),经常会发现使用一段时间后,linux时间和我的宿主机(真实机)的时间不一致,而宿主机的时间确实是internet时间,安装linux时选择的时区也是Asia/Shan ...
- DOM操作-遍历HTML文档内容
基础: JS nodeType返回类型:http://blog.csdn.net/qyf_5445/article/details/9232907 代码: <!DOCTYPE html> ...
- 【Machine Learning in Action --2】K-近邻算法改进约会网站的配对效果
摘自:<机器学习实战>,用python编写的(需要matplotlib和numpy库) 海伦一直使用在线约会网站寻找合适自己的约会对象.尽管约会网站会推荐不同的人选,但她没有从中找到喜欢的 ...
- 【超级干货】手机移动端WEB资源整合:转载
转载于:http://www.w3cfuns.com/notes/24611/fbba9cbd616e795360ea45515494aa53.html meta基础知识 H5页面窗口自动调整到设备宽 ...
- zf-删除重复数据只保留一条(转)
http://blog.csdn.net/anya/article/details/6407280
- 转 linux下xargs命令用法详解
xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤 ...
- OpenGL编程指南第版本学习笔记 --- OpenGL程序实现过程(win32 + OpenGL)
1. 先上代码 头文件glCommon.h #include <GL/glew.h> #include <GL/GL.h> #include <GL/GLU.h> ...
- oracle递归查询子节点
通过子节点向根节点追朔. select * from persons.dept start with deptid=76 connect by prior paredeptid=deptid 通过根节 ...
- 数据格式处理(数字,日期),java处理,jsp的fmt处理
java 格式处理 public static String formatTosepara(float data) {DecimalFormat df = new DecimalFormat(&qu ...
- 6--OC--封装 继承 多态
OC中的类的三大特性类: 继承,封装,多态 一. 封装 封装就是对类中的一些字段,方法进行保护,不被外界所访问到,有一种权限的控制功能,这样我们在定义类的时候,哪些字段和方法不想暴露出去,哪些字段和方 ...