golang和rust嵌入式开发初探

本文简单的介绍了golang和rust语言在openwrt系统、mips架构下的交叉编译。

环境

主机 系统 内核 架构
host主机 Centos 7.2 linux 3.10.0-327 x86_64
target主机 openwrt 14.07 linux 3.10.14 mipsel

我们要在host主机上编译target主机上运行的二进制程序。由于我们团队有现有的路由宝产品,所以使用现有openwrt环境、并在真机路由器上做测试。如果想亲自动手实验,可以考虑使用QEMU等虚拟机软件模拟相应环境。

工具链

获取openwrt工具链有两种方式:

  1. 可以直接使用openwrt的官网自行下载相应平台的SDK。文档
  2. 使用源码自己编译,新文档旧文档

文档介绍的比较详细,以下简单列出一些步骤和问题。

  1. 进入源码目录,make menuconfig配置相应平台和其他选项等。
  • make menuconfig终端可能显示乱码。解决:export TERM=screen
  1. make -j8
  • 可以使用-j8 选项加快编译速度。
  • make时会下载依赖源码包,由于众所周知的网络原因,可能有些包无法下载。
    解决:可以使用make V=s 打印编译详细信息,查看卡在哪个下载,根据url自行想办法,然后把下载到到包放到dl目录。
  1. 编译完成后会在staging_dir目录下生产工具链。
验证工具链

第1步. 设置STAGING_DIR环境变量为上面工具链目录。

<
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值