Home  >  Article  >  Can golang write embedded code?

Can golang write embedded code?

DDD
DDDOriginal
2023-06-06 09:41:581783browse

golang can be used for embedded development. For embedded development, golang’s network support is very easy to use. It is mainly built for embedded development platforms. Based on cgo, golang is implemented for the /dev directory. uart device control, read and write operations. The relevant parts of cgo have been encapsulated into golang packages, which can be called using golang in the golang business code.

Can golang write embedded code?

#The operating environment of this article: Windows 10 system, go1.20 version, dell g3 computer.

Generally, storage controls in embedded devices are relatively small. Go compiled programs include runtime and are generally relatively large in size, so we need to slim down the program. The slimming method is very simple. When compiling Remove the debugging information, and then use upx for compression. upx supports compression for various CPU architectures.

It is mainly built for embedded development platforms. Based on cgo, it implements golang's control, reading and writing of uart devices in the /dev directory. The relevant parts of cgo have been encapsulated into golang packages, which can be called using golang in the golang business code.

Compilation method

x86 platform: go build

arm platform: CGO_ENABLED=1 GOOS=linux GOARCH=arm CC=arm-none-linux-gnueabi-gcc go build (Note: CC is the name of your cross-compilation tool)

Execution program method

Both platforms are:

./cgouart

During transplantation During the process, you need to change the corresponding serial port device name of the main.go execution program, which can be used portablely, such as: /dev/ttymxc1 for 6Q or: ttyUSB0 for x86. This needs to be changed and transplanted according to the name of the serial port of your own platform

For embedded development, golang’s network support is very easy to use, but often under embedded platforms, some peripherals are often needed. , such as gpio, uart, i2c, spi and other devices in the /dev directory. Therefore, using cgo to encapsulate it into a go package will be very convenient for platforms that require network and basic hardware control.

The above is the detailed content of Can golang write embedded code?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn