Apple 发布了 Embedded Swift 的 beta 版本,该版本特别适用于乐鑫 ESP32-C6 无线 RISC-V 微控制器,该公司还基于 ESP-IDF 和 ESP-Matter SDK 构建了 Matter 示例。嵌入式 Swift 语言不仅限于 ESP32-C6,还支持 STMicro、Raspberry Pi、Nordic Semi 等其他微控制器......
Apple Swift 编程语言主要用于移动应用程序开发,目前Apple发布的更适合微控制器的 Swift 编程语言子集,简称为 Embedded Swift,目前已经可以移植到 STMicro STM32F746、Raspberry Pi Pico、nRF52840 和 ESP32-C6 上工作。
WWDC 2024 上的“使用 Embedded Swift 实现小规模化”演讲展示了如何使用乐鑫的 ESP32-C6-DevKitC-1 开发板开始使用 Embedded Swift,运行简单的演示,例如“Hello world”,以及使用 RGB LED 上的颜色更改,再到使用 Matter 协议实现更复杂的演示。
WWDC 2024 演示链接
https://developer.apple.com/videos/play/wwdc2024/10197/
Github地址
https://github.com/apple/swift-matter-examples
RGB LED的代码如下所示
let led = LED()@_cdecl("app_main")func app_main() { print(" Hello, Embedded Swift!") led.color = .red led.brightness = 80 while true { sleep(1) led.enabled = !led.enabled if led.enabled { led.color = .hueSaturation(Int.random(in: 0 ..< 360), 100) } }}
它看起来与 C语言 非常相似......
Apple反馈嵌入式 Swift 是 Swift 编程语言的一个子集,占用空间要小得多(根据下图,二进制文件可能在 10KB 左右)。他们删除了一些功能,但增加了 MCU 级硬件所需的其他功能,例如通过 Swift MMIO 库访问内存映射寄存器的能力。
需要注意的是,嵌入式 Swift 仍处于开发阶段,因此您需要下载 snapshots of Swift 才能使用,因为目前还没有稳定版本。
关注公众号“嵌入式杂谈”,了解更多有趣好玩的嵌入式信息,感谢大家的点赞,在看,也欢迎大家在评论区留言交流~