Перейти к содержанию
    

Fort для PICа ( еще один появился)

В новостном канале ( группы обсуждения языка Forth)

попалась еще одна ссылка на Forth (Форт) для PIC контроллера

 

 

http://www.kolumbus.fi/oh2aun/

 

P.S. Forth ( русское название Форт ) язык программирования

применяемый для программирования встраиваемых систем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В новостном канале ( группы обсуждения языка Forth)

попалась еще одна ссылка на Forth (Форт) для PIC контроллера

 

 

http://www.kolumbus.fi/oh2aun/

 

P.S. Forth ( русское название Форт ) язык программирования

применяемый для программирования встраиваемых систем.

 

И чё, на нём пишут?

А то вроде как больше на С.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И чё, на нём пишут?

А то вроде как больше на С.

 

Че писать каждый решает сам:). Си тоже достойный язык.

По сравнению с Си дает больше гибкости при разработке программ.

( например позволяет управлять процессом компиляции программ)

Исторически применяется для embedded систем,

часто в экспериментальных исследованиях.

 

Можно сказать так: пишут и писать еще долго будут. (Некоторые даже под Windows)

Что-бы понять почему необходимо проникнуться философией

и узнать возможности данного языка.

 

P.S.

Один из примеров.

В разработках NASA данный язык применяется наряду с аппаратными Форт процессорами.

Действующий стандарт языка 94года.

Для тех кому побольше хочется узнать можно начать с forth.org.ru

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Меня заинтересовала работа финского радиолюбителя.Но пока полностью я не разобрался.

Форт язык для построения экспертных систем (ИИ).Самообучаощиеся системы.Кроме того это и

операционка.Я помню форт-84 составлял 8 Кбайт. Фин умудрился урезать до 2х и засунуть в пик.

Применение форта в робототехнике я еще понимаю, но он применил это в радиолюбительском

дисплее.Это вывод телеграфных сообщений или телетайпных (точки и тире) на экран символами.

Подобные дисплеи можно проще сделать.Без форта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Меня заинтересовала работа финского радиолюбителя.Но пока полностью я не разобрался.

Форт язык для построения экспертных систем (ИИ).Самообучаощиеся системы.Кроме того это и

операционка.Я помню форт-84 составлял 8 Кбайт. Фин умудрился урезать до 2х и засунуть в пик.

Применение форта в робототехнике я еще понимаю, но он применил это в радиолюбительском

дисплее.Это вывод телеграфных сообщений или телетайпных (точки и тире) на экран символами.

Подобные дисплеи можно проще сделать.Без форта.

 

Форт и его методологию можно, с успехом применить к любой области.

Появление форта на страничках фина связана, по моему мнению,

с желанием уйти от программирования на ассемблере к адекватным средствам и

желанием уменьшения требуемой памяти для программы.( переход к макроязыку)

+ возможность изменеия и отладки программы простыми средствами.

Для Pic и не только существует еще большое количество Форт системм.

Урезать форт можно до требуемого уровня функциональности и вместить например

в 512байт:). Под windows компилятор форта может иметь размер порядка 60кб

( например российский spf).

Форт-84 - это стандарт на форт 83г.

Сейчас в основе форт системм используется стандарт 94года.(имеется русский перевод)

Форт первый саморасширяемый язык и построен на других принципах нежели

алголоподобные языки:)

 

P.S. Из своего опыта:

Использовал IDE для программирования контроллеров с сайта tinyboot.com (раздел Firmware)

Недавно появился в I-nete русский форум посвященный данному языку и близких к нему

вопросов:)

Новичков в форте может испугать необходимость более широкого использования стеков.

и непривычная форма записи программ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну хорошо.Интересно даже попробовать.С фортом я знаком.Насколько я помню, там как в Бейсике все

программы выполняются в своей среде (В ранних Бейсиках.Это потом стали получаться экзешники).

Так как приступить к программироваю пика.Что вы можете посоветовать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну хорошо.Интересно даже попробовать.С фортом я знаком.Насколько я помню, там как в Бейсике все

программы выполняются в своей среде (В ранних Бейсиках.Это потом стали получаться экзешники).

Так как приступить к программироваю пика.Что вы можете посоветовать?

Для себя в ближайшее время сделаю Форт для PIC-а. Есть некоторые идеи:).

 

Например на страничке http://wiki.forth.org.ru/PicForth приведены еще Форт системы для PIC

 

А начать можно с вышеприводимой финской ссылки.

Данный способ построения Форта используя ассемблер или Си компилятор,

довольно простой и распространенный.

Первые Форт системы, часто реализовывались в шитом подпрограммном коде.

Сейчас обычно генерируется код целевого процессора.

 

Все Форт системмы в качестве базового интерфейса имеют режим командной строки.

для контроллеров обычно реализуется какой нибудь отладочный интерфейс( например

используя COM)

Для сохранения работающей программы, после ее загрузки, часто наиболее простое

средство сохраненить состояния системы соответствующим словом и векторизовать

запускаемое слово ( делать можно по разному). Использовать кросс средства или

родные дело вкуса. ( Мне больше нравится использовать кросс и IDE).

 

P.S. Большое число ссылок на ресурсы Форт (Forth) языка можно найти на forth.org.ru

и FIG группы ( английской, немецкой, американской, голландской и др,

и на авторских страничках)

 

Со своей стороны могу оказать посильную помощь в освоении Форт методологии

разработки программ.:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо.Покопаюсь сейчас в интернете.

Вчера был на финской ссылке.Никаких пояснений нет.Одни исходники.Более того, шаг влево,шаг

вправо-финский язык.Что-то я его плохо понимаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А приведите, пожалуйста, пример программы с переводом.

Извините за наглость. :)

 

Самый простейший пример:

 

: OK ( n -- )

IF ." Привет!" ELSE ." Досвидание" THEN ;

1 OK \ выведет Привет в консоль

0 OK \ выдаст Досвидания в консоль

BYE \ выход из Форт системы

 

Все. Поясняю ключевое понятие языка Форт - слово!!!! Слова разделяются пробелом.

\ комментарий до конца строки

: начало определения высокоуровневого кода

переключает транслятор в режим компиляции

OK имя высокоуровневой процедуры

( начало незначащего стекового комментария стек_до_операции -- стек_после операции

) завершение стекового комментария

IF оператор условного ветвления берет значение со стека 0-ложь, остальные числа - истинна

При истине выполняются операторы после IF

." Привет " Определение строкового литерала для вывода на экран

ELSE оператор условного ветвления при условии - ложь

( необязательный)

THEN завершение условного оператора

( обязательный)

; завершение высокоуровневого определения

переключает транслятор в режим непосредственного исполнения.

1 Положили на стек число 1

ОК вызвали определенную через двоеточие процедуру

 

BYE Выход из Форт системы.

 

P.S. Надеюсь пример понятен:)

При определении процедуры можно использовать и именные локальные переменные

если возникают сложности при работе со стеком.

 

 

 

Спасибо.Покопаюсь сейчас в интернете.

Вчера был на финской ссылке.Никаких пояснений нет.Одни исходники.Более того, шаг влево,шаг

вправо-финский язык.Что-то я его плохо понимаю.

На данной страничке я взял только исходники данного Форта, а ассемблер

довольно понятный язык в них:)

Форум по языку Форт http://fforum.winglion.ru/ ( окажут посильную помощь)

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для себя в ближайшее время сделаю Форт для PIC-а. Есть некоторые идеи:).

 

Во-во. Это и есть ключевая фраза к вопросу "почему трупик Форта никак не оставят в покое"...

Мало почему-то желающик, к примеру, опимизирующий компилятор С, для Пика написать :D

 

P.S. При критике моих слов прошу учесть 1.5 года опыт программирования на Форте, включая IP-стек.

P.P.S Для желающих осваивать этот, не спорю, интересный язык, советую для начала почитать историю создания языка. И затем сравнить себя с его создателем, а свои проекты с его задачами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для себя в ближайшее время сделаю Форт для PIC-а. Есть некоторые идеи:).

 

Во-во. Это и есть ключевая фраза к вопросу "почему трупик Форта никак не оставят в покое"...

Мало почему-то желающик, к примеру, опимизирующий компилятор С, для Пика написать :D

 

P.S. При критике моих слов прошу учесть 1.5 года опыт программирования на Форте, включая IP-стек.

P.P.S Для желающих осваивать этот, не спорю, интересный язык, советую для начала почитать историю создания языка. И затем сравнить себя с его создателем, а свои проекты с его задачами.

Поправьте если я не прав:

Форт программист, при необходимости напишет и оптимизирующий С и еще в качестве

разминки реализует необходимый синтаксис и семантику языка.(преценденты имеются)

Оптимизация, как задача имеет несколько критериев( что оптимизируется размер/скорость...)

 

Интересует мнение из практического использования( особенно для новичков)

и где можно посмотреть сделанные на результаты использования Вами Форта?

"Трупик Форта" точно еще никто не видел( хотя он ровесник Си).

А если язык чем то не устраивает, то в нем достаточно базовых механизмов для

устранения этого.(было бы желание).

Сито на Форт пригодность проходит далеко не каждый желающий:)

 

 

P.S. Не совсем понял контекст цитирования ключевой фразы.

А то, что есть возможность сделать лучше ( что плохого?)

Можно согласится, что Форт вызывает смешанные чувства.

Для прикладного программиста, при достаточном опыте использования Си++

идеи форта могут быть плохо понимаемы.

Вот эту книгу полезно прочитать любому программисту( не только Форт)

http://www.forth.org.ru/~cactus/files/brodie.rar

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В новостном канале ( группы обсуждения языка Forth)

попалась еще одна ссылка на Forth (Форт) для PIC контроллера

 

 

http://www.kolumbus.fi/oh2aun/

 

P.S. Forth ( русское название Форт ) язык программирования

применяемый для программирования встраиваемых систем.

Не могли бы Вы пояснить, как компилируется программа PicForth? Я когда-то писал программы на Форте для PC, там было два целевых ассемблера - для 8086 и 8080. В зависимости от процессора, подгружался тот или другой. А здесь как?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не могли бы Вы пояснить, как компилируется программа PicForth? Я когда-то писал программы на Форте для PC, там было два целевых ассемблера - для 8086 и 8080. В зависимости от процессора, подгружался тот или другой. А здесь как?

Для данного Форта для Pica, скорее всего, загружается по последовательному каналу.

как расширение ядра и подменяется процедура старта программы. ( т.к. для генерации

форт системы выбран ассемблер). Но можно странслировать Форт программу в ассемблерные

инструкции ( примерно, как введены в ядре данного Форта высокоуровневые слова)

и скомпилировать вместе с ядром системы.

 

Существуют разные варианты получения выполняемого кода из Форт языка для контроллеров:

( более предпочтительны варианты кросс трансляции)

 

Например в одной Форт системе используется для генерации кодов целевого ассемблера

язык Ейфория, после чего используется ассемблер соответствующего процессора.

 

Бывают реализации Форт виртуальных машин, когда для исполнения байт-кода

пишется небольшой исполнитель, а код Форт программы транслируется в байт-код

виртуальной машины.

...

 

Или существуют IDE форт системы, где для генерации кода для требуемого процессора

достаточно вставить поддержку его( если его нет в системе). Данный вариант мне

нравится больше всего.

 

P.S. В форт системах обычно реализуют слова для генерации исполняемых файлов или

в крайнем случае имеются слово сохранения текущего состояния Форт системы после

ее расширения, а при необходимости автономного приложения стартовая процедура

инициализируется необходимым словом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не могли бы Вы пояснить, как компилируется программа PicForth? Я когда-то писал программы на Форте для PC, там было два целевых ассемблера - для 8086 и 8080. В зависимости от процессора, подгружался тот или другой. А здесь как?

Для данного Форта для Pica, скорее всего, загружается по последовательному каналу.

как расширение ядра и подменяется процедура старта программы. ( т.к. для генерации

форт системы выбран ассемблер). Но можно странслировать Форт программу в ассемблерные

инструкции ( примерно, как введены в ядре данного Форта высокоуровневые слова)

и скомпилировать вместе с ядром системы.

 

Существуют разные варианты получения выполняемого кода из Форт языка для контроллеров:

( более предпочтительны варианты кросс трансляции)

 

Например в одной Форт системе используется для генерации кодов целевого ассемблера

язык Ейфория, после чего используется ассемблер соответствующего процессора.

 

Бывают реализации Форт виртуальных машин, когда для исполнения байт-кода

пишется небольшой исполнитель, а код Форт программы транслируется в байт-код

виртуальной машины.

...

 

Или существуют IDE форт системы, где для генерации кода для требуемого процессора

достаточно вставить поддержку его( если его нет в системе). Данный вариант мне

нравится больше всего.

 

P.S. В форт системах обычно реализуют слова для генерации исполняемых файлов или

в крайнем случае имеются слово сохранения текущего состояния Форт системы после

ее расширения, а при необходимости автономного приложения стартовая процедура

инициализируется необходимым словом.

 

а как со скоростью выполнения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

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

×
×
  • Создать...