玉米饼-裸机去找ARM SoC

2020-09-24 15:57:37

TAMAGO是一个框架,可以在裸机ARM片上系统(SoC)组件上编译和执行不受限制的GoApplications。

这些项目产生于通过消除对C代码和OperatingSystems的任何运行时依赖来减少嵌入式系统固件的攻击面的愿望。

对于GO发行版(<;~4000LOC已更改)和目标应用程序(需要一次导入)来说,修改都是最小的,并且与其他架构完全分开。

重点放在已包含在标准Go运行时中的现有架构的代码重用上,参见内部。

这两个方面的动机都是希望提供一个框架,允许在嵌入式系统上进行安全的围棋固件开发。

GO应用程序只需导入相关主板软件包,即可确保硬件初始化和运行时支持:

可以使用上一步中构建的编译器编译GO应用程序,只需添加几个标志/变量:

#USBarmory Mk IIGO_EXTLINK_ENABLED=0 CGO_ENABLED=0 GOOS=TAMAGO GOARM=7 GOARCH=ARM\${TAMAGO}build-ldflag";-T 0x80010000-E_rt0_arm_tamago-R 0x1000";

有关每个特定目标(真实或仿真)的执行和调试信息,请参阅各自的电路板软件包自述文件。

本程序是自由软件:您可以根据自由软件基金会在许可证版本3下发布的GNU通用公共许可证的条款对其进行再分发和/或修改。

分发本程序的目的是希望它有用,但没有任何分析;甚至没有对适销性或特殊用途适用性的默示保证。有关详细信息,请参阅GNU通用公共许可证。

玉米饼徽标改编自蕾妮·弗伦奇设计的围棋地鼠,并在知识共享3.0版权许可下获得许可。Go Gopher矢量插图作者:Hugo Arganda。