Forth
http://fforum.winglion.ru/

Применение Форта для ARM, AVR, MSP430, PIC ...
http://fforum.winglion.ru/viewtopic.php?f=39&t=9
Страница 11 из 17

Автор:  KPG [ Ср мар 07, 2018 23:17 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

на github опубликован AmrForth v7
AmrForth v7

P.S. В репозитории данного разработчика есть и другие Форт проекты.
Найдено в обновленных данных из ForthStar

Автор:  KPG [ Вс мар 18, 2018 20:05 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

Статья про дизайн универсального и простого ассемблера для ARM.
Gang-Jeng Huang and Shiuh-Ku Weng 2014
The Implementation of Simplified Universal Assembler in Forth Assembly Language.pdf

P.S. Чем то похож на обсуждавшийся "компилирующий ассемблер" от chess на местном форуме
и ассемблер для AVR в Алгоритм Билдере :)

Автор:  KPG [ Вт мар 27, 2018 16:31 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

Начало Mecrisp Forth
19 Nov 2017, 22:44

Автор:  KPG [ Вс июн 17, 2018 06:32 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

Интерпретатор языка forth на C для линейки микроконтроллеров stm32F4
Код:
Интерпретатор языка forth на C для линейки микроконтроллеров stm32F4

Интерпретатор позволяет пользователям обрабатывать целочисленные данные, помещенные на стек forth.
Проект был сгенерирован с помощью STM32CubeMX для среды EWARM, в которой и разрабатывался.
В данный момент используется демонстрационная версия языка, в которой ввод осуществляется пользователем через консоль отладчика IDE. Для того, чтобы воспользоваться вводом программы из файла или иного места, достаточно:

    Переопределить стандартную функцию getchar своей.
    Заменить использование функции scanf в слове read_word любой другой функцией, принимающей указатель на char и записывающей по этому адресу нуль-терминированную строку (Не рекомендуется).

#Компиляция и запуск
В данный момент проект сконфигурирован для использования с платой Nucleo-STM32F429.
Для того, чтобы перенести его на другие устройства нужно:

    Отконфигурировать переферию любым удобным способом (Вручную, с помощью CubeMx, или воспользоваться шаблоном).
    Переопределить константы из файла main.h. В данный момент они выделяют 64КБ SRAM с конца оперативной памяти.

Автор:  chu [ Пн июл 09, 2018 07:54 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

В вялотекущем режиме продолжаю колупать mecrisp на stm32f103 bluepill .
Попалось ВРЕМЯ ВЫПОЛНЕНИЯ КОДА STM32 .
Вдохновился.
Полистав DDI0403D_arm_architecture_v7m_reference_manual.pdf
через пару дней выдал результат
Код:
\
\ chu 20:17 07.07.2018
\
\ вдохновился тут
\ https://hubstub.ru/stm32/82-vremya-vipolneniya-koda-stm32.html
\

  $E0001004 constant DWT_CYCCNT   
  $E0001000 constant DWT_CONTROL   
  $E000EDFC constant SCB_DEMCR

\
   : #bits    ( #h #l -- #mask )
      0  rot                   ( #l 0  #h )
      1+ rot                   ( 0 #h+ #l )
     dup >r do shl %1 or loop  ( #   | r: #l )   
      r>  0 do shl       loop  ( #mask )
     immediate
     0-foldable
     ;
\
               \   TRCENA
   : dwt-enable?  ( -- f )  #24 bit scb_demcr bit@ ;
   : dwt-enable+            #24 bit scb_demcr bis! ;
   : dwt-enable-            #24 bit scb_demcr bic! ;
\
                \ CYCCNTENA
   : cyc-counter? ( -- f )  #0  bit dwt_control bit@ ;
   : cyc-counter+           #0  bit dwt_control bis! ;
   : cyc-counter-           #0  bit dwt_control bic! ;
\
   : ?cyc-counter ( -- f )    \ check if cycle counter enabled
     dwt_control @ dup
     #31 #28 #bits ( NUMCOMP  ) and 0= 0= swap
         #25  bit  ( NOCYCCNT ) and 0= and
     ;
\
   : count-ticks ( x ... 'addr -- #ticks )

     dwt-enable?  0= if
     dwt-enable+   then \ enable DWT

     ?cyc-counter 0= if
      cr ." no comparator support or cycle counter not supported" exit
                   then

     cyc-counter-       \ выключить счетчик
     0 dwt_cyccnt !     \ обнулить  счетчик
     cyc-counter+       \ включить  счетчик
     execute
     cyc-counter-       \ выключить счетчик
     dwt_cyccnt @       \ прочесть  счетчик
     ;
\
\   chu 14:49 08.07.2018
\   chu 12:52 10.07.2018

Код:
reset Mecrisp-Stellaris 2.4.4 for STM32F103 by Matthias Koch
usb>
  ok.
?mem.
flash> : 00006800     free : 38912 bytes (9728 cells )
ram>   : 20000330
compile to ram
  ok.

count-ticks.fs
Код:
?mem.
flash> : 00006800     free : 38912 bytes (9728 cells )
ram>   : 200005E4
compile to ram
ok.
$5e4 $330 - . 692  ok.

работает!
Код:
  ok.
: cyc-loop 0 ?do loop ;  ok.
1 ' cyc-loop count-ticks . 67  ok.
2 ' cyc-loop count-ticks . 73  ok.
10 ' cyc-loop count-ticks . 121  ok.
0 ' cyc-loop count-ticks . 65  ok.
' nop count-ticks . 46  ok.
0 ' dup count-ticks . 49  ok.
' 1+ count-ticks . 46  ok.
' swap count-ticks . 49  ok.
' over count-ticks . 47  ok.
' rot count-ticks . 52  ok.
' drop count-ticks . 46  ok.
' + count-ticks . 46  ok.
' drop count-ticks . 46  ok.

вот такия циклопы с кон-тиками... :)
ЗЫ. отредактировал. код причесал и приукрасил.

Автор:  Ilya [ Пн июл 09, 2018 12:43 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

chu писал(а):
В вялотекущем режиме продолжаю колупать mecrisp на stm32f103 bluepill .
Попалось ВРЕМЯ ВЫПОЛНЕНИЯ КОДА STM32 .
Вдохновился.
Полистав DDI0403D_arm_architecture_v7m_reference_manual.pdf
через пару дней выдал результат
......

Познавательно!
А мультитаск в сочетании с прерываниями ещё не пробовали ?

Автор:  chu [ Пн июл 09, 2018 16:35 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

Ilya писал(а):
А мультитаск в сочетании с прерываниями ещё не пробовали ?

нет ещё, ибо
chu писал(а):
В вялотекущем режиме...

Автор:  KPG [ Чт авг 16, 2018 14:42 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

От mak4444
stm32f105MultiAdapter
Код:
Проверялось на Linux/64
Для независимости от платформы в для целевой компиляции использовалась виртуальная форт машина на СИ.

Контроллер stm32f105 (thumb2)
Для отладчика создается промежуточное ассемблерные представление
(файлы с суффиксом _AL) из исходнного кода на Форте (see SRC/).
Применяется инлайн подстановка с оптимизацией MetaCortex/SRC/macroopt.f
Переменная TMM_SIZE содержит максимальный размер инлайн подстановки.
TSET-OPT — включить оптимизацию
TDIS-OPT — отключить оптимизацию
Слова для словаря прописываются в отдельном файле Wortbirne.s

Далее собирается с помощью arm-none-eabi-gcc.
Под Eclipse можно отлаживать.
Взаимодействие с пользователем осуществляется посредством USB (VT100).
Сначала появляется меню выбора режима работы.
Пункт "FORTH (original)" — запуск Форт системы с изначальным состоянием переменных.

Работает компиляция в ОЗУ.
Для сохранения образа ОЗУ используется команда SAVE.
Пункт меню "FORTH (rest)" при старте — запуск Форт системы с восстановлением образа ОЗУ.

Пункт меню "CAN" — запуск CAN адаптера (lscan).

Проект на Github

Автор:  KPG [ Сб сен 08, 2018 14:13 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

Dmitry Ponyatov интерактивная/программируемая консоль для встраиваемых устройств на базе МК STM32
Виртуализованный Унифицированный Командный Интерфейс (ВУКИ)

P.S. И какие то ещё проекты есть в репозитории связанные с Форт тематикой.

Автор:  KPG [ Ср сен 12, 2018 17:39 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

Новый топик с Форт-подфорума (от Balancer -а)
Мысли по Forth-библиотеке под Arduino-совместимые платы

Автор:  KPG [ Пн окт 01, 2018 16:59 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

Книга в формате PDF.
Georg Heinrichs "The ATTINY Project 2018"

P.S. C mirknig.su (раздел Аппаратура)

Автор:  KPG [ Ср окт 10, 2018 12:51 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

Chen-HansonTing "The Arduino Controlled By E Forth"

P.S. С того же ресурса.

Автор:  Ilya [ Сб ноя 10, 2018 21:27 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

Хозяйке на заметку - RTFM уж наконец! :D
Летом смонтировал свою "систему" на объекте и начал лениво отлаживать ПО (Mecrisp Forth на ST32F407), но тут наступила осень, а основной смысл "системы" - управление отоплением в загородном доме.
И вот вроде отловил почти все баги и вообще вылизал как у кота яй..а, но спрадический падёж продолжился. :( Бился, бился - толку 0.
И тут я решил RTFM и KNOWN-ISSUES в частности и что я там вижу - "запиши 1 в регистр N и будет вам счастье".
Собственно что я и сделал и получил нирвану! :D
RTFM!

Автор:  KPG [ Чт ноя 22, 2018 20:20 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

alternative-languages-for-programming-SAMD-boards

P.S. Introducing the Cult of the Bound Variable to the Cult of Forth

Автор:  KPG [ Чт дек 06, 2018 22:20 ]
Заголовок сообщения:  Re: Применение Форта для ARM, AVR, MSP430, PIC ...

В платe Pololu Maestro Servo (PIC18F4550) в качестве скриптового языка применён Forth.
maestro.pdf

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