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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 100 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Вт фев 16, 2021 14:42 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1500
Благодарил (а): 4 раз.
Поблагодарили: 55 раз.
Sotnik писал(а):
Это всё интересно, только напрягает из текстового редактора в терминалку грузить через буфер обмена.
И пока оно туда передаётся, можно сходить чаю попить. Из-за глюков при передаче, пришлось по 10 мс паузы ввести...


Вот ещё вариант терминалки с внешним с редактором (но сам не пробовал) http://www.byvac.com/gpeasy/index.php/IDE

P.S. Интересно, что для Lite VFX Forth (STM32) указаны некоторые ограничения урезанные от Pro версии
http://www.mpeforth.com/xc7lite.htm
так вот появился вопрос - что из отсутствующего списка закрывается/незакрывается в Mecrisp-Stellaris
и насколько оно переносимо, например, в VFX. (понимаю что переносимо т.к. это Форт, но могут быть ньюансы)
и, если исходники открыты, то что то можно, наверное, и использовать в Mecrisp.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Чт фев 18, 2021 01:26 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 208
Откуда: Минск
Благодарил (а): 17 раз.
Поблагодарили: 2 раз.
KPG писал(а):
Sotnik писал(а):
Это всё интересно, только напрягает из текстового редактора в терминалку грузить через буфер обмена.
И пока оно туда передаётся, можно сходить чаю попить. Из-за глюков при передаче, пришлось по 10 мс паузы ввести...
Цитата:
Вот ещё вариант терминалки с внешним с редактором (но сам не пробовал) http://www.byvac.com/gpeasy/index.php/IDE
Работает. Интересно как пример реализации.

_________________
Сотник.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Чт фев 18, 2021 03:15 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7291
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
Вот как раз заработал UART с возможностью запустить его в отдельном потоке. Поток имеется в виду thread от ОС, а не поток форт-машины.


Вложения:
uart.png
uart.png [ 34.67 Кб | Просмотров: 2172 ]
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Чт фев 18, 2021 18:20 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 208
Откуда: Минск
Благодарил (а): 17 раз.
Поблагодарили: 2 раз.
Hishnik писал(а):
Вот как раз заработал UART с возможностью запустить его в отдельном потоке. Поток имеется в виду thread от ОС, а не поток форт-машины.
А поподробнее можно?
Я уже переназначил работу с терминалки не через COM порт, и A9 A10,
а с USB порта ПК - заработало нужное USD слово. :)
Скорость громадная, глюков при передаче нет.
Но, всё равно, напрягает обмен через буфер...

_________________
Сотник.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Чт фев 18, 2021 19:09 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7291
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
Если брать совсем широко, то вместо адаптации Форта под разные платы можно брать настроенную плату с готовым HAL от производителя и добавлять туда форт-машину. В показанном примере как раз и реализовано взаимодействие с движком GUI-приложения в виде сообщений (например, UART.READ читает из UART и забирает результат на стек Форта). В этом случае на Форте уже можно и не расписывать все подряд, оставляя это готовым инструментам, но вот организация вызовов идет из Форта. В этом плане оценивать, насколько хороша поддержка от авторов NNN-Форта, уже не имеет смысла - вся поддержка возьмется и от STM. Никакая группка фортеров производителя не догонит, разве что будет фрагментарно закрывать дыры по запросам. Что, к примеру, можно было наблюдать в AFS, просто они поменьше, поэтому и результат стал виден пораньше. А проблема тут в том, что при разнообразии предложений разработчики не будут идти на поклон к авторам Форта и загонять себя в жесткие рамки, лишь бы попользоваться такой системой. У нее должен быть видимый и разумный плюс, и он отнюдь не в том, что "тут все на Форте" - это само по себе плюсом не является. Разные лозунги вида "тут все гибко" тоже не плюс, поскольку на практике все как раз не гибко, а упирается в то, на что хватило сил авторам системы. В итоге разработчик пробирается сквозь дебри стартового кода, мигает светодиодом, воюет с консолью и двумя-тремя приложениями, которыми нужно жонглировать для нормальной работы с платой... и все это создает иллюзию продвижения ("здесь мерилом работы считают усталость"). Поэтому идею работы с Форт в embedded стоит пересматривать коренным образом и перестать закапываться в очередные движки, рождающие маловразумительную консоль с фрагментарной поддержкой периферии для избранных модификаций МК.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Чт фев 18, 2021 21:05 
Не в сети

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

Но если рассудить здраво, и отодвинуть в сторону идеологию, как таковую, а трезво взять лучшее, то...
То, учитывая что ты собаку съел (и не одну), и веря твоему опыту, можно с основным тезисом согласиться:

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

Да вот только это потребует наработок. Взять готовое - это как будет выглядеть?
Обращения к готовым подпрограммам, как форт-словам.
Да и грабельки никто не отменял.

_________________
Сотник.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Пт фев 19, 2021 00:50 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7291
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
Sotnik писал(а):
Крамола... Конечно это предательство... И богохульство...

"Мы в труде и мастера и боги" :)

Sotnik писал(а):
Да вот только это потребует наработок. Взять готовое - это как будет выглядеть?

Я вполне соглашусь, что это серьезная и вдумчивая работа, с учетом того, что тут никто готовых книг или статей не выставит. Зато и результат предполагается серьезным. А иначе и смысла нет, это получится следование за лидерами и постоянное технологическое отставание. Толк от освоения чужого транслятора близок к нулю. Это означает или редкое домашнее хобби от скуки или подбирание крошек за кем-то.

На чем я пока основываюсь.
1. Наследие 90-х и голливудскую "мягкую" пропаганду никто, к сожалению, не отменял. Быть замеченным западной компанией до сих пор может восприниматься как прямо-таки жизненный успех. Однако же "не надо смешить мои Искандеры". В конце концов, по уровню образования, научной инфраструктуры и общих жизненных ценностей мы по-прежнему на передовых позициях. Мало прошлых успехов в виде космонавтики и атомной энергетики, сегодня у всех на слуху вполне передовые вакцины, да и в области программирования немало красивых решений и сильных коллективов. Ну и кому прикажете в рот смотреть? Берем и сами создаем следующий технологический виток Форта. Пусть теперь за нами вприпрыжку бегут.
2. Еще раз повторю, что нужен проект. Просто так запускать плату и читать-писать в регистры, запуская оборудование по очереди - путь в никуда. Оно должно что-то реальное делать. Проекты разные, обсуждать их тут вполне реально. Из глобального есть и связь, и Интернет вещей, и домашняя-промышленная автоматизация, и измерительная техника, и плюс ко всему этому импортозамещение и огромный пласт финансирования на почти любую штуку, лишь бы разработанную в России. Там не все так просто, конечно, и деньги с вертолетов не разбрасывают, но они есть. А вот приходить туда со словами "ну мы тут хотим купить американский/немецкий/занзибарский Форт и его освоить, а потом повторить" - это сразу разворот с порога.
3. Производители МК делают и поддерживают HAL. Тот же STM делает какое-то дикое количество плат Nucleo, и все они поддерживаются в IDE с автогенерацией базового кода. Ну и зачем с ними тягаться, пытаясь повторить те же действия, "только на Форте"? Новой функциональности не будет по определению, потенциальных ошибок масса. Ну раз мир к этому пришел, зачем пытаться руками остановить поезд? Берем готовый HAL и реализуем Форт поверх. Т.е., например, если на С написать что-то вроде ReadADC(), то потом можно оформить слово ADC@, которое просто вызовет вот это ReadADC(), но результат положит на глобальный стек. Аналогично можно делать и с более сложным оборудованием и библиотеками, основываясь на том, что если что-то пишется один раз и не меняется в проекте, то это можно сделать на С, а вот порядок вызовов и общая высокоуровневая логика подлежит более частым изменениям, поэтому это работа для скрипта на Форте.

По итогам видеоконференций с "мировым" сообществом я пока подготовил 4 крупных части рекомендаций по разработке Форт-машины. Можем и русскоязычную аудиторию отдельно собрать. Что касается трудоемкости - я совершенно честно был сильно занят до 31 декабря. Поэтому к Object Pascal + Lazarus приступил 1 января (да, не утерпел и прямо в новогоднюю ночь сел за ноутбук). Вот выше на скриншоте результат. Там уже 200+ слов основные слова математики, стека, структуры управления, а большая часть - управление виджетами. Для МК я оцениваю объем примерно в 2-3 тысячи строк на Си для запуска приличной Форт-машины. С учетом того, что мои проекты на Qt и Lazarus следуют одной и той же методике, я без проблем готов предположить (и даже проверить), что и для того же STM схожие действия дадут схожий же результат. Ну и, как говорится, кто с нами штурмовать это? :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Пт фев 19, 2021 01:25 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1500
Благодарил (а): 4 раз.
Поблагодарили: 55 раз.
Hishnik писал(а):
Я вполне соглашусь, что это серьезная и вдумчивая работа, с учетом того, что тут никто готовых книг или статей не выставит.

Это разве отрицает возможность опробования уже кем то предложенных решений?

Hishnik писал(а):
Зато и результат предполагается серьезным.

Как эту серьёзность оценить

Hishnik писал(а):
А иначе и смысла нет, это получится следование за лидерами и постоянное технологическое отставание. Толк от освоения чужого транслятора близок к нулю.
)

:) Лисп имеет смысл добавить к Форт?
Мой компилятор для Lisp

Hishnik писал(а):
. Это означает или редкое домашнее хобби от скуки или подбирание крошек за кем-то.
)

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

Пробовал и такое решение применить F minus и оно мне было интересно.

P.S. Чем "плох", например проект Mecrisp-Stellaris с CubeMX?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Пт фев 19, 2021 01:29 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1500
Благодарил (а): 4 раз.
Поблагодарили: 55 раз.
Sotnik писал(а):
Я уже переназначил работу с терминалки не через COM порт, и A9 A10,
а с USB порта ПК - заработало нужное USD слово. :)
Скорость громадная, глюков при передаче нет.
Но, всё равно, напрягает обмен через буфер...

Про чей буфер речь, и что за слово USD?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Пт фев 19, 2021 02:10 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7291
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
KPG писал(а):
Это разве отрицает возможность опробования уже кем то предложенных решений?

Это методологически неверно. Доказываются только положительные утверждения. Никто не обязан доказывать, что решение номер 1, 2, 3, ... 999 лучше или хуже. Делается обзор, рассматриваются аналоги, предлагается вариант. Если программисты начнут математически доказывать что-то для нескольких тысяч языков (плюс диалекты у многих из них), работа встанет.

KPG писал(а):
Как эту серьёзность оценить

Общественно-исторической практикой. См. методологию науки. Общественная часть, грубо говоря, означает, что оценка производится в рамках влияния на общество, а не голосованием комитетов и прочих заинтересованных в результате субъектов. Историческая составляющая, опять же грубо, что результат не является следствием моды, идеологии или других сиюминутных составляющих.

KPG писал(а):
Лисп имеет смысл добавить к Форт?

Понятия не имею. Что он там даст и для какого конкретно проекта дела станут лучше? Или автор хотел похвалиться квалификацией? Хорошо, он похвалился, что дальше? Его опыт не переносится на других людей, потому что они уже не смогут похвалиться его результатами. Разве что встать в хвост и ждать результатов. На этот счет хороший пример с Форрест Гампом - он просто так бежал, а за ним бежали толпы и ждали, что он их куда-то приведет. А ему в один прекрасный момент просто надоело бежать, и все. Что характерно, никто бежать-то вместо него не продолжил, хотя всего-то - ноги переставлять.

KPG писал(а):
Не вижу ничего зазорного следовать хорошим и интересным решениям.

Если там, где следует разрабатывать, человек начинает судорожно искать, к какому бы авторитету прицепиться, этим он автоматически выводит себя из круга разработчиков. Вместо него проще обратиться к тем, чьим продуктам он следует. А в итоге получится, что какой-то посторонний производитель будет определять, что вообще можно, а что нельзя - ну не станет он добавлять поддержку чего-нибудь, и все. Более того, декларация простоты реализации Форта попросту бьет в глаза своим противоречием идее "возьмите чужое". А зачем тогда вообще смотреть на Форт, если "чужое" можно взять и в виде Си, Ардуино, Java, Питона и массы других популярных языков с множеством библиотек и развитой экосистемой.

KPG писал(а):
Чем "плох", например проект Mecrisp-Stellaris с CubeMX?


Вот если они мне экспертное заключение закажут, я и посмотрю, чем он "плох" и "хорош". А так это просто еще одна компания, которая показывает, что Форт можно писать. Моя реакция простая - да, можно писать, давайте напишем при случае.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Пт фев 19, 2021 04:33 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 208
Откуда: Минск
Благодарил (а): 17 раз.
Поблагодарили: 2 раз.
KPG писал(а):
Sotnik писал(а):
Я уже переназначил работу с терминалки не через COM порт, и A9 A10,
а с USB порта ПК - заработало нужное USD слово. :)
Скорость громадная, глюков при передаче нет.
Но, всё равно, напрягает обмен через буфер...
Про чей буфер речь, и что за слово USD?
USD = USB - это я промазал...
Буфер обмена винды - перекидывать из удобного текстового редактора в терминалку, для загрузки в камень.
Задалбывает, пока я ещё только разбираюсь с STM32F103.

_________________
Сотник.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Пт фев 19, 2021 10:52 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 184
Откуда: Москва
Благодарил (а): 33 раз.
Поблагодарили: 6 раз.
KPG писал(а):
что за слово USD?

Ну как же? Кладет в стек 100 баксов! Главное потом не забыть про эту заначку... Шучу, конечно же, это слово конвертирует рубли в североамериканские тугрики... Опять шучу... :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Пт фев 19, 2021 12:49 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7291
Благодарил (а): 21 раз.
Поблагодарили: 126 раз.
Total Vacuum писал(а):
Кладет в стек 100 баксов!

Главное, чтобы потом можно было сделать DUP :))


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Пт фев 19, 2021 13:55 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 140
Благодарил (а): 15 раз.
Поблагодарили: 9 раз.
Hishnik писал(а):
Вот как раз заработал UART с возможностью запустить его в отдельном потоке. Поток имеется в виду thread от ОС, а не поток форт-машины.

Как у Вас реализуется много поточность в Форте? Отдельный экземпляр системы на каждый поток или как-то по-другому? Если несколько экземпляров, то как они синхронизируются и обмениваются сообщениями?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Announcing Mecrisp-Stellaris for ARM Cortex M
СообщениеДобавлено: Пт фев 19, 2021 15:40 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 184
Откуда: Москва
Благодарил (а): 33 раз.
Поблагодарили: 6 раз.
Hishnik писал(а):
Главное, чтобы потом можно было сделать DUP :))

:D Ха! При таком раскладе DUP должно удваивать сумму... Т.е. делать то же самое, что делает 2*, а именно - сдвигает влево на 1 бит... Ну вы поняли... :)
А, например, DROP в какой-нибудь экзотической версии Форт для банкоматов мог бы сбрасывать кэш (имеются ввиду банкноты, а не кэш-память) и уходить огородами... :D
Закрыл глаза и представил себе банкомат, где для запроса баланса владельцу карты надо вводить balance @ .
А для снятия наличности что-то типа:
rub \ переключение в режим выдачи и приема рублей
balance @ 100 < if
." мало денег" \ ругаемся
else
100 drop \ выдаем
then

Что касается работы с терминалами, то тут понятно, что в плане удобства ни один терминал не сравнится даже с примитивным текстовым редактором, где можно поставить курсор в произвольное место кода, скопировать кусок из любого места и вставить в любое другое и т.д. и т.п., в то время как в терминале даже примитивные вещи вроде нажатия Backspace или стрелки курсора обычно обрабатываются коряво и некрасиво. Так что тут остается либо мириться с неудобством терминалов, либо изобретать какую-то более удобную альтернативу...


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

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


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

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


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

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