Компания Apple выпустила язык программирования Embedded Swift, который работает с микроконтроллерами ESP32-C6, Raspberry Pi RP2040, STM32F7, nRF52840.

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Apple выпустила бета-версию Embedded Swift, которая, в частности, работает с беспроводным микроконтроллером RISC-V Espressif ESP32-C6, а также компания создала образец Matter на базе SDK ESP-IDF и ESP-Matter. Embedded Swift не ограничивается ESP32-C6 и поддерживает другие микроконтроллеры от STMicro, Raspberry Pi, Nordic Semi и т. д.

Язык программирования Apple Swift в основном предназначен для разработки мобильных приложений, но мы также видели, как он использовался на плате SwiftIO от Mad Machine, оснащенной кроссоверным процессором NXP i.MX RT1052 Arm Cortex-M7 с тактовой частотой 600 МГц и на крошечном SwiftIO Micro, выпущенном несколькими годами позже. Теперь компания решила создать подмножество языка программирования Swift, более подходящее для микроконтроллеров, называемое просто Embedded Swift, которое в настоящее время работает над STMicro STM32F746, Raspberry Pi Pico, nRF52840 и ESP32-C6.

В презентации «Go small with Embedded Swift» на WWDC 2024 показано, как начать работу с Embedded Swift с помощью платы разработки ESP32-C6-DevKitC-1 от Espressif Systems, запускающей простые демонстрации, такие как «Hello world» и меняющую цвет светодиода RGB до более сложной демонстрации с использованием протокола Matter для «Умного дома».

Вот как выглядит код RGB-светодиода:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

let led=LED()

@_cdecl("app_main")

func app_main(){

print("??   Hello, Embedded Swift!")

led.color=.red

led.brightness=80

whiletrue{

sleep(1)

led.enabled=!led.enabled

ifled.enabled{

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

}

}

}

Это очень похоже на C без точек с запятой… Пример кода для демонстрации Matter вы найдете на GitHub, а дополнительные примеры Embedded Swift для ESP32-C6, STM32, RP2040 и nRF52840 — в отдельном репозитории.

Apple объясняет, что Embedded Swift — это подмножество языка программирования Swift, занимающее гораздо меньший объем (на основе диаграммы ниже двоичный файл может иметь размер около 10 КБ). Они удалили некоторые функции, но добавили другие, необходимые для аппаратного обеспечения класса MCU, такие как возможность доступа к регистрам, отображаемым в памяти, через библиотеку Swift MMIO. Поддержка осуществляется через интернет-форумы.

Мы предполагаем, что большинство разработчиков, уже знакомых с ESP-IDF, проигнорируют эту новость, но у разработчиков мобильных приложений Swift может быть более короткая кривая обучения встроенному Swift, чем обучение использованию платформы ESP-IDF или программированию Arduino. Обратите внимание, что Embedded Swift все еще находится на стадии разработки, поэтому вам необходимо загрузить snapshots Swift, чтобы опробовать его, поскольку стабильной версии пока нет.

Embedded Swift  позволяет занимать гораздо меньше места

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.


Источник: cnx-software.ru

Комментарии: