在 Raspberry Pi Pico/RP2040 上嵌入 Swift

树莓派 PICO 和 RP2040 相关应用讨论
回复
头像
shaoziyang
帖子: 3969
注册时间: 2019年 10月 21日 13:48

在 Raspberry Pi Pico/RP2040 上嵌入 Swift

#1

帖子 shaoziyang »

我设法创建了一个非常小的嵌入式 Swift“工具链”,用于为 Raspberry Pi Pico 构建纯 Swift 可执行文件(它也可以与其他 RP2040 板一起使用,但我只在 Pico 上进行测试)。“工具链”只是一个 Makefile,所以还没有集成 SwiftPM,但我觉得我们离得不远了。如果您想尝试一下,存储库就在这里:

https://github.com/ole/swift-rp-pico-bare

与我们的其他方法不同(在Raspberry Pi Pico上运行的嵌入式Swift),这不使用树莓派Pico C/C++ SDK作为基础,这有利有弊:
  • 构建系统的复杂性要低得多。这使得最终让它与 SwiftPM 一起工作变得更加可行。我发现 Pico SDK 的 CMake 配置非常复杂。我们这里的 Makefile 并不漂亮,但它要小得多。
  • 我们必须从头开始构建所有东西。我编写了一些简单的函数来与GPIO引脚通信(目前代码非常丑陋),但现在仅此而已——我们没有定时器,没有I²C,没有SPI等。
  • 当然,干净的状态也令人兴奋。大量的实验和学习空间。
主要应用程序代码都是 Swift。引导涉及的 C 和少量汇编。我从 Pico SDK 复制了必要的文件(链接器脚本等)并稍微修补了它们。引导代码仍然做一些我们并不真正需要的事情。我希望最终能把它缩减到我们最终需要的最低限度,哪怕只是为了更好地理解它。我们可能很快就能使用 Swift 链接器了?顺便说一句,当前可执行文件(闪烁 LED 并侦听 GPIO 输入)小于 1 KB:
图片

https://forums.swift.org/t/embedded-swi ... -sdk/69338
 

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章