Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
В платe Pololu Maestro Servo (PIC18F4550) в качестве скриптового языка применён Forth. maestro.pdf
В платe Pololu Maestro Servo (PIC18F4550) в качестве скриптового языка применён Forth. [url=https://www.pololu.com/docs/pdf/0J40/maestro.pdf]maestro.pdf[/url]
|
|
|
 |
Добавлено: Чт дек 06, 2018 22:20 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
[url=https://learn.adafruit.com/alternative-languages-for-programming-SAMD-boards/forth]alternative-languages-for-programming-SAMD-boards[/url]
P.S. [url=https://blogs.msdn.microsoft.com/ashleyf/2012/01/07/introducing-the-cult-of-the-bound-variable-to-the-cult-of-forth/]Introducing the Cult of the Bound Variable to the Cult of Forth[/url]
|
|
|
 |
Добавлено: Чт ноя 22, 2018 20:20 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
Хозяйке на заметку - RTFM уж наконец! Летом смонтировал свою "систему" на объекте и начал лениво отлаживать ПО (Mecrisp Forth на ST32F407), но тут наступила осень, а основной смысл "системы" - управление отоплением в загородном доме. И вот вроде отловил почти все баги и вообще вылизал как у кота яй..а, но спрадический падёж продолжился.  Бился, бился - толку 0. И тут я решил RTFM и KNOWN-ISSUES в частности и что я там вижу - "запиши 1 в регистр N и будет вам счастье". Собственно что я и сделал и получил нирвану! RTFM!
Хозяйке на заметку - RTFM уж наконец! :D Летом смонтировал свою "систему" на объекте и начал лениво отлаживать ПО (Mecrisp Forth на ST32F407), но тут наступила осень, а основной смысл "системы" - управление отоплением в загородном доме. И вот вроде отловил почти все баги и вообще вылизал как у кота яй..а, но спрадический падёж продолжился. :( Бился, бился - толку 0. И тут я решил RTFM и KNOWN-ISSUES в частности и что я там вижу - "запиши 1 в регистр N и будет вам счастье". Собственно что я и сделал и получил нирвану! :D RTFM!
|
|
|
 |
Добавлено: Сб ноя 10, 2018 21:27 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
[url=https://archive.org/details/TheArduinoControlledByEForth]Chen-HansonTing "The Arduino Controlled By E Forth"[/url]
P.S. С того же ресурса.
|
|
|
 |
Добавлено: Ср окт 10, 2018 12:51 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
Книга в формате PDF. [url=https://archive.org/details/TheATTINYProject2018/page/n0]Georg Heinrichs "The ATTINY Project 2018"[/url]
P.S. C [url=http://mirknig.su/]mirknig.su[/url] (раздел Аппаратура)
|
|
|
 |
Добавлено: Пн окт 01, 2018 16:59 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
Новый топик с Форт-подфорума (от Balancer -а) [url=http://www.wrk.ru/tech/forum/2018/09/t104893--mysli-po-forth-biblioteke-pod-arduino-sovmestimye-platy.8165.html]Мысли по Forth-библиотеке под Arduino-совместимые платы[/url]
|
|
|
 |
Добавлено: Ср сен 12, 2018 17:39 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
Dmitry Ponyatov интерактивная/программируемая консоль для встраиваемых устройств на базе МК STM32 Виртуализованный Унифицированный Командный Интерфейс (ВУКИ)P.S. И какие то ещё проекты есть в репозитории связанные с Форт тематикой.
Dmitry Ponyatov интерактивная/программируемая консоль для встраиваемых устройств на базе МК STM32 [url=https://github.com/ponyatov/STM32FORTH]Виртуализованный Унифицированный Командный Интерфейс (ВУКИ)[/url]
P.S. И какие то ещё проекты есть в репозитории связанные с Форт тематикой.
|
|
|
 |
Добавлено: Сб сен 08, 2018 14:13 |
|
|
 |
|
|
Заголовок сообщения: |
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
От mak4444 [url=http://www.forth.org.ru/news/stm32f105MultiAdapter#0]stm32f105MultiAdapter[/url] [code] Проверялось на 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). [/code] [url=https://github.com/mak4444/stm32f105MultiAdapter]Проект на Github[/url]
|
|
|
 |
Добавлено: Чт авг 16, 2018 14:42 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
Ilya писал(а): А мультитаск в сочетании с прерываниями ещё не пробовали ? нет ещё, ибо chu писал(а): В вялотекущем режиме...
[quote="Ilya"]А мультитаск в сочетании с прерываниями ещё не пробовали ?[/quote] нет ещё, ибо [quote="chu"]В вялотекущем режиме... [/quote]
|
|
|
 |
Добавлено: Пн июл 09, 2018 16:35 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
chu писал(а): В вялотекущем режиме продолжаю колупать mecrisp на stm32f103 bluepill . Попалось ВРЕМЯ ВЫПОЛНЕНИЯ КОДА STM32 . Вдохновился. Полистав DDI0403D_arm_architecture_v7m_reference_manual.pdf через пару дней выдал результат ...... Познавательно! А мультитаск в сочетании с прерываниями ещё не пробовали ?
[quote="chu"]В вялотекущем режиме продолжаю колупать [url=http://mecrisp.sourceforge.net/][b]mecrisp[/b][/url] на [url=http://wiki.stm32duino.com/index.php?title=Blue_Pill][b]stm32f103 bluepill[/b][/url] . Попалось [url=https://hubstub.ru/stm32/82-vremya-vipolneniya-koda-stm32.html]ВРЕМЯ ВЫПОЛНЕНИЯ КОДА STM32[/url] . Вдохновился. Полистав [u]DDI0403D[/u]_arm_architecture_v7m_reference_manual.pdf через пару дней выдал результат ...... [/quote] Познавательно! А мультитаск в сочетании с прерываниями ещё не пробовали ?
|
|
|
 |
Добавлено: Пн июл 09, 2018 12:43 |
|
|
 |
|
|
Заголовок сообщения: |
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.
вот такия циклопы с кон-тиками...  ЗЫ. отредактировал. код причесал и приукрасил.
В вялотекущем режиме продолжаю колупать [url=http://mecrisp.sourceforge.net/][b]mecrisp[/b][/url] на [url=http://wiki.stm32duino.com/index.php?title=Blue_Pill][b]stm32f103 bluepill[/b][/url] . Попалось [url=https://hubstub.ru/stm32/82-vremya-vipolneniya-koda-stm32.html]ВРЕМЯ ВЫПОЛНЕНИЯ КОДА STM32[/url] . Вдохновился. Полистав [u]DDI0403D[/u]_arm_architecture_v7m_reference_manual.pdf через пару дней выдал результат [code] \ \ 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 [/code] [code] 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.[/code] [b]count-ticks.fs[/b] [code] ?mem. flash> : 00006800 free : 38912 bytes (9728 cells ) ram> : 200005E4 compile to ram ok. $5e4 $330 - . 692 ok. [/code] работает! [code] 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. [/code] вот такия циклопы с кон-тиками... :) ЗЫ. отредактировал. код причесал и приукрасил.
|
|
|
 |
Добавлено: Пн июл 09, 2018 07:54 |
|
|
 |
|
|
Заголовок сообщения: |
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 с конца оперативной памяти.
[url=https://github.com/oshnix/embedded_forth]Интерпретатор языка forth на C для линейки микроконтроллеров stm32F4[/url] [code] Интерпретатор языка forth на C для линейки микроконтроллеров stm32F4
Интерпретатор позволяет пользователям обрабатывать целочисленные данные, помещенные на стек forth. Проект был сгенерирован с помощью STM32CubeMX для среды EWARM, в которой и разрабатывался. В данный момент используется демонстрационная версия языка, в которой ввод осуществляется пользователем через консоль отладчика IDE. Для того, чтобы воспользоваться вводом программы из файла или иного места, достаточно:
Переопределить стандартную функцию getchar своей. Заменить использование функции scanf в слове read_word любой другой функцией, принимающей указатель на char и записывающей по этому адресу нуль-терминированную строку (Не рекомендуется).
#Компиляция и запуск В данный момент проект сконфигурирован для использования с платой Nucleo-STM32F429. Для того, чтобы перенести его на другие устройства нужно:
Отконфигурировать переферию любым удобным способом (Вручную, с помощью CubeMx, или воспользоваться шаблоном). Переопределить константы из файла main.h. В данный момент они выделяют 64КБ SRAM с конца оперативной памяти. [/code]
|
|
|
 |
Добавлено: Вс июн 17, 2018 06:32 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
[url=https://tuxotronic.org/post/mecrisp-forth/]Начало Mecrisp Forth[/url] 19 Nov 2017, 22:44
|
|
|
 |
Добавлено: Вт мар 27, 2018 16:31 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
Статья про дизайн универсального и простого ассемблера для ARM. Gang-Jeng Huang and Shiuh-Ku Weng 2014 The Implementation of Simplified Universal Assembler in Forth Assembly Language.pdfP.S. Чем то похож на обсуждавшийся "компилирующий ассемблер" от chess на местном форуме и ассемблер для AVR в Алгоритм Билдере 
Статья про дизайн универсального и простого ассемблера для ARM. Gang-Jeng Huang and Shiuh-Ku Weng 2014 [url=http://www.ijsps.com/uploadfile/2014/0523/20140523103301859.pdf]The Implementation of Simplified Universal Assembler in Forth Assembly Language.pdf[/url]
P.S. Чем то похож на обсуждавшийся "компилирующий ассемблер" от chess на местном форуме и ассемблер для AVR в Алгоритм Билдере :)
|
|
|
 |
Добавлено: Вс мар 18, 2018 20:05 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
на github опубликован AmrForth v7 AmrForth v7P.S. В репозитории данного разработчика есть и другие Форт проекты. Найдено в обновленных данных из ForthStar
на github опубликован AmrForth v7 [url=https://github.com/wa1tnr/amrforth-v7-F330]AmrForth v7[/url]
P.S. В репозитории данного разработчика есть и другие Форт проекты. Найдено в обновленных данных из [url=https://github.com/ForthStar?tab=stars]ForthStar[/url]
|
|
|
 |
Добавлено: Ср мар 07, 2018 23:17 |
|
|
 |