Mcu

Mecrisp Forth

Решил заняться чем-то новым, точнее хорошо забытым старым, и освоить форт на микроконтроллерах.

Перед компилируемыми ЯП форт имеет преимущество за счёт своей интерактивности - писать и отлаживать код можно непосредственно на целевом устройстве не занимаясь каждый раз сборкой и прошивкой.

С другой стороны, микроконтроллеры уже достаточно мощные, что бы запускать интерпретируемые языки, такие как Lua или JavaScript, но они отбирают для своей работы ценные ресурсы МК, да и работают сравнительно медленно.

Ядро же форт-машин компактно, и сам язык позволяет генерировать эффективный код, что позволяет на минимальном железе писать программы сопоставимые по скорости с ассемблерными, при этом обладающие хорошей переносимостью между различными архитектурами (в рамках одной реализации).

Компилируем для ARM

Как известно, программный код на языке выского уровня сам в микроконтроллер не полезет, его требуется предварительно скомпилировать в машинный код (мы не берём интерпретируемые языки, но в этом случае в микроконтроллер должен быть уже прошит интерпретатор). Для микроконтроллеров на базе ядра ARM/Cortex можно воспользовать кросскопилятором gcc-arm-none-eabi.

ESP8266 WiFi SoC

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.

Banana Pi

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 LCD

Данный дисплей устанавливается в ряд бюджетных моделей телефонов Nokia 1202/1203/1280. Доступность, простой последовательный интерфейс и относительная лёгкость подключения позволяет использовать данный дисплей как в радиолюбительских конструкциях, так и в более серьёзных проектах. Если же Вам необходим цветной дисплей более высокого разрешения, то можно воспользоваться бюджетным LCD от Nokia 1661/5030/ 1616/1800/1662. LCD pinout Pin Name Description 0 not used 1 !RESET Сброс контроллера дисплея 2 !

AT90USB162

Кристаллы поставляются прошитыми загрузчиком, который позволяет программировать контроллер через интерфейс USB. FLIP tool (TODO нужна актуальная ссылка). http://dfu-programmer.sourceforge.net/ (TODO проверить). При использовании FLIP под линукс возможно понадобится дополнительно указать где расположены устройства USB: export USB_DEVFS_PATH=/dev/bus/usb

STM8

Шаблоны для сборки под 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 После этого, можно байты отредактировать и записать обратно. Для записи тоже нужна своя магия.