Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пн сен 24, 2018 15:22

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 160 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11
Автор Сообщение
 Заголовок сообщения: Re: Применение Форта для ARM, AVR, MSP430, PIC ...
СообщениеДобавлено: Ср мар 07, 2018 23:17 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 884
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
на github опубликован AmrForth v7
AmrForth v7

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Применение Форта для ARM, AVR, MSP430, PIC ...
СообщениеДобавлено: Вс мар 18, 2018 20:05 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 884
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
Статья про дизайн универсального и простого ассемблера для ARM.
Gang-Jeng Huang and Shiuh-Ku Weng 2014
The Implementation of Simplified Universal Assembler in Forth Assembly Language.pdf

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Применение Форта для ARM, AVR, MSP430, PIC ...
СообщениеДобавлено: Вт мар 27, 2018 16:31 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 884
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
Начало Mecrisp Forth
19 Nov 2017, 22:44


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Применение Форта для ARM, AVR, MSP430, PIC ...
СообщениеДобавлено: Вс июн 17, 2018 06:32 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 884
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
Интерпретатор языка forth на C для линейки микроконтроллеров stm32F4
Код:
Интерпретатор языка forth на C для линейки микроконтроллеров stm32F4

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

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

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Применение Форта для ARM, AVR, MSP430, PIC ...
СообщениеДобавлено: Пн июл 09, 2018 07:54 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 223
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
В вялотекущем режиме продолжаю колупать 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.

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


Последний раз редактировалось chu Ср июл 11, 2018 07:51, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Применение Форта для ARM, AVR, MSP430, PIC ...
СообщениеДобавлено: Пн июл 09, 2018 12:43 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 316
Откуда: СПб
Благодарил (а): 10 раз.
Поблагодарили: 4 раз.
chu писал(а):
В вялотекущем режиме продолжаю колупать mecrisp на stm32f103 bluepill .
Попалось ВРЕМЯ ВЫПОЛНЕНИЯ КОДА STM32 .
Вдохновился.
Полистав DDI0403D_arm_architecture_v7m_reference_manual.pdf
через пару дней выдал результат
......

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Применение Форта для ARM, AVR, MSP430, PIC ...
СообщениеДобавлено: Пн июл 09, 2018 16:35 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 223
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Ilya писал(а):
А мультитаск в сочетании с прерываниями ещё не пробовали ?

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Применение Форта для ARM, AVR, MSP430, PIC ...
СообщениеДобавлено: Чт авг 16, 2018 14:42 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 884
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
От 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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Применение Форта для ARM, AVR, MSP430, PIC ...
СообщениеДобавлено: Сб сен 08, 2018 14:13 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 884
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
Dmitry Ponyatov интерактивная/программируемая консоль для встраиваемых устройств на базе МК STM32
Виртуализованный Унифицированный Командный Интерфейс (ВУКИ)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Применение Форта для ARM, AVR, MSP430, PIC ...
СообщениеДобавлено: Ср сен 12, 2018 17:39 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 884
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
Новый топик с Форт-подфорума (от Balancer -а)
Мысли по Forth-библиотеке под Arduino-совместимые платы


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 160 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11

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


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

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


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

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