Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт ноя 30, 2021 21:32

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 59 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Forth over Arduino
СообщениеДобавлено: Ср июн 09, 2021 20:51 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7320
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
Собственно, вот. Общие соображения?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth over Arduino
СообщениеДобавлено: Чт июн 10, 2021 06:53 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 141
Благодарил (а): 15 раз.
Поблагодарили: 9 раз.
Если под Arduino подразумевать классические платы на AVR, то я вижу два сценария использования:
1. Учебно-экспериментально-отладочный - сделать на контроллере Форт с текстовым интерпретатором и вызывать слова в терминале.
Плюс: быстрая проверка небольших кусков кода.
Минусы: необходимость как-то объединять пространства flash-памяти и RAM и низкая скорость работы.
2. Кросс-компиляция на десктопе - код помещается во flash, данные обрабатываются в RAM.
Плюсы: работает побыстрее, чем предыдущий вариант, можно применять подпрограммный шитый код.
Минус: цикл работы такой же, как и у Си или Ассемблера - скомпилировали, прошили, запустили; нет быстрого доступа к произвольному слову.

Сам пробовал первый вариант - очень удобно при изучении работы, например, того же датчика температуры или ЖК-дисплея читать даташит и тут же пробовать прочитанное в терминале. А в любой непонятной ситуации можно прочитать состояния регистров ввода/вывода и вывести их в тот же терминал.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth over Arduino
СообщениеДобавлено: Чт июн 10, 2021 11:10 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1523
Благодарил (а): 4 раз.
Поблагодарили: 55 раз.
Если рассматривать Ардуино как эко-систему, а не только как аппаратно стандартизованную платформу, то логично использовать и интеграцию Форта с ней,
Рассмотрев, например, такие варианты как в проекте
Steno-Keyboard-Arduino

328eForth
...

P.S. И, например, уже в запущенном Форте в таком варианте можно поверх него в системе рассмотреть какие то варианты JIT ускорения кода и его гибкoм управлением.

https://arduino-forth.com

Brief Embedded
Цитата:
Brief Embedded is a scriptable firmware and protocol for interfacing hardware with .NET.

Цитата:
Он состоит из следующего:

VM - крошечная стек машина работающая на MCU.
Протокол - расширяемый и композитный набор команд и событий.
Язык - Форт подобный интерактивный язык сценариев, составленный для VM.
Интерактивность - консоль для интерактивных экспериментов и развития.
Интерфейс - от управляемого кода (не в этом репозитории).
IL Translator - JIT Compiler от CLR для краткого базового кода (опять же, не в этом репозитории).


Learning FORTH on Arduino
Изображение


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth over Arduino
СообщениеДобавлено: Пт июн 11, 2021 11:06 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7320
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
Проблема перечисленных Фортов в том, что они опять пытаются пойти снизу и "переписать все на Форте". В Ардуино и так достаточно библиотек, чем эта платформа и неплоха. Заменять их на
такие же, только недостаточно проверенные и к тому же катастрофически меньшие по реализованным функциям - прямой путь в никуда.
Собственно, ответ вот:
zma писал(а):
Сам пробовал первый вариант - очень удобно при изучении работы, например, того же датчика температуры или ЖК-дисплея читать даташит и тут же пробовать прочитанное в терминале. А в любой непонятной ситуации можно прочитать состояния регистров ввода/вывода и вывести их в тот же терминал.


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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth over Arduino
СообщениеДобавлено: Пт июн 11, 2021 23:09 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 208
Откуда: Минск
Благодарил (а): 17 раз.
Поблагодарили: 2 раз.
KPG писал(а):
Если рассматривать Ардуино как эко-систему, а не только как аппаратно стандартизованную платформу, то логично использовать и интеграцию Форта с ней,

Похоже что реинкарнация AVR решит все вопросы с вознёй.
https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=40408&do=findComment&comment=1723927

Цитата:
Для меня отдельное изготовление: плата $1 + GW2AR-LV18 $6 + мелочёвка - это несущественное увеличение.
Отдав $10 я без заморочек получаю НА ПОРЯДОК мощнее железяку, и сохраняю все наработки.

Что мне там понравилось: "и сохраняю все наработки" за 10 уе.
От себя добавлю: на 100МГц тактовой. (за GW2AR-LV18 не знаю - вероятно)
Действительно, тогда нет смысла переползать на ARM - гарантированный улёт производительности наработанного софта.
Подкорректировать только останется таймера.

А хочешь получить пару форт-команд в железе - измени фьюз,
или используй дополнительные команды. Да ещё и многоядерность.

Кто может "вкинуть" AVR в FPGA и прикинуть? Тот пенсионер сдулся.

_________________
Сотник.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth over Arduino
СообщениеДобавлено: Пт июн 11, 2021 23:52 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1523
Благодарил (а): 4 раз.
Поблагодарили: 55 раз.
Sotnik писал(а):
то логично использовать и интеграцию Форта с ней,

Не совсем, реализация поддержки CPU Форт в FPGA может обладать разными техническими деталями
улучшающими эффективность поддержки функционирования вычислений на стeкe.
Как, например, такое простое решение как по словам-регистров хранения I J (счётчиков циклов) их можно сразу
мапить на верхний элемент стэка (мультиплексором) и далее использовать обычно не размещая их где то в стэке возврата.

Форт, при использовании с AVR (тот же amForth) не сможет так.

P.S. Но, вроде, в инфраструктуре Arduino не просматривется использование Софт процессоров на FPGA, тем более со стэковой вычислительной мoделью нативной для Форт.

А, так да, вполне решение. Вроде даже аппаратно есть AVR на 33МГц не знаю насколько их реально могут ли сделать до 100МГц.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth over Arduino
СообщениеДобавлено: Сб июн 12, 2021 00:11 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 208
Откуда: Минск
Благодарил (а): 17 раз.
Поблагодарили: 2 раз.
KPG писал(а):
P.S. Но, вроде, в инфраструктуре Arduino не просматривется использование Софт процессоров на FPGA, тем более со стэковой вычислительной мoделью нативной для Форт.
А, так да, вполне решение. Вроде даже аппаратно есть AVR на 33МГц не знаю насколько их реально могут ли сделать до 100МГц.
Быстрый AVR "как железяка" в FPGA невозможен?

_________________
Сотник.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth over Arduino
СообщениеДобавлено: Сб июн 12, 2021 00:22 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1523
Благодарил (а): 4 раз.
Поблагодарили: 55 раз.
Sotnik писал(а):
Быстрый AVR "как железяка" в FPGA невозможен?

Думаю со скоростью 100МГц "не реально" по бюджетному решению чисто из архитектурных особенностей заложенных в AVR.
(там же ещё придётся реализовать кучу внутренних аппаратных "интерфейсов")
хотя, те же контроллеры на 8051 ядре есть 100МГц однотактно уже давно.

P.S. Интересно, а насколько удачно укладывается реализация классики Форт в линейке PIC18, PIC24, PIC33 контроллеров
(например в FlashForth), А, есть же ещё MSP430, STM8 ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth over Arduino
СообщениеДобавлено: Сб июн 12, 2021 00:59 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7320
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
Sotnik писал(а):
Похоже что реинкарнация AVR решит все вопросы с вознёй.

Ну не знаю. У меня лежат Nano BLE, Teensy, жду RP2040 - это никак не AVR.

Sotnik писал(а):
Что мне там понравилось: "и сохраняю все наработки" за 10 уе.

Ожидаемо, но все еще странно видеть сведение себестоимости к розничной цене одной (пусть и центральной) детальки. Особенно когда сравнение стоимости плат с МК и FPGA сводят к сравнению цен на микросхемы. Оно совсем не так на практике, а уж до пресловутых многотысячных тиражей, когда эти самые 10 у.е. станут реальной проблемой, от этой точки идти и идти.

Sotnik писал(а):
Кто может "вкинуть" AVR в FPGA и прикинуть? Тот пенсионер сдулся.

Скучный и бесперспективный процесс. Основная сложность - вдумчиво читать документацию и пытаться проверить, правильно ли поняты все эффекты от команды. При этом в голове будет "да тут же аналоговая периферия и какие-нибудь недокументированные возможности". Поэтому аналог AVR будет неполным.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth over Arduino
СообщениеДобавлено: Сб июн 12, 2021 01:05 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 208
Откуда: Минск
Благодарил (а): 17 раз.
Поблагодарили: 2 раз.
KPG писал(а):
Думаю со скоростью 100МГц "не реально" по бюджетному решению чисто из архитектурных особенностей заложенных в AVR.
(там же ещё придётся реализовать кучу внутренних аппаратных "интерфейсов")
хотя, те же контроллеры на 8051 ядре есть 100МГц однотактно уже давно.
Что надо добавить в AVR/8051/ARM (по минимуму) для реализации ФОРТ-а, сравнимого с быстродействием их ASM?
Использовать стандартный софт, ввинчивая туда свои строки кода, под эти дополнения.
Реализованный в железе, такой камень может содержать "вкрапления" для эффективного исполнения форт-кода.
И не мешать стандартному использованию. Форточки есть в каждой системе комманд.
Китайцы не стесняются ARM-ы "клонировать почти до оригиналов", плюсуя туда свои фитчи.
Цитата:
P.S. Интересно, а насколько удачно укладывается реализация классики Форт в линейке PIC18, PIC24, PIC33 контроллеров
(например в FlashForth), А, есть же ещё MSP430, STM8 ...
Я юзаю в ARM mecrisp-stellaris - полёт нормальный.
Остальные технологии на свалку истории. ИМХО. :)

_________________
Сотник.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth over Arduino
СообщениеДобавлено: Сб июн 12, 2021 01:28 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1523
Благодарил (а): 4 раз.
Поблагодарили: 55 раз.
Sotnik писал(а):
Что надо добавить в AVR/8051/ARM (по минимуму) для реализации ФОРТ-а, сравнимого с быстродействием их ASM?

Для этого и существует оптимизации на уровне оперирования AST построенного дерева,
Вряд ли что то другое будет наиболее эффективно.
Какие то локальные оптимизации могут "значительно" улучшить производительность кода.
для 8-ми битной архитектуры - использование 16-ти битного Форта тоже не добавляет производительности целевой Форт системы.

P.S. Какая то оптимизации для Форта AVR были и, например, в ff303 а также была реализация в теме AVRForth и m3Forth от Oco на местном форуме.
Может техника применения макро-оптимизатора, подобного в SPF4 может увеличить производительность.
А, если желательна максимальная производительность сравнимая с ассемблерным кодом, то можно и использовать вариант "Форт" ассемблера (как вариант такого Форт-ассемблер для AVR или более процессорно "независимого" как в Algorithm Builder

А, насколько целевая компиляция и встроенная Форт в VFX Forth отличается от Mecrisp-Stellaris для Cortex ARM?
Проводилось сравнение?

Можно оживить разработку и дальнейшее развитие ff303 но он, сделан для Windows если требуется какой то его IDE функционал, а под Linux возможно его запуск через Wine. Можно и состыковаться с Ардуино эко-системой. :)
Если Ардуино сообщество как то заинтересовать использованием Форт, то и в официальной "Arduino-IDE" на каком то уровне Форт может появиться.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth over Arduino
СообщениеДобавлено: Вс июн 13, 2021 16:16 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7320
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
Указатели на функции в ардуино работают, так что попробую на днях. В форме "обертки над Си-функциями с интерпретатором".


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth over Arduino
СообщениеДобавлено: Пн июн 14, 2021 01:48 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7320
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
Ну пока copy/paste дало ноль ошибок...


Вложения:
ArduinoForthSmall.png
ArduinoForthSmall.png [ 107.66 Кб | Просмотров: 4665 ]
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth over Arduino
СообщениеДобавлено: Пн июн 14, 2021 10:03 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1523
Благодарил (а): 4 раз.
Поблагодарили: 55 раз.
Ещё в списке Фортов прибыло на Github :)
nanoFORTH (для Ардуино проект)

P.S. Кстати, или некстати поднимал тему Форта для Ардуино в топике LISP для Ардуино, но не нашедшей отклика. :)
Сама площадка и форум arduino.ru не нравится как он технически сделан.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Forth over Arduino
СообщениеДобавлено: Пн июн 14, 2021 11:53 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7320
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
Очередной тупиковый вариант "перепишем все на Форте". С ВМ "вручную" (разбором байт-кода по switch). А главное, с кусками ассемблерного кода, т.е. платформозависимый даже в рамках Arduino.


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

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


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

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


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

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