Язык программирования Swift был разработан Apple для iOS, iPadOS, macOS, watchOS, tvOS и Linux. Язык программирования работает с фреймворками Apple Cocoa и Cocoa Touch, а также с существующим кодом Objective-C, написанным для продуктов Apple.
MadMachine создала плату для разработки на базе Arm Cortex-M7 под названием SwiftIO, специально разработанную для языка программирования Swift с помощью MadMachine IDE и инфраструктуры SwiftIO.

Технические характеристики оборудования SwiftIO:
- SoC – кроссоверный процессор NXP i.MX RT1052 Arm Cortex-M7 с тактовой частотой 600 МГц
- Системная память – 32 МБ SRAM
- Хранилище – слот для карты MicroSD с поддержкой SD-карт стандартной и большой емкости
- USB – 1x разъем Micro USB для питания, 1x разъем Micro USB для последовательной связи
- Расширение – 2x 46 GPIO разъема с 12x 12-битными аналого-цифровыми преобразователями (ADC), 4x UART, 2x CAN, 2x IIC, 2x SPI, 14x PWM
- Разное – встроенный RGB-светодиод, кнопки загрузки и сброса
- Электропитание – 5 В через порт Micro USB
- Размеры – требуется уточнение

MadMachine IDE является эквивалентом Arduino IDE для плат, совместимых с Arduino, и позволяет разрабатывать программы Swift в Mac OS X или Windows, с поддержкой Linux.
Схема архитектуры программного обеспечения показывает, что плата использует операционные системы реального времени Zephyr, а MadMachine предоставляет высокоуровневый API для управления вводом-выводом с использованием языка программирования Swift.

Поскольку MadMachine IDE еще не доступна для Linux, мы установили IDE (270 МБ) на виртуальную машину Windows, и рабочий процесс разработки похож на то, что вы делали бы с платами Arduino, поскольку полученный двоичный файл загружается на плату через кабель micro USB. Вот как выглядит скетч Blink:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
/// Turn on and off the onboard LED continuously.
/// Import the library to enable the relevant classes and functions.
import SwiftIO
/// Initialize the onboard green LED with other parameters set to default.
let green = DigitalOut(Id.GREEN)
/// Blink the LED over and over again.
while true {
// Apply a high votage and turn off the LED.
green.write(true)
// Keep the light off for a minute.
sleep(ms: 1000)
// Apply a low voltage and turn on the LED.
green.write(false)
// Keep the light on for a minute.
sleep(ms: 1000)
}
|
[Format Time: 0.0002 seconds]
Вы также можете посмотреть видео ниже, чтобы узнать, с чего начать.
Вы также найдете документацию и примеры кода на Github.
Плату SwiftIO Arm Cortex-M7 можно приобрести сейчас за 68 долларов в магазине MadMachine, а также есть комплект стоимостью 118 долларов с различными компонентами, такими как зуммер, резисторы, сервопривод и т. д., позволяющий начать разработку электроники с использованием Swift. Более подробную информацию можно найти на сайте MadMachine.io.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.