BeagleBone Black 配置 Go 语言环境

在完成 BeagleBone Black(以下简称 BBB)Debian 10.3 环境配置后,我着手搭建 Go 语言环境,为后续开发串口服务器 TCP 数据采集和 GPIO 告警灯控制做准备。Go(Golang)以其高效和简洁著称,与 BBB 的“狗板”气质颇为契合——“狗板配狗语言”,确实般配!本文记录了从下载 Go 1.20.2 到配置国内加速镜像的完整流程,分享踩坑经验和实用技巧。

准备工作:选择正确的 Go 版本

BBB 基于 AM3358 处理器,采用 ARMv7 架构,向下兼容 armv6l。APT 源的 Go 版本较旧,因此需从官方下载最新版 Go 1.20.2。

步骤

  1. 下载 Go 包: 访问 Go 官网,选择 go1.20.2.linux-armv6l.tar.gz(避免 arm64 或源码版本):

    1
    
    wget https://go.dev/dl/go1.20.2.linux-armv6l.tar.gz
    
  2. 解压并安装: 解压文件并移动到 /usr/local/

    1
    2
    
    tar -xvf go1.20.2.linux-armv6l.tar.gz
    mv go /usr/local/
    

配置环境变量

为确保 Go 命令全局可用,需配置环境变量。

步骤

  1. 编辑 ~/.bashrc

    1
    
    vim ~/.bashrc
    

    在文件末尾添加:

    1
    2
    3
    
    export GOROOT=/usr/local/go
    export GOPATH=$HOME/go
    export PATH=$GOROOT/bin:$GOPATH/bin:$PATH
    
  2. 生效配置:

    1
    
    source ~/.bashrc
    
  3. 验证安装:

    1
    
    go version
    

    预期输出:

    1
    
    go version go1.20.2 linux/arm
    

优化国内访问:配置镜像源

为加速 Go 模块下载,配置国内代理镜像:

1
go env -w GOPROXY=https://goproxy.cn/,direct

测试 Go 环境

为确认环境可用,可运行一个简单 Go 程序。创建一个测试文件 test.go

1
2
3
4
5
6
7
package main

import "fmt"

func main() {
    fmt.Println("Hello, BeagleBone Black!")
}

运行:

1
go run test.go

输出 Hello, BeagleBone Black! 表明环境配置成功。

注意事项

  • 权限问题:若 source ~/.bashrc 无效,检查用户权限或尝试以 root 执行。
  • 存储空间:BBB 的 4GB eMMC 空间有限,建议在 MicroSD 卡上运行 Go 项目以避免空间不足。
  • 后续开发:Go 适合处理 TCP 数据流和 GPIO 控制,推荐使用 net 包解析 TCP 数据,配合 go-rpio 库操作 GPIO。

结语

在 BeagleBone Black 上配置 Go 1.20.2 环境相对顺利,下载正确版本、配置环境变量和优化镜像源是关键。狗板与狗语言的组合,为后续嵌入式开发提供了高效平台。接下来,我将用 Go 实现 TCP 数据采集和 GPIO 告警灯控制,敬请期待!

本文改编自2023年3月25日的个人技术记录。