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 具有 Atheros Wasp MIPS 74Kc CPU,時脈為 550 MHz,配備 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 搭載 Mediatek MIPS 24KEc 處理器,時脈為 580 MHz,配備 16 MB 閃存和 128 MB RAM。內建閃存對於大多數應用程式而言容量不足,但可以新增 USB 隨身碟。內建的 IO、GPS 等可透過 Modbus TCP 存取,而 RS232/RS485 連接埠也能正常運作。已使用 Go 1.21.1 進行測試(GOARCH=mipsle,GOMIPS=softfloat)。請注意,如果未設定 GOMIPS
,將會輸出 illegal instruction
。
有關裝置的更多資訊,請參閱 https://teltonika-networks.com/product/rut956/。
TP-Link Archer A6 WiFi 路由器
架構:ath79(與 ar71xx 相同的硬體,但具有原生核心支援)
作業系統:OpenWrt
TP-Link Archer A6 配備 Atheros QCA9563 MIPS 24K classic 處理器、16 MB 閃存和 128 MB RAM。閃存儲存空間有限,且沒有可用於儲存空間擴充的 USB 連接埠,因此程式會從網路載入至 /tmpfs 並執行。
有關裝置的更多資訊,請參閱 https://openwrt.org/toh/hwdata/tp-link/tp-link_archer_a6_us_tw。
Belkin F7D7302 WiFi 路由器
架構:mipsel_74kc
作業系統:DD-WRT
Belkin F7D7302 配備 Broadcom BCM4716 小端序 MIPS 74K classic 處理器、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 的一部分。