реклама на сайте
подробности

 
 
11 страниц V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
> Форт (Forth) и MSP430 для изучения, Программирование и исследование на Форт
Kopa
сообщение Sep 26 2012, 11:56
Сообщение #31


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Виктория @ Sep 26 2012, 15:19) *
Да ведь развлекаться будут...

И пусть, лишь бы к контроллеру были подключены реальные механизмы, датчики для эспериментов.

Цитата(Виктория @ Sep 26 2012, 15:19) *
- Почему? Это вроде можно на любом языке. Стековая архитектура может позволит сделать просто более оптимальную трассировку?

Не совсем, хотя в контроллеры встраивают, чаще всего Бейсик, но затраты ресурсов на его обработку "гораздо" больше, при сравнении
с "мизирной" поддержкой Форт системы. Phyton, Lua, Tcl тоже достаточно громоздкие.

Цитата(Виктория @ Sep 26 2012, 15:19) *
Форт, к моему сожалению, не знаю. Нужно время, пойду разбираться

Начните с имеющихся, хотя и отчасти и устаревших учебников.

Цитата(Виктория @ Sep 26 2012, 15:19) *
Буду признательна. Соблазнилась и купила Launchpad в прошлом году именно из-за архитектуры PDP-11. Похожая, кстати, архитектура у первых мотороловских микропроцессоров 68000 и т.д.
Дешевизна Launchpad-а, разумеется, важный фактор.

Попробую подобрать или скомпоновать возможный вариант введения в Форт и в применениии его к контроллерам.

P.S. стартовая ссылка для "погружения" в Форт методологию, вроде была уже озвучена fforum.winglion.ru
Некторые ссылки на материалы могут уже не существовать, но из web или в личных архивах фортёров можно, наверное, найти этот материал.

Сообщение отредактировал Kopa - Sep 26 2012, 12:34
Go to the top of the page
 
+Quote Post
Tanya
сообщение Sep 26 2012, 12:05
Сообщение #32


Гуру
******

Группа: Модераторы
Сообщений: 8 600
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Виктория @ Sep 26 2012, 15:19) *
- Почему? Это вроде можно на любом языке. Стековая архитектура может позволит сделать просто более оптимальную трассировку?

Компиляция идет внутри. Можно быстро пробовать.
Go to the top of the page
 
+Quote Post
Kopa
сообщение Sep 26 2012, 17:32
Сообщение #33


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Немного ссылок на презентации Форта.

Включены слайд курс лекций по тематике Forth
The Structure of Programming Languages
Fall 2012


The Forth Language (простая)

Forth Pesentation

Сообщение отредактировал Kopa - Sep 26 2012, 19:21
Go to the top of the page
 
+Quote Post
polyname
сообщение Sep 26 2012, 18:26
Сообщение #34


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 18-05-12
Пользователь №: 71 915



Цитата
Студент ввел строку программы и тут же запустил и увидел результат.
и к этому элементарно добавляются удаленный доступ, например запускается простейший локальный сервер (фактически ретранслятор в COM порт) и прямо из броузера можно производить любые настройки параметров, дописывать свои алгоритмы и т.д. Программы на IEC 61131 элементарно транслируются в Форт.

Сообщение отредактировал polyname - Sep 26 2012, 18:28
Go to the top of the page
 
+Quote Post
Kopa
сообщение Sep 26 2012, 18:36
Сообщение #35


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(polyname @ Sep 26 2012, 22:26) *
и к этому элементарно добавляются удаленный доступ, например запускается простейший локальный сервер (фактически ретранслятор в COM порт) и прямо из броузера можно производить любые настройки параметров, дописывать свои алгоритмы и т.д. Программы из IEC 61131 элементарно транслируются на Форт.


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

P.S. На средствах Web браузера, Форт "консоли", тоже запускают. "Некоторым" студентам Форт не чужд и интересен. Форт направление - всё ещё поле "невспаханных" возможностейsm.gif
В применении к контроллерам, мой вариант был запуск эмулятора процессора с интерфейсом на СOM порту (внешними модельками дополнялся код симулятора), а второй
СОМ порт был IDE среды и оба COM порта виртуально соединялись для "черновой" отладки без неоходимости использования железа. При выявленных расхождениях
с железом, тут же правилась и исправлялась модель процессора или периферииsm.gif и IDE и эмулятор процессора спроектированы на Форт языке, но разных "диалектах"

Цитата(polyname @ Sep 26 2012, 22:26) *
Программы на IEC 61131 элементарно транслируются в Форт

Встречал некоторый варианты расширения, когда релейная схема в текстовой псевдографики, воспринималась расширением Форт системой, как входная программа для
трансляции. Такого плана экспериментальные небольшие разработки часто встречаются.

Сообщение отредактировал Kopa - Sep 26 2012, 19:27
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 27 2012, 04:41
Сообщение #36


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 601
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Kopa @ Sep 26 2012, 22:36) *
Встречал некоторый варианты расширения, когда релейная схема в текстовой псевдографики, воспринималась расширением Форт системой, как входная программа для
трансляции. Такого плана экспериментальные небольшие разработки часто встречаются.

А ссылку не можете привести?
Тоже была такая мысль, но самому колхозить некогда


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение Sep 27 2012, 12:28
Сообщение #37


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ Sep 27 2012, 08:41) *
А ссылку не можете привести?
Тоже была такая мысль, но самому колхозить некогда

Попробую найти или подумать в этом направлении, (возможно встречал, в сообщениях форума comp.lang.forth на слово Ladder),
а пока приведу обсуждавшуюся тему: СЛОВАРИ ФОРТА В РЕАЛИЗАЦИИ КОНЕЧНОГО АВТОМАТА
от прочтения которой, возможно, стоит "оттолкнуться" и посмотреть следующий блог
Конечные автоматы и таблицы решений на SPF

P.S. Возможно, что то было близко к этому, Plc ladder logic compiler idea
со страницы обсуждения
Код
{ DEMO LADDER LOGIC

ORIGINAL LADDER LOGIC DIAGRAM

|   X000     X001
|----| |------| |---|
|                   |
|   X004     X005   | X002
|----| |------| |---|--|/|---|
|                            |
|   X006     X007            |
|----| |------| |------------|
|                            |
|   Y000                     |  X003                      Y000
|----| |---------------------|---|/|-----------------------(
|
}
\ FORTH CODE BELOW

variable inputs
variable outputs
: -; IMMEDIATE                  \ dummy spacing, compiles nothing
: |<     ( bitnum -- bitmask )   1 SWAP SHL;
: -||-   ( flag adr -- flag )    |< inputs AND 0<> AND;
: -|/|-  ( flag adr -- flag )    |< inputs AND 0= AND;
: -(     ( flag adr -- )         SWAP IF outputs SET ELSE outputs RES THEN;
: -()-   ( flag adr -- flag )    32 + -||-;
: READ                           INA@ inputs !;
: WRITE                          outputs @ OUTA!;
ALIAS FALSE |
ALIAS TRUE |-
ALIAS : LADDER
ALIAS; END
ALIAS OR -|



\ DEMO LADDER PROGRAM
LADDER DEMO
READ
|
|- 00 -||- 01 -||- -|
|- 04 -||- 05 -||- -| 02 -[/]- -|
|- 06 -||- 07 -||- - - - - - - -|
|- 00 -()- - - - - - - - - - - -| 03 -|/|- 00 -(
WRITE
END


Отдельная реализация на С
Ladder Logic для PIC и AVR

Сообщение отредактировал Kopa - Sep 27 2012, 13:17
Go to the top of the page
 
+Quote Post
Виктория
сообщение Sep 27 2012, 13:42
Сообщение #38


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Цитата(Kopa @ Sep 26 2012, 20:32) *
Немного ссылок на презентации Форта.


Спасибо. Ещё найти бы хорошую старую книжку

С релейной логикой красивый пример :-)

Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 27 2012, 13:57
Сообщение #39


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 601
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Виктория @ Sep 27 2012, 17:42) *
Спасибо. Ещё найти бы хорошую старую книжку

Ищите Лео Броуди (Leo Browdie)

Его "Thinking Forth" - отличная книга не только по теме, но и по вопросам алгоритмизации вообще.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение Sep 27 2012, 13:58
Сообщение #40


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Виктория @ Sep 27 2012, 17:42) *
Спасибо. Ещё найти бы хорошую старую книжку

С релейной логикой красивый пример :-)

А зачем сложно искать?
Книги
из раздела Литература

Прочтение можно начать
с Начального курса программирования (Броуди) рус, Starting Forth (еngl)
Язык Форт и его реализации (Баранов,Ноздрунов)
Способ мышления - Форт (Броуди) рус, Thinking Forth (engl)
дальше по интересу.
...
и стандартов на язык
ANSI 94
Forth 83 (в изданных книгах 90-х годов)

и брать "любую" подходящую Форт систему и "изучать" устройство, примеры, возможности созданные в ней sm.gif
( например SPF4, Win32Forth и другие по мере "погружения" в Форт Мир)
Завести себе блокнотик (словарик) для запоминания стандартных слов по группам.

Сообщение отредактировал Kopa - Sep 27 2012, 15:28
Go to the top of the page
 
+Quote Post
Виктория
сообщение Sep 27 2012, 14:48
Сообщение #41


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Цитата(Kopa @ Sep 27 2012, 16:58) *
А зачем сложно искать?
Книги
...
Завести себе блокнотик (словарик) для запоминания стандартных слов по группам.


Ups, на bookFI.org нашлась брошюра общества "Знания" - в помощь лектору древняя книжка и дома в книжном шкафу "Программирование на языке Форт" Семенова Ю.А.
Спасибо всем!
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 30 2012, 13:38
Сообщение #42


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 601
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Специально заказал TI Launchpad, чтобы попробовать этот 4e4th sm.gif

Код
> 4E4th-se v0.34 Apr  5 2012|110001110 Warm

> 1 2 3

ok

> + + .

6  ok

> : Hello ." Hello World! ";

ok

> Hello

Hello World!  ok

>


Один косяк только омрачил этот светлый миг.
Почему-то через ихнюю TUSB3410 ни в какую не хочет работать.
Пришлось снаружи на проводках подвешивать нормальный шнурок СОМ-UART

Все-таки, красивше было бы через USB напрямую работать.

PS:
Эх я тум-тум!
Джамперы неправильно воткнул (в смысле, они уже были воткнуты)
Но они (техасцы) тоже хороши: три джампера вдоль, а два крайних поперек. Хорошо полез дорожки посмотреть и наткнулся на соответствующую шелкографию.
То есть у меня был режим SW UART, а нужен HW.
Ну все, теперь полный хэппи энд, в смысле хэппи старт.
Будем с сыном робота делать, попутно изучая азы.

Кора, спасибо огромное за ссыль.
CamelForth мне и раньше нравился, а новые фичи SAVE и WIPE - это именно то, чего не хватало.
Ну и что работает искаропки (которая, кстати, из Техаса до Нижнего ровно за неделю дошла) - тоже большой плюс.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
SyncLair
сообщение Oct 30 2012, 22:26
Сообщение #43


Местный
***

Группа: Свой
Сообщений: 204
Регистрация: 6-01-12
Пользователь №: 69 197



Цитата(zhevak @ Sep 23 2012, 14:43) *
1.Но пока, я в упор не вижу -- где можно использовать "скриптовый" язык в МК-устройствах.
Скрипты хороши тогда, когда нужно время от времени подправлять их (скриптов) работу.

2. Очень плотная упаковка кода? Хм... Это как? Разве есть какие-то проблемы с МК, у которых не хватает памяти? Люди уже давно не пишут на асме большие проги (большие, скажем, 2-4 килоайт) ради того, чтобы сэкономить еще "один байт". Смысл ужиматься? Не хватает памяти -- возьмите другой МК.


3. Как у Форта обстоят дела с многозадачностью? Можно-ли на нем написать event-driven ПО? (Уточняю -- событийно-управляемое ПО.)


1. Менее грамотные специалисты-программисты просто пишут скриптовый файл -- система их выполняет. Актуально на мой взгляд, сложно ли будет написать форт интерпретатор который кушает что-то типа DOSовских *.BAT файлов?

2. Вот действительно как оценить упаковку кода? Наверное имелось в виду то, что программа на Форте меньше занимает строк, слов, выражений Я правильно понимаю?

3.Вот этот вопрос меня действительно интересует! Есть в Форте механизмы параллельного исполнения?
Или единственный вариант -- упаковывать все события в системе в одну большую очередь и обрабатывать их единственным интерпретатором.


И напоследок ещё один вопрос! Есть ли где примеры того что на форте написан рельно работающий интерпретатор для embedded устройств. Интересует хотя бы такие вещи:
1.Чтение конфигурационных файлов для загрузчика -- на подобие синтаксиса GRUB или UBOOT
2.Интерпретация FTP команд embedded FTP сервером ?



--------------------
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 31 2012, 06:38
Сообщение #44


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 601
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(SyncLair @ Oct 31 2012, 02:26) *
2. Вот действительно как оценить упаковку кода? Наверное имелось в виду то, что программа на Форте меньше занимает строк, слов, выражений Я правильно понимаю?

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

Цитата
1.Чтение конфигурационных файлов для загрузчика -- на подобие синтаксиса GRUB или UBOOT

сановские загрузчики целиком на форте написаны.
Open Boot, Open Firmware, OLPC boot script


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
shreck
сообщение Oct 31 2012, 07:24
Сообщение #45


Местный
***

Группа: Свой
Сообщений: 316
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



2MrYuran

А чем закончились ваши отношения с Forpost? (если я не ошибаюсь, и это были вы)
Go to the top of the page
 
+Quote Post

11 страниц V  < 1 2 3 4 5 > » 
Reply to this topicStart new topic
21 чел. читают эту тему (гостей: 21, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th January 2018 - 11:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01371 секунд с 7
ELECTRONIX ©2004-2016