Большинство встраиваемых систем на основе MCU поставляются с прошивкой, запрограммированной на языке ассемблера, языке программирования C и/или C ++. Но, как указано в опубликованной статье под названием «Точка зрения: Lisp как альтернатива Java», функциональные языки программирования, такие как Lisp или Scheme, могут сократить время разработки по сравнению с C/C ++ или Java.
Именно с этой идеей был создан LambdaChip. Это легкая виртуальная машина с открытым исходным кодом, предназначенная для работы во встраиваемых системах с ограниченными ресурсами, например, в микроконтроллере 80 МГц с 50 КБ ОЗУ, и программируемая с помощью языка программирования Scheme, диалекта Lisp, широко используемого для исследований функционального программирования и обучение.
Компания, стоящая за проектом, также называемая LambdaChip, создала собственное оборудование – LambdaChip Alonzo – плату для разработки на базе STM32 Cortex-M4 с 512 КБ флэш-памяти, 128 КБ ОЗУ, а также возможностью подключения Bluetooth LE.
Технические характеристики платы LambdaChip Alonzo:
- MCU – MCU STMicro STM32F411CEU6 Arm Cortex-M4 с частотой 100 МГц с 512 КБ флэш-памяти, 128 КБ ОЗУ; Корпус UFQFN48
- Хранилище – разъем для карты MicroSD
- Возможности подключения – Bluetooth 4.0 с низким энергопотреблением
- Расширение – разъем с шагом 2,54 мм для GPIO
- Отладка – 10-контактный программный разъем для внешнего отладчика
- Разное – светодиод RGB, белый светодиод, 3х кнопки (BOOT0, RST и User)
- Электропитание – 5 В через порт USB-C или аккумулятор через 2-контактный разъем
Плата на самом деле не уникальна, но включает в себя функции, необходимые для LambdaChip, такие как карта microSD, где полученный двоичный файл копируется после компиляции и автоматически загружается виртуальной машиной.
Для программирования платы вам понадобится отладчик, поэтому компания также предоставляет полный комплект с отладчиком Saruman, USB-кабелями и кабелями отладчика, картой microSD, USB-устройством чтения SD-карт и акриловым футляром.
Для разработки рекомендуется операционная система на основе Linux, но поскольку они предоставляют образ докера, также поддерживаются Windows и Mac OS. Все делается из командной строки через среду Laco с помощью компилятора Scheme, генерирующего файл байт-кода LEF. Вот как выглядит мигающий образец на схеме:
1 2 3 4 5 6 7 |
(define (main x) (gpio-toggle! "dev_led0" 15) (usleep 200000) (if (= x 0) #t (main (- x 1)))) (main 10) |
Вы можете скачать схемы (только PDF) и прочитать документацию на сайте LambdaChip. Демо-видео, представленное ниже показывает, как использовать среду Laco для программирования платы и передавать сообщения на телефон Android, на котором запущено приложение LightBlue.
Плату LambdaChip Alonzon можно купить за 29 долларов, но большинство людей, заинтересованных в проекте, вероятно, предпочтут приобрести полный комплект за 99 долларов. Оба доступны на Seeed Studio.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.