网站首页 > 技术教程 正文
16.应用程序软件包测试
本实验目标
掌握应用程序软件包的编译方法
掌握应用程序的安装使用
14.1 准备工作
跟上一个实验差不多,这里我们提供一个应用程序的软件包模板,存放在目录:“附件: 应用程序软件包模板 “当中 ,名称为: ”mydrv_app” ,我们要将该应用程序软件包放在 OpenWrt 的一个特定的目录下面: openwrt/trunk/package/
14.2 配置 OpenWrt 支持软件包的编译
回到目录: openwrt/trunk/
输入命令: make menuconfig
配置过程如下:
1 ) 选择 Utilities
2)选择我们的应用程序 mydrv_app,按 y 选中
14.3 应用程序软件包源码介绍
我们找到应用程序软件包,发现它的结构组成跟驱动程序软件包是一样的, Makefile 大体相同,直接找到源码:
$cd mydrv_app
$cd src
$vi mydrv_app.c
源码如下:
#include <stdio.h> #include <string.h> #include <fcntl.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/ioctl.h>
int main(int argc , char** argv)
{
int fd;
int num = 1;
//打开驱动模块
fd = open("dev/mydrv" , O_RDWR|O_NONBLOCK);
if(fd < 0)
{
printf("can't open /dev/mydrv\n");
return -1;
}
//函数测试 write(fd,&num,1);
read(fd,&num,1);
ioctl(fd,1,1);
close(fd);
return 0;
}
相信写过 C 程序的都看得懂这些代码了,非常简单,首先打开驱动模块,然后从应用 层调用函数即可!
14.4 编译应用程序软件包
好的,回到 openwrt/trunk/ 目录下,依次输入下列命令进行编译:
make package/mydrv_app/compile V=99
make package/mydrv_app/install V=99
make package/index V=99
编译没有出现 Error 即表示完成,编译后的固件存放在目录:
openwrt/trunk/bin/ramips/packages/base
14.5 应用程序的安装和使用
我们把编译得到的固件下载到开发板中(SSH 网络服务进行下载) ,下载完成后如图:
好的,现在就可以进行应用程序的安装了:
安装完成之后,在确定上一个实验的驱动加载完成后,运行应用程序:
说明: 如果需要自己的驱动程序软件包和应用程序软件包,只需要修改 Makefile 和 源码中的名字即可,直接替换名称!
本实验可能遇到的问题:
opkg install xxx.ipk 时提示:
satisfy_dependencies_for: Cannot satisfy the following dependencies for xxx 问题原因: openwrt 分为两个版本,一个是 trunk 版本,一个是 backfire 版本,我们
用的是 trunk 版本,即测试版本,这个版本每天都在更新;这个错误是因为 openwrt 版本 和 ipk 模块版本不相同导致的!
解决方法:
方法一
版本。
方法二
把驱动程序软件包或者应用程序软件包(即 ipk 模块)编译到 openwrt 中形成相同
尝试强制安装: opkg install xxx.ipk --force-depends
猜你喜欢
- 2025-07-06 深度操作系统 Deepin V23 安装最新的 linux 内核
- 2025-07-06 10.开发板与 Windows 共享文件 openwrt入门经典教程
- 2025-07-06 技术帖 | 飞凌嵌入式T113-i开发板的休眠及唤醒操作
- 2025-07-06 Linux文件系统制作与裁剪(linux 文件切割)
- 2025-07-06 Linux系统的移植和裁剪(linux移植lvgl)
- 2025-07-06 瑞芯微RK3568J如何“调节主频”,实现功耗降低?一文教会您!
- 2025-07-06 「技术干货」一文搞懂怎么使用Linux内核模块
- 2025-07-06 ELF 1技术贴|如何支持exFAT和NTFS格式
- 2025-07-06 笔记-利用本地配置文件Actions云编译Openwrt
- 2025-07-06 busybox文件系统制作步骤,带你快速学习
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)