1. 、首先将软件包(如mydrv)放到ubuntu虚拟机openwrt/trunk/package/kernel/目录下
  2.  
  3. 、回到openwrt/trunk/目录下,make menuconfig进行配置,把我们复制的软件包编译进去
  4. Kemel modules -> Other modules -> kmod-mydrv(按y选中)保存退出
  5.  
  6. 、然后在当前目录执行make package/kernel/mydrv/compile V=
  7.  
  8. 、编译结束后,固件在openwrt/trunk/bin/ramips/packages/base目录下
  9. kmod-mydrv_1.10.36-1_ramips_24kec.ipk
  10.  
  11. 、执行make 得到OpenWrt系统固件位于penwrt/trunk/bin/ramips下,
  12. openwrt-ramips-rt305x-mpr-a2-squashfs-sysupgrade.bin
  13. 、烧写固件进入开发板,再加载我们的模块.ipk文件(使用ssh网络服务)
  14.  
  15. 、进入开发板系统文件找到你加载的模块位置文件夹,进行ipk的安装
  16. opkg intall kmod-mydrv_1.10.36-1_ramips_24kec.ipk
  17.  
  18. 、安装完成后,到/lib/modules/3.14./下找到我们的驱动mydrv.ko
  19.  
  20. 、加载驱动 insmod mydrv.ko
  21.  
  22. 、卸载驱动 rmmod mydir.ko
  23.  
  24. 驱动开机自动加载
  25. 虽然我们通过 opkg insall 得到了.ko 为后缀的驱动模块,但是每次要使用都得进行
  26. insmod,比较麻烦,我们可以让系统开机后自动的加载该驱动模块。
  27. 首先进入到特定的目录:
  28. cd /etc/modules.d
  29. 然后创建一个文件并且写入一些信息
  30. vi -mydrv 说明: 表示不使用外接 usb 类的自启动程序,分隔符‘-’后面接
  31. 驱动模块名称!
  32. 在创建的该文件中写入: mydrv 即驱动的名称。
  33. 最后,必须保证 mydrv.ko文件即我们的驱动模块文件放在: /lib/modules/3.14./
  34. 好的,重新启动系统即可: reboot
  35. 可以通过命令查询当前已经加载的驱动模块:lsmod
  36.  
  37. 应用程序软件包测试(也就是通过编写另外一个程序来调用驱动程序,这属于嵌入式应用层,而上面属于驱动层)
  38.  
  39. 、首先将软件包(如mydrv_app)放到ubuntu虚拟机openwrt/trunk/package/目录下
  40.  
  41. 、回到openwrt/trunk/目录下,make menuconfig进行配置,把我们复制的软件包编译进去
  42. Utilitties -> mydrv_app (按y选中)保存退出
  43.  
  44. 、然后在当前目录执行
  45. make package/mydrv_app/compile V=
  46. make package/mydrv_app/install V=
  47. make package/index V=
  48.  
  49. 、编译结束后,固件在openwrt/trunk/bin/ramips/packages/base目录下
  50. mydrv_app_1_ramips_24kec.ipk
  51.  
  52. 、执行make 得到OpenWrt系统固件位于penwrt/trunk/bin/ramips下,
  53. openwrt-ramips-rt305x-mpr-a2-squashfs-sysupgrade.bin
  54. 、烧写固件进入开发板,再加载我们的模块.ipk文件(使用ssh网络服务)
  55.  
  56. 、进入开发板系统文件找到你加载的模块位置文件夹,进行ipk的安装
  57. opkg intall kmod-mydrv_1.10.36-1_ramips_24kec.ipk
  58.  
  59. 、安装完成后,到/lib/modules/3.14./下找到我们的驱动mydrv.ko
  60.  
  61. 、加载驱动 insmod mydrv.ko
  62.  
  63. 、进入开发板系统文件找到你加载的模块位置文件夹,进行ipk的安装
  64. opkg intall kmod-mydrv_app_1.10.36-1_ramips_24kec.ipk
  65.  
  66. 、安装完成后根目录运行应用程序mydrv_app
  67.  
  68. 、卸载驱动 rmmod mydir.ko

openwrt系统之字符设备驱动软件包加载、测试程序加载的更多相关文章

  1. Linux字符设备驱动框架

    字符设备是Linux三大设备之一(另外两种是块设备,网络设备),字符设备就是字节流形式通讯的I/O设备,绝大部分设备都是字符设备,常见的字符设备包括鼠标.键盘.显示器.串口等等,当我们执行ls -l ...

  2. LDD3 字符设备驱动简单分析

    最近在看LDD3,理解了一下,为了加深自己的印象,自己梳理一下.我用的CentOS release 6.6 (Final)系统. 一.编写编译内核模块的Makefile 以下是我用的Makefile ...

  3. Linux应用程序访问字符设备驱动详细过程【转】

    本文转载自:http://blog.csdn.net/coding__madman/article/details/51346532 下面先通过一个编写好的内核驱动模块来体验以下字符设备驱动 可以暂时 ...

  4. 深入理解Linux字符设备驱动

    文章从上层应用访问字符设备驱动开始,一步步地深入分析Linux字符设备的软件层次.组成框架和交互.如何编写驱动.设备文件的创建和mdev原理,对Linux字符设备驱动有全面的讲解.本文整合之前发表的& ...

  5. Linux字符设备驱动结构(一)--cdev结构体、设备号相关知识机械【转】

    本文转载自:http://blog.csdn.net/zqixiao_09/article/details/50839042 一.字符设备基础知识 1.设备驱动分类 linux系统将设备分为3类:字符 ...

  6. Linux驱动设计——字符设备驱动(一)

    Linux字符设别驱动结构 cdev结构体 struct cdev { struct kobject kobj; struct module *owner; const struct file_ope ...

  7. 【转】linux设备驱动程序之简单字符设备驱动

    原文网址:http://www.cnblogs.com/geneil/archive/2011/12/03/2272869.html 一.linux系统将设备分为3类:字符设备.块设备.网络设备.使用 ...

  8. 字符设备驱动、平台设备驱动、设备驱动模型、sysfs的比较和关联

    转载自:http://www.kancloud.cn/yueqian_scut/emlinux/106829 学习Linux设备驱动开发的过程中自然会遇到字符设备驱动.平台设备驱动.设备驱动模型和sy ...

  9. 使用内核定时器的second字符设备驱动及测试代码

    驱动: #include <linux/kernel.h> #include <linux/module.h> #include <linux/fs.h> #inc ...

随机推荐

  1. selenium C#下的zencart自动化测试(WFloginUrlPayment)环境4.0

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  2. Chapter 2 Open Book——13

    "People in this town," he muttered. "Dr. Cullen is a brilliant surgeon who could prob ...

  3. git日志--log

    1. 查找改动某个文件所有的日志 git log --pretty=oneline somefile.java git log --oneline somefile.java git log --pr ...

  4. java多维数组

    int a[][][] = {{{1,2},{1,2}},{{1,2},{1,2}}}; int b[][][] = new int[][][]{{{1,2},{1,2}},{{1,2},{1,2}} ...

  5. arTemplate解析语法

    模板解析语法 defaults.parser = function (code, options) { // var match = code.match(/([\w\$]*)(\b.*)/); // ...

  6. 在Firefox浏览器中关闭缓存.命令

    在Firefox中关闭缓存 看看这里 在地址栏输入:about:config 然后在过滤器中输入:browser.cache.disk.enable 解释:When a page is loaded, ...

  7. 学习PHP函数:preg_match_all

    <?php $str = '10.10.10.10, 10.10.10.11'; preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', ...

  8. 如何从Apache官网下载apache

    apache服务器官网地址:http://httpd.apache.org/ linux版本下载比较容易,以windows版本,apache 2.4为例. 点击download 此处随便选一个提供商. ...

  9. Winsock SPI-Socks5-SSL

  10. JS-日期框、下拉框、全选复选框

    <!-- 下拉框 --><link rel="stylesheet" href="static/ace/css/chosen.css" /&g ...