• 正文
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

如何將Go程序編譯到ELF 1開發(fā)板

2024/01/29
1803
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

ElfBoard組建的共創(chuàng)社是嵌入式科技創(chuàng)新與學(xué)習(xí)實踐的前沿陣地,我們有幸見證著每一位共創(chuàng)官積極投身于嵌入式技術(shù)的熱潮中,用實際行動詮釋著探索精神。今天就跟各位小伙伴分享一下共創(chuàng)官是怎樣將Go程序編譯并運行在ELF 1開發(fā)板上的。

一、在GoLand中配置

(一) 配置SSH連接Ubuntu虛擬機以及ELF 1開發(fā)板

1、打開GoLand的設(shè)置選項找到SSH,配置連接到Ubuntu虛擬機、并測試連接是否正常。

2、同樣配置連接到ELF 1開發(fā)板并測試是否連接正常。

(二) 創(chuàng)建項目編寫測試程序

1、從GoLand中創(chuàng)建項目編寫測試程序如下:

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

2、執(zhí)行默認配置、查看Windows下輸出正常。

(三) 編譯到Ubuntu虛擬機運行

1、在配置選項卡中創(chuàng)建新配置、選擇運行于第一步配置好的Ubuntu虛擬機并且在管理目標中配置好虛擬機中的項目存放路徑。

2、編譯執(zhí)行查看結(jié)果:可以看到Ubuntu項目目錄下已經(jīng)有編譯好的程序,以及運行結(jié)果。

3、在Ubuntu中再次確認,打開項目目錄,執(zhí)行程序,查看結(jié)果。

(四) 編譯到開發(fā)板運行

從第三部分可以看到直接在GoLand中配置編譯到遠程目標機是非常簡單的,但是很可惜在ELF 1開發(fā)板上不能直接這樣做。因為參考快速啟動手冊開發(fā)板默認配置是沒有sftp的,只有ftp,而GoLand依賴于sftp,所以不能直接這樣配置。

所以就需要Go的環(huán)境變量來使其編譯出目標機可執(zhí)行的程序。先配置一下編譯到Ubuntu虛擬機測試一下。

1、先配置編譯到Linux平臺測試,打開配置,新建一個配置。運行于選本地機器,選擇輸出目錄到項目下,配置Go的環(huán)境?GOOS=linux。

2、編譯可以看到target目錄下生成的Linux程序,上傳到Ubuntu虛擬機中測試。

3、可以看到測試結(jié)果正常。

現(xiàn)在就可以正式配置編譯到開發(fā)板啦。1、新建配置,添加Go環(huán)境?GOOS=linux;GOARCH=arm;GOARM=7

2、運行配置,執(zhí)行編譯。

3、上傳到開發(fā)板、修改可運行權(quán)限,這里直接配置為777,運行查看結(jié)果。

結(jié)果正確,程序正常運行??!

二、使用Gin框架編寫一個簡單的Web后端

繼續(xù)嘗試編寫一個簡單的Web后端服務(wù),使用Gin Web Framework。

官網(wǎng):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() {
	// 創(chuàng)建一個默認的路由引擎
	r := gin.Default()
	// GET:請求方式;/hello:請求的路徑
	// 當客戶端以GET方法請求/hello路徑時,會執(zhí)行后面的匿名函數(shù)
	r.GET("/hello", func(c *gin.Context) {
		// c.JSON:返回JSON格式的數(shù)據(jù)
		c.JSON(200, gin.H{
			"message": "Hello world!",
		})
	})
	// 啟動HTTP服務(wù),默認在0.0.0.0:8080啟動服務(wù)
	r.Run()
}

3、在Windows中測試程序是否正確,首先啟動服務(wù),使用ApiFox測試,可以看到程序正常。

(二) 編譯到開發(fā)板并測試

1、同樣新建配置,添加Go環(huán)境GOOS=linux;GOARCH=arm;GOARM=7

2、執(zhí)行編譯、拷貝到ELF 1開發(fā)板、修改可執(zhí)行權(quán)限。

3、運行服務(wù),并測試:

可以看到,服務(wù)正常運行,請求回應(yīng)也正常。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
SN74LVC1G14DCKRE4 1 Texas Instruments Single 1.65-V to 5.5-V inverter with Schmitt-Trigger inputs 5-SC70 -40 to 125

ECAD模型

下載ECAD模型
$0.41 查看
AT24CM02-SSHD-B 1 Atmel Corporation EEPROM, 256KX8, Serial, CMOS, PDSO8, 0.150 INCH, GREEN, PLASTIC, MS-012AA, SOIC-8

ECAD模型

下載ECAD模型
$3.3 查看
ASEM1-16.000MHZ-LC-T 1 Abracon Corporation MEMS OSC XO 16.0000MHZ CMOS SMD
$1.63 查看

相關(guān)推薦