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.
#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!