Forth на msp430g2553
Вдохновленный Каллисто и освежая память о том, что такое Форт и с чем его едят, набрёл на 4E4th on the LaunchPad - 8/16K.
The TI LaunchPad with 4E4th on it. 16K FLASH - 8K Forth and 8K for your own apps. You only need TI's G2 LaunchPad with the MSP430G2553, download our 4E4th-IDE, prepare the LaunchPad connection, plug in the USB, flash the LaunchPad, and there we go!
Поскольку под рукой валялся TI MSP430 Launchpad, решил сразу попробовать (далее всё из-под Ubuntu Linux):
1. Прошиваем лаунчпад (4E4th is based on MSP430 CamelForth version 0.3 written by B. J. Rodriguez for the MSP430F1611Tini430 board. Link):
mspdebug rf2500 "prog 4e4th.a43"
2. Запускаем терминал:
screen /dev/ttyACM0
3. Кнопка RESET на лаунчпаде, Форт выдает строку в терминал:
4E4th R0.34 Apr 28 2012|110001110 Cold
4. Выключаем зеленый и красный светодиоды:
red cclr ok green cclr ok
5. Пишем программы вычисления квадрата и суммы квадратов:
: SQUARED DUP * ; ok: SUM-OF-SQUARES SQUARED SWAP SQUARED + ; ok
6. Проверяем работу:
3 SQUARED . 9 ok3 4 SUM-OF-SQUARES . 25 ok
7. Напишем программу мигания светодиодами лаучнпада и запустим ее:
DECIMAL ok: blink BEGINred cset green cclr 100 MSred cclr green cset 100 MSKEY? UNTIL ; okblink ok
8. Запишем программу во флэш-память микроконтроллера, чтобы при включении или после сброса программа запускалась:
' blink APP ! SAVE
Вкусностей там очень много: запись и чтение портов "железа", битовые операции и т.п. Ссылка на PDF-ка с полным глоссарием слов находится на главной странице сайта.
Ценители "труЪ олдскула" оценят возможность заливки исходников (чтобы не набивать программу руками) из-под терминальных программ.
Проект опенсорсный.
Форт - мощная штука, если уметь ей пользоваться. 8 Кбайт места для программы на Форте это серьезно. Таким образом, эта 5-долларовая платка может стать полноценными "мозгами" для роботоприложений. Если приделать беспроводной удлиннитель СОМ-порта, то можно удаленно программировать робота.
На тесте "Счастливые билеты" этот микро-Форт показал замечательные результаты для 6-значных билетов: 29 секунд. Для сравнения там таблица с результатами для современных программируемых калькуляторов (от 5 минут до полутора суток). Конечно, это таки целочисленный Форт, написанный на Ассемблере и работающий на 8 мегагерцах 16-битного RISC процессора MSP430G2553, но, тем не менее. Для многих приложений целочисленной арифметики достаточно.
blog comments powered by Disqus