Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 01:34

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: трехкомандный Форт для embedded
СообщениеДобавлено: Пн мар 17, 2008 02:52 
Не в сети

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

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

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

_________________
http://akps.ssau.ru/forth/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 17, 2008 03:10 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Статья-то 1991 года. Какой смысл сегодня экономить ту пару сотен байт, в которых можно разместить минимально вменяемый интерпретатор?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 17, 2008 13:39 
Не в сети

Зарегистрирован: Вс дек 02, 2007 17:31
Сообщения: 442
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
А ведь было время, были вполне популярны и последовательные (1-битные) "квази форт" машины... Никто не догадывается о чем я? ;)

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

_________________
Am I evil? I'm man - yes I am! © James Hatefield


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 18, 2008 04:18 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
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   ; дать блок: все входы & АЦП

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB