page contents

golang嵌入式开发

本项目是golang嵌入式开发方法,主要是为嵌入式开发平台打造,基于cgo实现了golang对于/dev目录下的uart设备控制,读写等操作。cgo相关部分已封装成golang包,在golang业务代码中使用golang调用即可。

attachments-2021-08-4aJIRnE261298c7393df3.jpg

一、项目概述

本项目是golang嵌入式开发方法,主要是为嵌入式开发平台打造,基于cgo实现了golang对于/dev目录下的uart设备控制,读写等操作。cgo相关部分已封装成golang包,在golang业务代码中使用golang调用即可。

二、编译方法与执行

1、编译方法

x86平台:go build

arm平台:CGO_ENABLED=1 GOOS=linux GOARCH=arm CC=arm-none-linux-gnueabi-gcc go build (注意:CC是你的交叉编译工具名称)

2、执行程序方法

两种平台都是:

./cgouart

三、本项目已在x86、IMX6Q平台上测试通过

四、移植说明

在移植过程中, 需要更改main.go执行程序的相应串口设备名称,即可移植使用,例如6Q的: /dev/ttymxc1或者x86的:ttyUSB0。这个需要自己根据自己平台串口的名称进行更改移植

五、意义

对于做嵌入式开发来说,golang的网络支持是非常好用的,但是往往嵌入式平台下,经常需要用到一些外设,比如gpio,uart、i2c,spi等等一些/dev目录下的一些设备。所以,使用cgo封装成go包,对于要求需要网络,同时也需要基础硬件控制的平台来说,将会非常方便。

六、附录

其实,就算不用cgo也能使用golang里的syscall做设备控制,只是基于很多的设备控制的例子都是C语言的,所以,这样会相对比较省事。

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

程序员编程交流QQ群:805358732

如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。

attachments-2022-06-MobPLplP62afd0f6abf2f.jpeg

  • 发表于 2021-08-28 09:08
  • 阅读 ( 419 )
  • 分类:Golang

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章