1. 生成openwrt-sdk

在openwrt的根目录使用

make menuconfig
make V=99

选中 Build the Openwrt SDK

将生成的sdk文件拷贝到自己认为合适的目录。以后自己编写的程序包,都以这个目录为依据。这个SDK的目录结构类似openwrt的源码。

cp OpenWrt-SDK-ramips-mt7628_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686.tar.bz2 /home/qian/js7688_bsp/sdk_openwrt
cd /home/qian/js7688_bsp/sdk_openwrt
tar -xvf OpenWrt-SDK-ramips-mt7628_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686.tar.bz2 #解包
mv OpenWrt-SDK-ramips-mt7628_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686 openwrt_sdk #名字太长 改短些

2. 创建一个helloworld IPK软件包

cd ..openwrt_sdk/package   #进入到sdk的package目录下  参考个人路径

目录下各个文件如下:

各个文件的内容如下:

package目下的Makefile是原来就有的,不要动。

package/helloworld目录下的文件是我们需要添加的。

helloworld/Makefile

include $(TOPDIR)/rules.mk  #包含了包的基本信息,比如Makefile中的BUILD_DIR INCLUDE_DIR 等定义。可以到源码目录下查看rules.mkPKG_NAME:=helloworld                       #软件包的名称
PKG_VERSION:=1.0                           #软件包的版本
PKG_BUILD_DIR:= $(BUILD_DIR)/$(PKG_NAME)   #软件包编译目录include $(INCLUDE_DIR)/package.mk  #定义用户软件包的规则。用户态package.mk 内核态:kernel.mkdefine Package/helloworld        #定义包的名称SECTION:=base            #包的类型CATEGORY:=Utilities      #目录为utilitis,在menuconfig中的位置,有时还会有SUBMENU项,即子目录. TITLE:=Hello world -prints a hello world message #软件包的简单描述
endefdefine Package/helloworld/description   #menuconfig中Help信息If you can't figure out what this program does, you're probably  brain-dead and need immediate medical attention.
endefdefine Build/Preparemkdir -p $(PKG_BUILD_DIR)$(CP) ./src/* $(PKG_BUILD_DIR)/
endefdefine Package/helloworld/install$(INSTALL_DIR) $(1)/bin$(INSTALL_BIN) $(PKG_BUILD_DIR)/helloworld $(1)/bin/
endef$(eval $(call BuildPackage,helloworld))

helloworld/src/Makefile

helloworld : helloworld.o$(CC) $(LDFLAGS) helloworld.o -o helloworldhelloworld.o : helloworld.c$(CC) $(CFLAGS) -c helloworld.cclean:rm *.o helloworld

helloworld/src/helloworld.c

#include <stdio.h>
#include <stdlib.h>int main(void)
{int i=0;while(1){i++;printf("hello world... cnt=%d\r\n",i);sleep(1);}}

3 编译生成ipk文件

回到openwrt_sdk的根目录

make menuconfig
make

默认就是M。。

4.安装和执行

编译好的ipk存放在:..openwrt_sdk/bin/ramips/packages/base/

拷贝到开发板上,执行

opkg install helloworld_1.0_ramips_24kec.ipk
helloworld

使用openwrt-SDK 生成IPK相关推荐

  1. openwrt 下编译ipk

    openwrt插件都是以.ipk方式发布的,ipk可以直接通过opkg安装到系统.上文我们编译了简单的hello,本文探究hello.ipk的编译过程. 一. 环境准备 cd ~/openwrt/bi ...

  2. uniapp使用高德地图微信小程序SDK生成地图轨迹

    一文看懂微信小程序生成地图轨迹 一.开发准备 1.下载微信小程序SDK 2.高德控制台申请相关平台key 二.html页面展示地图标签 三.引入sdk及定义数据 四.相关方法(静态生成两个点之间的轨迹 ...

  3. 使用京东FaceX-Zoo sdk生成戴口罩数据集

    使用京东FaceX-Zoo sdk生成戴口罩数据集 最近要做戴口罩的人脸识别,事实上当前开源的模型都不那么尽如人意,所以要优化算法再重新训练. 首先要解决的就是数据集的问题.因为从网络中能获取到的真实 ...

  4. openwrt修改生成BIN文件大小以用于8M FLASH(WR703N)

    openwrt修改生成BIN文件大小以用于8M FLASH(WR703N) 由于存放于SVN上的openwrt代码总是不断更新版本,本方法可能不适用老版本. 1. openwrt 当前版本号:3440 ...

  5. openwrt学习笔记(1)--什么是openwrt,openwrt sdk

    前言 环境: 1. VM15+ubuntu 14.04 LTS. 2. 创凌开发板TR7628NADM-4G : MT7268N. 什么是openwrt 专用于嵌入式路由设备的linux发行版. 组成 ...

  6. OpenWrt SDK应用程序开发

    在官方下载了openwrt发行版barrier_breaker后,开始在ubuntu下编译.要进行应用程序开发,注意要勾选SDK; 由于我所用板子是rampis系列的mt7620a,所以在Subtar ...

  7. MT7621原厂openwrt SDK使能串口2和串口3

    MT7621有三个串口,项目需要将三个串口都使能: 首先按照openwrt的方法修改DTS文件来使能串口2和串口3是不行的,经试验,还是要按照MTK传统的方法,修改内核源码来解决:不同SDK版本可能不 ...

  8. openwrt sdk下交叉编译aria2c

    想要在路由器下安装一个下载工具,选择了aria2c,用到的操作系统openwrt. 下面是交叉编译的步骤: (1)在github上下载最新的aria2版本aria2-1.33.0.tar.xz (2) ...

  9. OpenWrt安装ser2net.ipk软件包

    前言: 本文讲解在OpenWrt上安装ser2net.ipk软件包,实现双向通信. 实验平台如下: 路由器型号:TP-LINK TL-WR703N v1 OpenWrt版本:Chaos Calmer ...

  10. Kinect Azure DK入门学习(三)——设置人体跟踪SDK + 生成第一个人体跟踪应用程序

    参考官网教程:https://docs.microsoft.com/zh-cn/azure/kinect-dk/body-sdk-setup https://docs.microsoft.com/zh ...

最新文章

  1. hibernate和spring学习
  2. Codeforces Round #694 (Div. 2) D. Strange Definition 质因子分解 + 平方数
  3. 在Ubuntu中搭建.NET开发环境
  4. python vars() 函数用法及实例
  5. 机器学习笔记II: 决策树
  6. mysql xp系统时间_【MySQL】时间函数
  7. java修改.class重新打包jar
  8. Apache 配置里面使用 Win32DisableAcceptEx ,Apache 启动不了
  9. 思岚科技RPlidar A3激光雷达ROS源码详解
  10. Linux+bridge做透明网桥
  11. oracle if else嵌套,else能嵌入if吗
  12. 软件测试常见分辨率测试,兼容测试:常见的显示器分辨率
  13. Linux GDB的实现原理
  14. 神秘的罗斯柴尔德家族
  15. SpringBoot项目中的 ClassPath路径指的是哪个路径
  16. 无法加载文件 ,因为在此系统上禁止运行脚本
  17. FLStudio21水果软件中文版本有哪些新增功能?
  18. 黑客每小时发送3万封性勒索邮件:轻松月入11万!
  19. git出现fatal: authentication failed for *****解决办法
  20. PHP字符串长度不一致的处理方法

热门文章

  1. cass简码大全_南方CASS简码.doc
  2. oracle软件 乱码,oracle 中文乱码解决办法
  3. 微信小程序data format error解决办法
  4. (二十)美萍酒店管理系统:系统维护_系统设置_房间类型_单个添加、多个添加
  5. newifimini出厂固件_newifi 新路由 mini用哪个Pandora固件
  6. IP地址的分类和规划
  7. delphi 剪切板变量_delphi clipbrd剪贴板的读写和清除功能
  8. (转)用Scintilla让程序支持语法高亮
  9. 查看电脑的admin的密码
  10. 台式计算机如何取消屏幕密码,电脑锁屏密码图文步骤教程 电脑怎么设置及取消锁屏密码...