准备工作
一个linux系统,配置可参考如下(linux 16.04也是可以的)
解压交叉工具链压缩包
在项目目录执行以下命令,解压包到 opt 目录下
tar jxvf /root/OpenWrt-Toolchain-ipq-ipq60xx_64_gcc-5.2.0_musl-1.1.16.Linux-x86_64.tar.bz2 -C /opt/
添加环境变量
添加环境变量:export PATH=你的交叉工具链目录:$PATH,例如
export PATH=/opt/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:$PATH
验证是否安装成功
aarch64-openwrt-linux-gcc -v
解压SDK压缩包
1.执行tar jxvf /root/OpenWrt-SDK-ipq-ipq60xx_64_gcc-5.2.0_musl-1.1.16.Linux-x86_64.tar.bz2 -C /opt/
2.进入SDK根目录,cd /opt/OpenWrt-SDK-ipq-ipq60xx_64_gcc-5.2.0_musl-1.1.16.Linux-x86_64/
3.执行ls可以看到有build_dir、staging_dir和package等目录
4.同样添加至环境变量
export STAGING_DIR=/opt/OpenWrt-SDK-ipq-ipq60xx_64_gcc-5.2.0_musl-1.1.16.Linux-x86_64/staging_dir
5.进入package目录,创建HelloWorld项目文件夹并在文件夹中创建一个src文件夹存放项目源码
cd package
mkdir -p Helloworld
cd Helloworld
mkdir -p src
6.将项目的源码放至src下
7.进入src目录,开始单步编译
cd src
aarch64-openwrt-linux-musl-gcc main.c -o HelloWorld
8.编译成功在当前目录中会出现编译完的程序
将HelloWorld放到设备中运行
1.开启设备的ssh功能
登录路由器管理页面,点击菜单:系统——日期和时间
2.上传刚编译好的Helloworld程序到设备的/usr/sbin
目录下(这里我已将刚刚编译好的HelloWorld程序从SDK中下载到本地D盘上)
scp D:/HelloWorld admin@192.168.2.1:/usr/sbin(登录密码为路由器页面登录密码,默认admin)
如果提示如下错误,执行ssh-keygen -R 192.168.2.1清空以下密码表
3.登录到路由器后台(登录密码为路由器页面登录密码,默认admin),执行chmod +x /usr/sbin/HelloWorld修改程序执行权限,就可以在设备的任意路径下直接运行HelloWorld了
ssh admin@192.168.2.1
chmod +x /usr/sbin/HelloWorld
HelloWorld