openwrt sdk 编译工具 及 hello world

需要先在 make menuconfig 中打开 sdk
make -j4
在 bin\targets\ramips\mt7620生成一个
openwrt-sdk-ramips-mt7620_gcc-7.3.0_musl.Linux-x86_64.tar.xz
tar xf openwrt-sdk-ramips-mt7620_gcc-7.3.0_musl.Linux-x86_64.tar.xz

以后使用 sdk 编译自己的软件包。

openwrt sdk 的用处。

一般在嵌入式开发软件要做的事情是这样,需要先交叉编译某个库,如 freeType 或 jpeg 等。生成的 头文件及库需要放在一个位置。

在编译你的软件时候,在makefile 中指定库的头文件,库路径什么的,在发布固件的时候,也需要把 so 库发布到 lib 里面。这些工作是手动做的。

yocto 是一整套,构建,固件,解决库依赖的编译工具。(篇符有限,不在这里介绍 yocto )

openwrt sdk 和 yocto 功能差不多,它们提供的功能是。

1,下载

2,打补丁

3,依赖关系

4,编译进固件

编译 helloworld 软件包

参考
https://openwrt.org/docs/guide-developer/helloworld/start

新建2个文件 helloworld.c Makefile

放到 sdk packager helloworld 里面的 src

make 以后会打开配置界面,并自动选择到 helloworld 为 M

结果 在
bin\packages\mipsel_24kc\base 生成了helloworld_1.0-1_mipsel_24kc.ipk 复制到 路由器中,这里用的是 samba 共享,挂载了 /tmp 节点。

root@OpenWrt:/tmp# opkg install helloworld_1.0-1_mipsel_24kc.ipk
Installing helloworld (1.0-1) to root...
Configuring helloworld.
root@OpenWrt:/tmp# helloworld
hello world

Makefile 写法,在下一篇文章中。

posted @ 2018-08-04 10:21  宁次  阅读(3563)  评论(0编辑  收藏  举报