Forth
http://fforum.winglion.ru/

трехкомандный Форт для embedded
http://fforum.winglion.ru/viewtopic.php?f=39&t=1206
Страница 1 из 1

Автор:  forth@km.ru [ Пн мар 17, 2008 02:52 ]
Заголовок сообщения:  трехкомандный Форт для embedded

Почитал http://pygmy.utoh.org/3ins4th.html про простейший конечный автомат, управляемый командами с последовательного порта. Судя по тексту, этот прием работает только на микроконтроллерах с фон-неймановской архитектурой, и не подходит для современных распространенных контроллеров, так как в общем случае нет возможности переписывать память программ, и использовать команду call (хотя старшие AVRы вроде умеют переписывать память программ кусками).

Кто применял что-то подобное для AVR или MSP430 ? Сколько и какие команды должны поддерживаться контроллерной прошивкой, чтобы можно было работать со связкой контроллер + хост в интерактивном режиме ? Насколько использование чтения/записи памяти программ в старших AVR ATmegaXXX позволяет реализовать интерактивную модификацию кода контроллера ?

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

Автор:  Hishnik [ Пн мар 17, 2008 03:10 ]
Заголовок сообщения: 

Статья-то 1991 года. Какой смысл сегодня экономить ту пару сотен байт, в которых можно разместить минимально вменяемый интерпретатор?

Автор:  Forthware [ Пн мар 17, 2008 13:39 ]
Заголовок сообщения: 

А ведь было время, были вполне популярны и последовательные (1-битные) "квази форт" машины... Никто не догадывается о чем я? ;)

Cоветские ПМК (программируемые микрокалькуляторы). Они были реализованы на последовательной, 1-битной безадрессной машине. Smile

Автор:  in4 [ Вт мар 18, 2008 04:18 ]
Заголовок сообщения: 

forth@km.ru писал(а):
Кто применял что-то подобное для AVR или MSP430 ?

На PIC16F877 применял. Изменение программы контроллера не делал, управление на программы контроллера не передавал. Но с компа был доступ ко всем устройствам микроконтроллера и что-то типа watchdog для некоторых команд. Т.е. если с компа не поступила опред. команда, она выполняется после заданного времени.
Метод позволил реализовать управление глючащим оборудованием, постоянная перепрошивка (при отладке) убила бы м/к намного раньше.
Код:
cRda   EQU   1   ; команда Чтение
cWra   EQU   2   ; команда Запись

cWr0   EQU   4   ; команда Запись в устройство0
cWr1   EQU   5   ; команда Запись в устройство1
cWr2   EQU   6   ; команда Запись в устройство2
cWr3   EQU   7   ; команда Запись в устройство3
cRAll   EQU   8   ; дать блок: все входы & АЦП

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/