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中tar 打包指定路径文件
linux中tar打包指定路径文件www.111cn.net 编辑:yahoo 来源:转载在linux系统中打包与解压文件我都可以使用tar命令来解决,只要使用不同的参数就可以实现不同的需要了,下面来 ...
- JVM 设置
按照基本回收策略分 引用计数(Reference Counting) 标记-清除(Mark-Sweep) 复制(Copying) 标记-整理(Mark-Compact) 按分区对待的方式分 增量收集( ...
- qq客服问题
angularJs会给ng-href的不正常跳转,会 添加unsafe的前缀.原因是angular对href是有安全检查的,只能生成它认为安全的链接.解决方法如下: 在config.js中注入 fun ...
- 安卓四大组件的作用、安卓Service的作用
Activity好像是应用程式的眼睛,提供与user互动之窗. BroadcastReceiver好像是耳朵,接收来自各方的Intent. Service是在后台运行的. 一个Service 是一段长 ...
- 图片应该放在drawable-hdpi下不要放在drawable下
图片应该放在drawable-hdpi下或者mipmap-hdpi 不要放在drawable下,要不然显示有些不同
- sql 比较2个test字段的值
可以用 CAST([TEXT字段]AS VARCHAR(MAX)),然后再比较
- php-redis 下载地址
http://windows.php.net/downloads/pecl/snaps/redis/2.2.5/
- 最佳死链接href= "#" VS href= "javascript:void(0);"
href= "#" 熟悉hash跳转的同学都知道,只是一个hash跳转,跳转到页面的顶部,可以发现地址栏多了一个#,点击返回会返回本页面. href= "javascri ...
- C++中L和_T()之区别
字符串前面加L表示该字符串是Unicode字符串._T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变.因此,Visual C++里边定 ...
- checking for known struct flock definition... configure: error: Don't know how to define struct flock on this system, set --enable-opcache=
在对php进行安装的过程中出现如下错误: 1.报错信息: 1 checking for known struct flock definition... configure: error: Don't ...