需要先在 make menuconfig 中打开 sdk
make -j4
在 bin argets
amipsmt7620生成一个
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
结果 在
binpackagesmipsel_24kcase 生成了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 写法,在下一篇文章中。