• 正文
  • 推荐器件
  • 相关推荐
申请入驻 产业图谱

如何将Go程序编译到ELF 1开发板

2024/01/29
979
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

ElfBoard组建的共创社是嵌入式科技创新与学习实践的前沿阵地,我们有幸见证着每一位共创官积极投身于嵌入式技术的热潮中,用实际行动诠释着探索精神。今天就跟各位小伙伴分享一下共创官是怎样将Go程序编译并运行在ELF 1开发板上的。

一、在GoLand中配置

(一) 配置SSH连接Ubuntu虚拟机以及ELF 1开发板

1、打开GoLand的设置选项找到SSH,配置连接到Ubuntu虚拟机、并测试连接是否正常。

2、同样配置连接到ELF 1开发板并测试是否连接正常。

(二) 创建项目编写测试程序

1、从GoLand中创建项目编写测试程序如下:

package main
import "fmt"
func main() {
    fmt.Println("Hello ELF1 !")
}

2、执行默认配置、查看Windows下输出正常。

(三) 编译到Ubuntu虚拟机运行

1、在配置选项卡中创建新配置、选择运行于第一步配置好的Ubuntu虚拟机并且在管理目标中配置好虚拟机中的项目存放路径。

2、编译执行查看结果:可以看到Ubuntu项目目录下已经有编译好的程序,以及运行结果。

3、在Ubuntu中再次确认,打开项目目录,执行程序,查看结果。

(四) 编译到开发板运行

从第三部分可以看到直接在GoLand中配置编译到远程目标机是非常简单的,但是很可惜在ELF 1开发板上不能直接这样做。因为参考快速启动手册开发板默认配置是没有sftp的,只有ftp,而GoLand依赖于sftp,所以不能直接这样配置。

所以就需要Go的环境变量来使其编译出目标机可执行的程序。先配置一下编译到Ubuntu虚拟机测试一下。

1、先配置编译到Linux平台测试,打开配置,新建一个配置。运行于选本地机器,选择输出目录到项目下,配置Go的环境 GOOS=linux。

2、编译可以看到target目录下生成的Linux程序,上传到Ubuntu虚拟机中测试。

3、可以看到测试结果正常。

现在就可以正式配置编译到开发板啦。1、新建配置,添加Go环境 GOOS=linux;GOARCH=arm;GOARM=7

2、运行配置,执行编译。

3、上传到开发板、修改可运行权限,这里直接配置为777,运行查看结果。

结果正确,程序正常运行!!

二、使用Gin框架编写一个简单的Web后端

继续尝试编写一个简单的Web后端服务,使用Gin Web Framework。

官网:gin-gonic.com/zh-cn/

文档:gin-gonic.com/zh-cn/docs/

(一) 新建项目、编写程序

1、新建项目,安装Gin。

go get -u github.com/gin-gonic/gin

2、编写简单示例:

package main

import (
	"github.com/gin-gonic/gin"
)

func main() {
	// 创建一个默认的路由引擎
	r := gin.Default()
	// GET:请求方式;/hello:请求的路径
	// 当客户端以GET方法请求/hello路径时,会执行后面的匿名函数
	r.GET("/hello", func(c *gin.Context) {
		// c.JSON:返回JSON格式的数据
		c.JSON(200, gin.H{
			"message": "Hello world!",
		})
	})
	// 启动HTTP服务,默认在0.0.0.0:8080启动服务
	r.Run()
}

3、在Windows中测试程序是否正确,首先启动服务,使用ApiFox测试,可以看到程序正常。

(二) 编译到开发板并测试

1、同样新建配置,添加Go环境GOOS=linux;GOARCH=arm;GOARM=7

2、执行编译、拷贝到ELF 1开发板、修改可执行权限。

3、运行服务,并测试:

可以看到,服务正常运行,请求回应也正常。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
LAN8720AI-CP-TR 1 SMSC Ethernet Transceiver, 1-Trnsvr, CMOS, 4 X 4 MM, 0.85 MM HEIGHT, ROHS COMPLIANT, QFN-24
$1.74 查看
SN74LVC1G125DCKR 1 Texas Instruments Single 1.65-V to 5.5-V buffer with 3-state outputs 5-SC70 -40 to 125

ECAD模型

下载ECAD模型
$0.3 查看
74VHC14MTCX 1 Fairchild Semiconductor Corporation Inverter, AHC/VHC Series, 6-Func, 1-Input, CMOS, PDSO14, 4.40 MM, MO-153AB, TSSOP-14
$0.36 查看
飞凌嵌入式

飞凌嵌入式

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。收起

查看更多

相关推荐