Forth на msp430g2553

| рубрика «Заметки» | автор Vitasam
Метки: ,

Вдохновленный Каллисто и освежая память о том, что такое Форт и с чем его едят, набрёл на 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, но, тем не менее. Для многих приложений целочисленной арифметики достаточно.