加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

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

01/29 13:36
2416
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

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

一、在GoLand中配置

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

1、打開GoLand的設置選項找到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í)行查看結果:可以看到Ubuntu項目目錄下已經(jīng)有編譯好的程序,以及運行結果。

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

(四) 編譯到開發(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、可以看到測試結果正常。

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

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

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

結果正確,程序正常運行??!

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

繼續(xù)嘗試編寫一個簡單的Web后端服務,使用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服務,默認在0.0.0.0:8080啟動服務
	r.Run()
}

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

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

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

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

3、運行服務,并測試:

可以看到,服務正常運行,請求回應也正常。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
KSZ8721BL-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, PQFP48
$4.17 查看
SM4445TEV-33.333M-T250 1 Pletronics Inc CMOS Output Clock Oscillator, 33.333MHz Nom, LCC-4
$19.45 查看
6N136M 1 Lite-On Semiconductor Corporation Logic IC Output Optocoupler, 1-Element, 2500V Isolation, DIP-8
$1.01 查看

相關推薦

電子產(chǎn)業(yè)圖譜