Forth
http://fforum.winglion.ru/

Announcing Mecrisp-Stellaris for ARM Cortex M
http://fforum.winglion.ru/viewtopic.php?f=26&t=2975
Страница 2 из 7

Автор:  M-atthias [ Ср янв 01, 2014 19:25 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

I enjoyed my holidays, now I am back !

After diving into your code, I have some questions:

How do you compile into Flash ? I cannot find Flash Controller access definitions, and this definitions look as compiling is into RAM only ? Did I miss a trick ?


: (CREATE) ( "name" -- )
HALIGN
BL WORD DUP C@ 1+ ALLOT
0A0 TOGGLE
BEGIN HERE 1 AND WHILE 0 C, REPEAT
LATEST DUP @ , HERE SWAP !
B500 H, ( lr push )
0 DUP DUP , , H, ; \ 10 bytes for code field ( 2*mov + blx )

: REVEAL ( -- ) LATEST @ CFA>NFA 020 TOGGLE ;
: CONSTANT ( x "name" -- ) (CREATE) ['] (DOCON) CF! , REVEAL ;
: CREATE ( "name" -- ) (CREATE) ['] (DOVAR) CF! REVEAL ;
: VARIABLE ( "name" -- ) CREATE CELL ALLOT ;

I can offer you a complete M0 and partial M3 disassembler in Forth. You have done a really beautiful assembler, and I am trying to port it to Mecrisp-Stellaris.


But what is -- doing ?

0
CELL -- offest_lo
CELL -- offset_hi
CELL -- offset_instr_length
CELL -- offset_mask
CELL -- offset_bits
DROP

Matthias

Автор:  oco [ Чт янв 02, 2014 01:20 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

M-atthias писал(а):
How do you compile into Flash ? I cannot find Flash Controller access definitions, and this definitions look as compiling is into RAM only ? Did I miss a trick ?

Yes, interpreter on target compiles into RAM only.

M-atthias писал(а):
I can offer you a complete M0 and partial M3 disassembler in Forth.

Thanks a lot, but objdump does its job well.

M-atthias писал(а):
But what is -- doing ?

-- declares a field in a structure:
Код:
: -- ( offset size "new-name" -- offset+size )
  CREATE OVER , +
  DOES> @ +
;

Автор:  KPG [ Вс авг 27, 2017 07:35 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

Mecrisp Stellaris Unofficial UserDoc

Автор:  KPG [ Ср апр 25, 2018 23:17 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

KPG писал(а):

Сайт не доступен? (или это только у меня)

P.S. Проверил работоспособность залитой Mecrisp-Stellaris на поддержаной плате из его списка с STM32L476. (предварительно стерев кристалл), работает, но заметил что words, похоже, при выводе
списка слов, в какой то момент останавливается. (пользовался терминалом из 4eth IDE).
У кого какой терминал "прижился" (для Windows)?
Для передачи. С Tera-term (для AVR с amForth) у меня были глюки.
Поближе решил познакомиться с Mecrisp-Stellaris и начал с заметок JeeLabs
C 'этого места
А у кого какие STM32 "прижились"? Не увидел в списке поддержку STM32L100 контроллера (можно добавить)

Встретилось и поп-видео :) Mecrisp Forth on STM32 Microcontroller (blue pill)

Автор:  _KROL [ Ср апр 25, 2018 23:25 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

KPG писал(а):
KPG писал(а):

Сайт не доступен? (или это только у меня)
У меня открывается страница, на которой есть ссылка сюда: http://hightechdoc.net/mecrisp-stellaris/_build/html/index.html
Или я вас не понял? :shuffle;

Автор:  KPG [ Ср апр 25, 2018 23:39 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

_KROL писал(а):
KPG писал(а):
KPG писал(а):

Сайт не доступен? (или это только у меня)
У меня открывается страница, на которой есть ссылка сюда: http://hightechdoc.net/mecrisp-stellaris/_build/html/index.html
Или я вас не понял? :shuffle;

У меня, почему то, браузер по времени не может открыть эту страницу.
Похоже что-то в системе или браузере.

P.S. Бывает в последнее время, что поиск по Google подвисает, а Яндекс без проблем. :)

Автор:  Ilya [ Чт апр 26, 2018 12:38 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

KPG писал(а):
А у кого какие STM32 "прижились"? Не увидел в списке поддержку STM32L100 контроллера (можно добавить)

Встретилось и поп-видео :) Mecrisp Forth on STM32 Microcontroller (blue pill)

У меня "прижились" : 103RB, 152RB, 411, 429.
Сейчас запустил в "опытную" эксплуатацию проект в составе: 2-а устройства на 103RB и одно на 411.
Правда возникла (и не только у меня) одна трабла в связке usrt-irq и multitask. Пришлось пока отказаться от multitask. :(

Автор:  KPG [ Сб май 05, 2018 12:50 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

Интересно, что 4e4th-IDE нормально работает в Ubuntu
при соединении через USB-COM переходник (СH341)

P.S. Сначала коннектил через терминал
Код:
picocom -b 9600 /dev/ttyUSB0$n --imap lfcrlf,crcrlf --omap delbs,cr --send-cmd "ascii-xfr -s -l 50 -n"

предварительно включив /dev/ttyUSB0
Код:
sudo usermod -a -G dialout `whoami`

и перелогинившись т.к. обычно читать и писать на устройство /dev/ttyUSB0 имеет пользователь root и пользователи группы dialout

Автор:  KPG [ Вт июн 30, 2020 04:36 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

MecrispCube - Mecrisp-Stellaris Forth for the STM32 Cube ecosystem.

Mecrisp-Cube on Github

Автор:  Sotnik [ Пн фев 08, 2021 16:05 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

KPG писал(а):

Пришёл черёд использовать ARM. Сначала посмотрел в сторону Си.

Взял мастер-класс у коллеги Си-шника, с 15-летним стажем.
Просидел рядом с ним, глядя как он 7 часов (!!!) запускает датчик температуры и индикацию в новом изделии...
Он старался, высунув руки через одно место, и беспрерывно компиля бесконечные библиотеки HAL,
борясь с глюками, ошибками, и склеивая со здравым смыслом неизвестно что и кем написанное... :-/
Я получал подробные коменты о происходящем, и потиху офигевал...
Си + HAL - это издевательство над программированием и человеческим разумом... :(

Там наколбасили столько всего полезного+бесполезное, что это стало кашей.
У Форта разительный выигрыш в сравнении с Си + HAL.
Сразу скажу - это для моих несложных задач, от которых AVR уже стал давиться.

ХОРОШО ЧТО Я НАЧИНАЛ ПРОГРАМИТЬ С ASM и FORTH!!!
Что такое форт, он так и не смог понять - его разум испорчен Си окончательно.

Куда катится этот мир! :)

А тут чувак продвинул свой форт с 2013 года очень сильно.
Тема не заглохла, что свойственна всем форт-начинаниям, и активно поддерживается!
Без проблем запустился http://www.mecrisp-stellaris-folkdoc.so ... index.html на камне STM32F103C8T6.
Прописал через ST-Link ядро mecrisp-stellaris-stm32f103.bin, подключился к терминалу через A9 и A10.
С интересом порылся в потрохах камня и форта, разобрался с идеологией mecrisp.

Идеология mecrisp-stellaris - хочу тут об этом поспрашивать реальных пользователей.
Есть тут такие?
Оптимизатор - выкинуть имена, что значительно сократит программу на последней стадии.
Компилить, и быстро заливать во flash/sram, т. к. неудобно постоянно сидеть в терминале.

Автор:  KPG [ Пн фев 08, 2021 18:37 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

Sotnik писал(а):
Идеология mecrisp-stellaris - хочу тут об этом поспрашивать реальных пользователей.
Есть тут такие?

Думаю да, откликнутся. :)

Sotnik писал(а):
Оптимизатор - выкинуть имена, что значительно сократит программу на последней стадии.
Компилить, и быстро заливать во flash/sram, т. к. неудобно постоянно сидеть в терминале.

Не знаю, как в целом это реализовано в Mecrisp-Stellaris, но в VFX Forth есть режим с кросс компиляцией, помимо StandAlone (автономного), но поддержку произволного кристалла может потребоваться добавлять самостоятельно, что впрочем, не особо сложно. (и не знаю (не помню) - есть ли там режим выкидывания неиспользуемого кода и имён в результирующем коде)

VFX Forth for Cortex and MSP430
VFX Forth Community editions.

P.S. А, так стандартно, Форт льётся через разные терминалки и использовании слова MARKER
Как ещё один вариант e4thcom - A Terminal for Embedded Forth Systems
Можно, наверное и как вариант организовать свой протокол заливки поверх стандартного терминала.
(или, что используется чаще, как в Ардуино варианте)

Автор:  Hishnik [ Вт фев 09, 2021 14:57 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

Тут есть две стороны вопроса. Во-первых, сами алгоритмы никуда не деваются. Если в МК что-то включается определенным образом, то хоть на ассемблере, хоть на С, хоть на Форте это нужно сделать в правильном порядке. Если брать большие серии МК, то там HAL может быть довольно сложным именно из-за обеспечения поддержки всей серии. А во-вторых идет именно Форт с его характерными вещами.
Недавно тут упоминался AFS. Там нечто схожее - попытка повторить на Форте функциональность библиотек, написанных ранее на С. Повторили. Получилось 1) для определенных моделей МК, а для других надо опять погружаться в документацию 2) функциональность от того же С, только "все на Форте". Ожидаемо не выстрелило, оставшись внутренней разработкой. Поэтому нужно смотреть, что из перечисленного нужно:
1) Универсальная ВМ для переноса текстов с ПК на МК.
2) Компактный код на основе ШК для экономии памяти.
3) Терминал с интерактивным режимом.
4) Поддержка уникальных функций (каких?)
5) ...
И если ничего из 1-5 (включая п.5 как содержащий нечто "авторское") не нужно, то Форт на МК станет просто плюсиком в хорошее настроение фортера, но затратами времени. Если алгоритм не получается на С, откат к написанию Форта получится просто разгоном, после которого придется все равно решать ту же задачу, но уже на Форте.

Автор:  Total Vacuum [ Вт фев 09, 2021 16:09 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

Sotnik писал(а):
Взял мастер-класс у коллеги Си-шника, с 15-летним стажем.
Просидел рядом с ним, глядя как он 7 часов (!!!) запускает датчик температуры


Вообще-то, если речь о новом изделии и ранее незнакомом микроконтроллере, то 7 часов - это вполне себе достойный результат... :D
Например, в том же STM32F103RBT6, чтобы запустить тот же ADC, недостаточно поставить гипотетическую единичку в бите "включить АЦП" соответствующего гипотетического регистра. Надо включить ADC в RCC и там же выбрать источник и делитель тактовых сигналов для АЦП, а еще указать ноги GPIO, которые будут работать в режиме ADC, ну и собственно настроить сам ADC. Но это самый простой случай, когда не нужны прерывания и DMA, иначе пришлось бы еще настраивать NVIC, окучивать DMA, писать обработчики прерываний и т.д. и т.п... Обычно этап знакомства с микроконтроллером оказывается достаточно продолжительным, но зато потом, когда все препятствия устранены, все идет по накатанной колее... Недаром говорят, что у нас на Руси медленно запрягают, но быстро ездят... :D

Автор:  KPG [ Вт фев 09, 2021 20:44 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

Sorry, offtopic

А, тем временем,журнал Радио публикуeт такой проект. http://criss.fun/?RYO5c0ablgw%3D
(и это не Форт компьютер :)
Код:
Это эмулятор СР/М Z80 компьютера на базе AtMega1284P, 2-ух atMega328 и одной aTiny13 + некоторая логика, память и электронные элементы.
(ПЗУ 128Kb i2c, ОЗУ статика 64Kb), часы реального времени, PS/2, Uart, Ethernet, SD, GPIO 128 линий, Динамик, синтезатор мелодий

Монохром 640х480 VGA (25x80 символов)
Цвет (???) 160x96

Доступ к ОЗУ без аппаратной защёлки через порты контроллера в целях упрощения разводки (???)
(3-и порта MK)


P.S. ... Даже не знаю, радоваться этому факту или печалиться.
За автора, конечно рад, что он осуществил свою детскую мечту, но аппаратно как то реализованное решение не впечатлило.
Кто целевая аудитория этого проекта? (не только же, наверное, редакционная коллегия журнала Радио для публикации серии статей)

Автор:  Sotnik [ Вт фев 09, 2021 23:59 ]
Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M

KPG писал(а):
Спасибо, есть что посмотреть. Запустил, пробую. :)

Страница 2 из 7 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/