基于OpenWRT开发路由器嵌入式应用程序
基于OpenWRT开发路由器嵌入式应用程序
1 环境:
OS :debian 12
交叉编译工具链:
- OpenWrt-Toolchain-ipq-ipq60xx_64_gcc-5.2.0_musl-1.1.16.Linux-x86_64.tar.bz2
- OpenWrt-SDK-ipq-ipq60xx_64_gcc-5.2.0_musl-1.1.16.Linux-x86_64.tar.bz2
下载路径:
https://pan.baidu.com/s/1pLtXH85c0MoJtllFwfhVhw?pwd=va1p
2 OpenWrt简介
OpenWrt是一个嵌入式Linux发行版本,主要应用于路由器等嵌入式设备。其采用可写文件系统架构,通过包管理系统实现模块化扩展,开发者无需重新编译固件即可定制功能,支持跨平台及多种处理器架构。其高度模块化、高度自动化,拥有强大的网络组件和扩展性,常常被用于工控设备、电话机、小型机器人、智能家居、路由器以及VOIP设备。同时,还提供了100多个已编译好的软件,而且数据还在不断增加,而OpenWrt SDK更加简化了开发软件的工序。
官网地址:
https://openwrt.org/
3 准备开发环境
准备好Debian 12 操作系统。配置参考如下:

准备工具链和SDK

部署工具链和SDK
tar -jxvf ./OpenWrt-Toolchain-ipq-ipq60xx_64_gcc-5.2.0_musl-1.1.16.Linux-x86_64.tar.bz2 tar -jxvf ./OpenWrt-SDK-ipq-ipq60xx_64_gcc-5.2.0_musl-1.1.16.Linux-x86_64.tar.bz2
添加环境变量
export PATH=$PATH:/opt/openwrt/OpenWrt-Toolchain-ipq-ipq60xx_64_gcc-5.2.0_musl-1.1.16.Linux-x86_64/toolchain-aarch64_cortex-a53_gcc-5.2.0_musl-1.1.16/bin export STAGING_DIR=/opt/openwrt/OpenWrt-SDK-ipq-ipq60xx_64_gcc-5.2.0_musl-1.1.16.Linux-x86_64/staging_dir
验证

4 交叉编译示例
进入到编译目录
cd /opt/openwrt/OpenWrt-SDK-ipq-ipq60xx_64_gcc-5.2.0_musl-1.1.16.Linux-x86_64/package mkdir -p Helloworld cd Helloworld mkdir -p src
编写main.c程序
#include <stdio.h> int main() { printf("Hello OpenWrt!\n"); return 0; }
编译
aarch64-openwrt-linux-musl-gcc main.c -o HelloWorld
查看编译结果

浙公网安备 33010602011771号