基于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 操作系统。配置参考如下:

image

 准备工具链和SDK

image

 部署工具链和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

验证

image

 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

查看编译结果

image

 

posted @ 2025-12-25 10:56  钟齐峰  阅读(5)  评论(0)    收藏  举报