Le langage de programmation Embedded Swift d’Apple prend en charge les microcontrôleurs ESP32-C6, Raspberry Pi RP2040, STM32F7 et nRF52840.

ESP32-C6 Apple Embedded Swift

Apple a publié une version bêta d’Embedded Swift qui fonctionne notamment avec le microcontrôleur RISC-V sans fil Espressif ESP32-C6, et la société a également construit un échantillon Matter basé sur les SDK ESP-IDF et ESP-Matter. Embedded Swift ne se limite pas à l’ESP32-C6 et prend en charge d’autres microcontrôleurs de STMicro, Raspberry Pi, Nordic Semi, etc…

Le langage de programmation Apple Swift est principalement conçu pour le développement d’applications mobiles, mais nous l’avons également vu utilisé sur la carte SwiftIO de Mad Machine alimentée par un processeur croisé Arm Cortex-M7 NXP i.MX RT1052 de 600 MHz et le petit SwiftIO Micro a lancé quelques des années plus tard. La société a maintenant décidé de créer un sous-ensemble du langage de programmation Swift mieux adapté aux microcontrôleurs simplement appelé Embedded Swift qui fonctionne actuellement sur STMicro STM32F746, Raspberry Pi Pico, nRF52840 et ESP32-C6.

ESP32-C6 Apple intégré Swift

La présentation « Go small with Embedded Swift » à la WWDC 2024 montre comment démarrer avec Embedded Swift à l’aide de la carte de développement ESP32-C6-DevKitC-1 d’Espressif Systems exécutant des démos simples telles que « Hello world » et changeant la couleur d’une LED RVB. à une démo plus complexe utilisant le protocole Matter pour la Smart Home.

Voici à quoi ressemble le code de la LED RVB :

1

2

3

4

5

6

7

8

9

dix

11

12

13

14

15

16

17

laissez led = LED()

@_cdecl(« app_main »)

fonction app_main() {

print(« 🏎️ Bonjour, Swift intégré ! »)

led.color = .rouge

led.luminosité = 80

tandis que vrai {

dormir(1)

led.enabled = !led.enabled

si led.activé {

led.color = .hueSaturation(Int.random(in: 0 ..< 360), 100)

}

}

}

Cela ressemble beaucoup au C sans les points-virgules… Vous trouverez l’exemple de code pour la démo Matter sur GitHub, ainsi que des exemples Swift Embedded supplémentaires pour ESP32-C6, STM32, RP2040 et nRF52840 dans un référentiel séparé.

YouTube video

Apple explique qu’Embedded Swift est un sous-ensemble du langage de programmation Swift avec une empreinte beaucoup plus petite (le binaire peut faire environ 10 Ko d’après le schéma ci-dessous). Ils ont supprimé certaines fonctionnalités mais en ont ajouté d’autres nécessaires au matériel de classe MCU, telles que la possibilité d’accéder aux registres mappés en mémoire via la bibliothèque Swift MMIO. L’assistance est fournie via des forums en ligne.

Je suppose que la plupart des développeurs déjà familiers avec ESP-IDF ignoreront cette nouvelle, mais les développeurs d’applications mobiles Swift peuvent avoir une courbe d’apprentissage plus courte avec Embedded Swift que d’avoir à apprendre à utiliser le framework ESP-IDF ou la programmation Arduino. Notez qu’Embedded Swift est encore au stade de développement, vous devez donc télécharger des instantanés de Swift pour l’essayer car il n’y a pas encore de version stable.

Swift vs Swift intégré
Embedded Swift permet une empreinte beaucoup plus petite.

Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

YouTube video

  • DUBEUYEW ESP32-S3 DEVKITC-1 N16R8 ESP32 S3 Wroom-1-N16R8 Module WiFi + 5.0 Bluetooth Internet Board avec Antenne 2,4 GHz
  • waveshare Carte microcontrôleur Raspberry Pi Pico 2 W pré-soudée avec en-tête, prend en charge le WiFi 4 sans fil et Bluetooth 5.2, basé sur le processeur RP2350 Dual-Core