Cortex

Mecrisp Forth

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

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

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

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

STM32 Primer

Есть в природе вот такая забавная штучка на базе микроконтроллера STM32F103. В своём составе имеет: Микроконтроллер STM32F103RBT6 на базе ядра ARMv7-M (Cortex-M3). В корпусе LQFP64. Трёхкоординатный датчик ускорения. Цветной графический дисплей 128x128 точек. Кнопка, USB-интерфейс, звукоизлучатель, светодиоды, площадки для подключения устройств расширения. Встроенный JTAG отладчик с подключением к ПК через USB. Версия OpenOCD из репозитория поддерживает встроенный отладчик под именем rlink. Если отладка на реальном железе не нужна, можно пойти другим путём и воспользоваться встроенными возможностями контроллера STM32 - загрузчиком через UART1.

ARM Toolchain

Toolchain - набор необходимых пакетов программ для компиляции и сборки исполняемого кода из исходных текстов программ. Может дополнятся отладочными средствами. Для встраиваемых систем сюда же может входить программно-аппаратный комплекс загрузки бинарного кода в устройство. https://launchpad.net/gcc-arm-embedded Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4/M7, Cortex-R4/R5/R7). [[http://yagarto.de/|Yagarto]] и [[http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm|WinArm]] пресобранные пакеты для пользователей Windows. Lite releases no longer available =( [[http://www.codesourcery.com/gnu_toolchains/arm|CodeSourcery]] - наиболее развитой пакет на настоящий момент. Есть бинарные пакеты для различных ОС.