【OpenWRT】快速搭建开发环境

时间:2022-12-15 20:10:55

为嵌入式设备搭建开发环境主要是交叉编译器的配置,好在OpenWRT的官方已经为每一种处理器平台提供了SDK,通过SDK,我们就可以快速搭建开发环境。

下载SDK

  1. 打开 https://downloads.openwrt.org/ ,选择你的OpenWRT版本【OpenWRT】快速搭建开发环境
  2. 选择处理器架构,我的是ramips【OpenWRT】快速搭建开发环境
  3. 选择处理器型号,我的是MT7620【OpenWRT】快速搭建开发环境
  4. 下图为SDK,直接下载【OpenWRT】快速搭建开发环境

配置宿主机的开发环境

OpenWRT官方推荐使用Debian作为开发环境,但是基于Debian的Ubuntu似乎也没有太大问题,我这里是Ubuntu 16.04(AMD64),执行以下命令

sudo apt-get update
sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext libssl-dev ccache

建议将SDK解压至 /usr/local/openwrt_sdk 目录下,因为OpenWRT支持相当多的处理器平台,可以将你所要维护的处理器平台的SDK都放置在此目录中,方便日后开发编译。

SDK中包含一个完整的交叉编译工具链,保存在 SDK目录/staging_dir/toolchain 下,因此,下一步就是设置交叉编译器的环境变量。使用你所熟悉的编辑器打开 ~/.bashrc 文件。添加

export PATH='/usr/local/openwrt_sdk/OpenWrt-SDK-15.05-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin':${PATH}

export STAGING_DIR='/usr/local/openwrt_sdk/OpenWrt-SDK-15.05-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir'

根据你的实际目录情况填写路径,保存之后,重新打开终端,输入mips,按tab键,如果出现 mipsel-openwrt-linux- 则说明环境变量配置成功。

HelloWorld

无论你学什么语言,HelloWorld都是跑不掉的第一课,下面我们也来写一个helloworld程序,在路由器上运行。

#include <stdio.h>
int main()
{
printf("Hello World\n");
return 0;
}

使用下面的指令编译

mipsel-openwrt-linux-gcc hello.c -o hello

然后将编译出的hello文件用winSCP复制到 /root 目录下,在SecureCRT(也可以用putty)赋予执行权限并执行

chmod a+x hello
./hello

可以看到
【OpenWRT】快速搭建开发环境