Решил заняться чем-то новым, точнее хорошо забытым старым, и освоить форт
на микроконтроллерах.
Перед компилируемыми ЯП форт имеет преимущество за счёт своей интерактивности -
писать и отлаживать код можно непосредственно на целевом устройстве не занимаясь каждый раз сборкой и прошивкой.
С другой стороны, микроконтроллеры уже достаточно мощные, что бы запускать интерпретируемые языки, такие как Lua или JavaScript,
но они отбирают для своей работы ценные ресурсы МК, да и работают сравнительно медленно.
Ядро же форт-машин компактно, и сам язык позволяет генерировать эффективный код, что позволяет
на минимальном железе писать программы сопоставимые по скорости с ассемблерными, при этом обладающие хорошей переносимостью
между различными архитектурами (в рамках одной реализации).
Как известно, программный код на языке выского уровня сам в микроконтроллер не полезет,
его требуется предварительно скомпилировать в машинный код
(мы не берём интерпретируемые языки, но в этом случае в микроконтроллер должен быть уже прошит интерпретатор).
Для микроконтроллеров на базе ядра ARM/Cortex можно воспользовать кросскопилятором gcc-arm-none-eabi
.
https://github.com/esp8266/esp8266-wiki/wiki https://nurdspace.nl/ESP8266 Tools PlatformIO Arduino IDE Firmware ESP Link - преобразователь WiFi в Uart. NodeMCU - брать прошивки лучше именно со страницы релизов, а не бинарники из репозитория. luatool Tool for loading Lua-based scripts from file to ESP8266 with nodemcu firmware. https://github.com/nekromant/esp8266-frankenstein Прошивка TCP2UART переходника с настройкой по Web. //не проверено// [Transparent TCP-UART bridge with support to flash arduino and ARM systems(https://github.com/jeelabs/esp8266-bridge). //не проверено// Absolutely transparent bridge for the ESP8266.
EmGo - язык для программирования микроконтроллеров с Go-синтаксисом.
Banana Pi — семейство одноплатных компьютеров на базе микроконтроллеров с ядром ARM производства Allwinner.
Может работать под управлением различных операционных систем: Android 4.2, Android 4.4, Lubuntu, Raspbian, Debian, Fedora, Arch Linux, Gentoo, openSUSE, Berryboot, FreeBSD, OpenWrt, Slackware, Tiny Core Linux.
Данный дисплей устанавливается в ряд бюджетных моделей телефонов Nokia 1202/1203/1280.
Доступность, простой последовательный интерфейс и относительная лёгкость подключения позволяет использовать данный дисплей как в радиолюбительских конструкциях, так и в более серьёзных проектах.
Если же Вам необходим цветной дисплей более высокого разрешения, то можно воспользоваться бюджетным LCD от Nokia 1661/5030/ 1616/1800/1662.
LCD pinout Pin Name Description 0 not used 1 !RESET Сброс контроллера дисплея 2 !
Кристаллы поставляются прошитыми загрузчиком, который позволяет программировать контроллер через интерфейс USB.
FLIP tool (TODO нужна актуальная ссылка). http://dfu-programmer.sourceforge.net/ (TODO проверить). При использовании FLIP под линукс возможно понадобится дополнительно указать где расположены устройства USB:
export USB_DEVFS_PATH=/dev/bus/usb
Информация представленная на этой странице по большей части устарела.
Микропотребляющая линейка контроллеров с ядром 8051 и напряжением питания от 0.9В от Silicon labs.
Шаблоны для сборки под Linux: https://bitbucket.org/plumbum/stm8templates
stm8flash https://github.com/vdudouyt/stm8flash - флешер поддерживающий ST-Link/ST-Link V2
Залить прошивку
stm8flash -c stlink -p stm8l150 -w blinky.bin Считать eeprom
stm8flash -c stlink -p stm8l150 -s 4000 -r eeprom.bin -b 1024 Считать OPT байты можно, но читать нужно непременно 256 байт, иначе магия не работает:
stm8flash -c stlinkv2 -p stm8s105 -s 4800 -r opt.bin -b 256 После этого, можно байты отредактировать и записать обратно.
Для записи тоже нужна своя магия.