Go Wiki:MIPS 上的 Go
简介
Go 程序可以进行交叉编译,例如在 x86/x86_64 构建系统上编译以在 MIPS 目标机器上运行。
支持的架构
Go 支持以下 MIPS 架构系列。(还有更多吗?)
架构 | 状态 | GOMIPS 值 | GOARCH 值 |
---|---|---|---|
大端(例如 ar71xx) | 支持 | GOMIPS=softfloat | GOARCH=mips |
小端 | 支持 | 不适用 | GOARCH=mipsle |
支持的操作系统
- Linux 上的 MIPS。已使用基于 ar71xx 的 OpenWrt 设备进行测试。
推荐的 Go 版本
在 MIPS 系统上运行 Go 的测试版本是 Go 1.13。
提示和技巧
为 ar71xx OpenWrt 构建
这将构建一个 Go 程序,去除不必要的字符串和符号以最小化其大小,并对其进行压缩以进一步最小化其大小
env GOOS=linux GOARCH=mips GOMIPS=softfloat go build -trimpath -ldflags="-s -w" 'server.go'
upx -9 server
成功案例
MIPS 硬件有各种形状和大小。如果您在 Arm 系统上构建和运行 Go 的成功案例,请在此处详细说明您的结果。
D-Link DIR-505 移动伴侣
架构:ar71xx
操作系统:OpenWrt
D-Link DIR-505 移动伴侣配备 Atheros AR1311 处理器、8 MB 闪存和 64 MB RAM。此空间有限,但允许我们加载 Go 应用程序,例如,从网络加载到 /tmpfs
并从那里执行。
有关设备的更多信息,请访问 https://openwrt.org/toh/d-link/dir-505。
Teltonika RUT955
架构:ar9344
操作系统:RutOS(基于 OpenWrt)
Teltonika RUT955 具有以 550 MHz 运行的 Atheros Wasp MIPS 74Kc CPU,配备 16 MB 闪存和 128 MB RAM。内置闪存不足以满足大多数应用程序,但可以添加 Micro SD 或 USB 存储器(直接从 SD 运行应用程序不可靠,但复制到 /tmpfs 并从那里运行可以正常工作)。内置 IO、GPS 等可以通过 Modbus TCP 访问,RS232/RS485 端口可以正常工作。使用 Go 1.14.6、1.15.3 和 1.21.1(GOARCH=mips,GOMIPS=softfloat)进行了测试。
有关设备的更多信息,请访问 https://teltonika-networks.com/product/rut955/。
Teltonika RUT956
架构:MediaTek MT7628AN ver:1 eco:2
操作系统:RutOS(基于 OpenWrt)
Teltonika RUT956 具有以 580 MHz 运行的 Mediatek MIPS 24KEc CPU,配备 16 MB 闪存和 128 MB RAM。内置闪存不足以满足大多数应用程序,但可以添加 USB 存储器。内置 IO、GPS 等可以通过 Modbus TCP 访问,RS232/RS485 端口可以正常工作。使用 Go 1.21.1(GOARCH=mipsle,GOMIPS=softfloat)进行了测试。请注意,如果未设置 GOMIPS
,则会输出 非法指令
。
有关设备的更多信息,请访问 https://teltonika-networks.com/product/rut956/。
TP-Link Archer A6 WiFi 路由器
架构:ath79(与 ar71xx 相同的硬件,但具有本机内核支持)
操作系统:OpenWrt
TP-Link Archer A6 配备 Atheros QCA9563 MIPS 24K 经典处理器、16 MB 闪存和 128 MB RAM。闪存存储有限,并且没有 USB 端口可用于存储扩展,因此程序从网络加载到 /tmpfs 并执行。
有关该设备的更多信息,请访问 https://openwrt.org/toh/hwdata/tp-link/tp-link_archer_a6_us_tw。
贝尔金 F7D7302 WiFi 路由器
架构:mipsel_74kc
操作系统:DD-WRT
贝尔金 F7D7302 配备了 Broadcom BCM4716 小端 MIPS 74K 经典处理器、8 MB 闪存和 64 MB RAM。闪存存储非常有限,但有一个 USB 端口可用,因此可以将程序加载到闪存驱动器并执行。
有关该设备的更多信息,请访问 https://openwrt.org/toh/belkin/f7d3302。
AVM FRITZ!Box 7362 SL
系统类型:xRX200 rev 1.2
CPU 型号:MIPS 34Kc V5.6
操作系统:OpenWrt 21
有关该设备的更多信息,请访问 https://openwrt.org/toh/avm/avm_7362_sl。
此内容是 Go Wiki 的一部分。