Apple的嵌入式Swift编程语言支持ESP32-C6和RP2040微控制器:全新突破

发表时间: 2024-06-24 14:27

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 才能使用,因为目前还没有稳定版本。

关注公众号“嵌入式杂谈”,了解更多有趣好玩的嵌入式信息,感谢大家的点赞,在看,也欢迎大家在评论区留言交流~