参考文档

  1. Go语言官方编译指南(需翻墙访问)

开发环境介绍

  • 主机操作系统:Ubuntu14.04 64位
  • 目标平台:IMX.6
  • 交叉工具链:arm-poky-linux-gnueabi,gcc4.8.2
  • Go版本:1.10.3
  • 编译时间:2018.8.27

编译Go编译器(Host)

因为从Go1.4之后Go语言的编译器完全由Go语言编写,所以为了从源代码编译Go需要先编译一个1.4版本的Go版本。为了方便国内下载可以提供一个Go1.4工具链源代码地址地址。

下载完成之后将得到一个go1.4-bootstrap-20171003.tar.gz压缩包,接下来进行解压编译:

tar -zxvf go1.4-bootstrap-20171003.tar.gz -C /usr/local/
cd /usr/local/go/src
GOOS=linux GOARCH=amd64 ./make.bash

经过短时间的编译之后将会在go/bin目录下生成go命令二进制文件

设置环境变量

/etc/bash.bashrc文件中添加如下内容(重启命令行后生效)):

export GOROOT_BOOTSTRAP=/usr/local/go
export CC_FOR_TARGET=/opt/zhaozhongxiang/hwzt_yc_3.10.53/build-x11/tmp/sysroots/x86_64-linux/usr/bin/cortexa9hf-vfp-neon-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc
export CXX_FOR_TARGET=/opt/zhaozhongxiang/hwzt_yc_3.10.53/build-x11/tmp/sysroots/x86_64-linux/usr/bin/cortexa9hf-vfp-neon-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++

编译Go(ARM)

完成Go1.4的编译之后,可以利用Go1.4来编译新版本的Go,这里提供Go源代码下载地址。

tar -zxvf go-go1.10.3.tar.gz
cd go-go1.10.3/src
# 开启CGO编译
CGO_ENABLED=1 GOOS=linux GOARCH=arm GOARM=7 ./make.bash
# 关闭CGO编译
CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=7 ./make.bash

提示:当选择开启CGO编译时必须配置CC_FOR_TARGETCXX_FOR_TARGET两个环境变量

经过编译之后go-go1.10.3目录下会生成arm和amd64两个平台的Go命令和依赖包,所以这个版本编译的Go命令可以进行两个平台的Go应用程序开发。

使用新编译的Go1.10版本替换旧的Go1.4

cd go-go1.10.3/src
cd ../../
mv go-go1.10.3 go
rm /usr/local/go -rf
cp -r go /usr/local/go

设置环境变量

/etc/bash.bashrc文件中添加如下内容(重启命令行后生效)):

export GOROOT_BOOTSTRAP=/usr/local/go
# 为了可以编译CGO的Go应用程序(ARM版本)必须要保留下面的两个环境变量
export CC_FOR_TARGET=/opt/zhaozhongxiang/hwzt_yc_3.10.53/build-x11/tmp/sysroots/x86_64-linux/usr/bin/cortexa9hf-vfp-neon-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc
export CXX_FOR_TARGET=/opt/zhaozhongxiang/hwzt_yc_3.10.53/build-x11/tmp/sysroots/x86_64-linux/usr/bin/cortexa9hf-vfp-neon-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++
export GOROOT=/usr/local/go
export GOPATH=/usr/local/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

验证Go版本

go version
# 正常情况会输出如下内容
go version go1.10.3 linux/amd64

编译Helloworld程序

新建helloworld.go

package mainimport "fmt"func main() {fmt.Println("Hello world")
}

编译ARM版本应用程序

GOOS=linux GOARCH=arm GOARM=7 go build helloworld.go

编译完成之后在当前目录下会生成helloworld,将此文件上传到ARM目标文件系统上执行测试

Go语言程序开发之ARM开发环境搭建相关推荐

  1. 【原作者:吴秦(Tyler)http://www.cnblogs.com/skynet/archive/2010/04/12/1709892.html】Android开发之旅:环境搭建及HelloWo

    Android开发之旅:环境搭建及HelloWorld 2010-04-12 00:45 by 吴秦, 801360 阅读, 138 评论, 收藏, 编辑 --工欲善其事必先利其器 引言 本系列适合0 ...

  2. linux上 arm开发环境搭建,详解 LINUX下QT For ARM开发环境搭建过程

    LINUX下QT For ARM开发环境搭建过程是本文介绍的内容,不多说,先来看内容.在PC上,我们需要得到两个版本的Qt,分别是:Qt-4.5.2和QtEmbedded-4.5.2-arm.前者包括 ...

  3. 关于FS4412的ARM开发环境搭建并点亮LED灯

    目录 一.ARM开发环境搭建 1.安装 GCC 编译工具 2.安装 Yagarto 工具包 3.安装FS-JTAG调试软件 4.安装JRE 5.安装FS-JTAG驱动 6.安装USB转串口驱动 7.安 ...

  4. 嵌入式LINUX搭建arm环境,手把手教你嵌入式ARM开发环境搭建

    原标题:手把手教你嵌入式ARM开发环境搭建 1. 安装,配置,启动FTP服务 · 安装FTP: sudo apt-get install vsftpd · 修改vsftpd的配置文件/etc/vsft ...

  5. STM32WL开发之LORA开发环境及其Demo例程介绍

    前言:在前一篇<STM32WL开发之LM401评估板开箱及PingPong测试>中经过测试,认为STM32WL的LoRa通信和易智联的LM401评估板都是OK的,接下来就开始开发环境的准备 ...

  6. 瑞萨单片机c语言程序,瑞萨单片机开发环境系统用户手册.pdf

    RCC10J0005-0100 M16C R8C FOUSB/UART软件 用户手册 瑞萨单片机开发环境系统 Rev.1.00 发行:2006年10月27日 Keep safety first in ...

  7. Android开发之旅:环境搭建及HelloWorld

    2019独角兽企业重金招聘Python工程师标准>>> 引言 本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Andr ...

  8. Android开发之旅:环境搭建及HelloWorld---吴秦(Tyler)

    --工欲善其事必先利其器 引言 本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方 ...

  9. 高云FPGA系列教程(1):FPGA和ARM开发环境搭建

    文章目录 @[toc] 1. 获取安装包 2. 申请License 3. 安装高云FPGA开发环境 4. 安装高云MCU开发环境 5. 替换TangNano 4K专用下载软件 总结 本文是高云FPGA ...

  10. Java开发之JDK 开发环境配置

    本篇文章出在CRMEB JAVA开源版商城系统项目负责人(西北大粽子)之手,能文能武,扫盲也不含糊! 文章开始之前先给 大家安利以下我们的开源项目,CRMEB单商户商城系统(Java)版,点击查看相关 ...

最新文章

  1. APC UPS网络管理卡 (AP9606/9617/9618/9619)的快速安装及配置指南
  2. jquery实现在元素外单击,隐藏此元素
  3. 嵌套的Try-Catch块--------异常处理(3)
  4. Linux修改密码后不能SSH远程登录了
  5. lua __index __newindex upvalue 示例
  6. Full Tank?
  7. 作者:崔辰州(1976-),男,博士,中国科学院国家天文台研究员、硕士生导师...
  8. java va start_va_start和va_end使用详解
  9. python分段函数 保留两位小数_使用Python适合分段函数
  10. 骨干考核系统系统流程及整体规则
  11. 莫烦python讲得好差_莫烦PYTHON——PyTorch——DQN 代码详解
  12. web前端开发面试题(六)
  13. word数学公式快捷键-高效率办公技能get
  14. Windows下安装Cygwin及包管理器apt-cyg(转)
  15. 如何在 Excel 图表中添加或删除次坐标轴?
  16. 尝试一下LLJ大佬的理论AC大法
  17. 检样用计算机时间,怎么检查电脑用了多久?
  18. 如何让table边框变为单实线?
  19. 前端练习--京东图片链接
  20. 手机汉字输入法欲立国家标准

热门文章

  1. python旋转图片
  2. apm系统服务器,APM系统简单对比(zipkin,pinpoint和skywalking)
  3. 从鼠标点击位置发射射线检测是否点击到3D世界中的物体
  4. Qt:十六进制字符串和十六进制互转
  5. 深度学习中的多任务学习介绍
  6. 基于python和tesseract库的中英文识别(OCR)
  7. LM1875小功放电路解析与调校(出好声音)
  8. ssh-hostbased配置方法
  9. 苏宁金科CTO肖军:如何让1000人+的团队持续打胜仗,从找人,到育人,到用人具体怎么做?...
  10. macos android大小写,Git(MacOS)区分大小写覆盖问题