Forth
http://fforum.winglion.ru/

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

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

Ilya писал(а):
Привет! Ты не пробовал работать с SD/MMC картами через SPI?

Если вопрос ко мне, то нет не пробовал.
P.S. Может поможет в чём то byvac forth lib или ещё кто что ответит :)
P.P.S, Тоже интересная разработка, но уже Forth including Tachyon for Propeller chip

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

KPG писал(а):
Ilya писал(а):
Привет! Ты не пробовал работать с SD/MMC картами через SPI?

Если вопрос ко мне, то нет не пробовал.
P.S. Может поможет в чём то byvac forth lib или ещё кто что ответит :)
P.P.S, Тоже интересная разработка, но уже Forth including Tachyon for Propeller chip

Данкишён! :D Пороюсь.

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

Мдя!
Или у меня руки не из того места растут или .... изначально отформатировал карту в Винде (для "чистоты" эксперимента) и получил загрузочный сектор не по букварю. :dmad; . Переформатировал в Линухе и вуаля! :D

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

Привет!
Ты пробовал внешние прерывания?
Просто возникла проблема! :( При отладке в режиме (compiletoRAM) - всё нормально, а при записи во Flash начинается полный попец (бесконечный вызов обработчика прерывания). Методом "научного тыка" удалось установить, что если после строчки ... EXTI_PR bis! выполнить любой код ( cr ." some code" || var @ drop || nop nop, ...), то нормализуется!
Может свежим взглядом посмотришь?

Код:
\ stm32lf411
\ tft-touch.fs
\ Ilya Abdrahimov ilya73@inbox.ru
\ Controller: ADS7843/TSC2046
\ Touch_CLK -- PA13
\ Touch_CS -- PA14
\ Touch_DIN -- PA15
\ Touch_DOUT -- PA11
\ Touch_IRQ -- PD2

\ compiletoflash
1 13 lshift constant T_CLK \
1 14 lshift constant T_CS \
1 15 lshift constant T_DIN \
1 11 lshift constant T_DOUT \
1 2  lshift constant T_IRQ \

: gpioa-low ( n -- ) 16 lshift GPIOA_BSRR bis! ;
: gpioa-high ( n -- ) GPIOA_BSRR bis! ;

\ There are touch ?
0 variable touch?
0 variable touch_x
0 variable touch_y

\ Посылаем байт в индикатор
\ Submitting byte indicator
: wr-touch ( c -- )
8 0 do
T_CLK gpioa-high 1 us
dup i lshift $80 and
   if T_DIN gpioa-high
   else T_DIN gpioa-low
   then
T_CLK gpioa-low  1 us
loop
drop
;

\ Принимаем данные (12 бит) из индикатора
\ Receiving data (12 bits) from the indicator
: rd-touch ( -- n )
0
12 0 do
   T_CLK gpioa-high 1 us
   1 lshift
   T_DOUT gpioa $10 + bit@ if  1 or then
   T_CLK gpioa-low  1 us
loop
;

: _read-touch ( c -- n )
T_CS gpioa-low
wr-touch
5 ms
rd-touch
T_CS gpioa-high
;

: _get-touch-xy ( -- x y z )
$98 _read-touch   \ читаем x
$d8 _read-touch \ читаем y
$b8 _read-touch   \ z1
;

: init-touch-gpio
$ff000000 gpioa bic!
$54000000 gpioa bis!
\ 1 T_IRQ 2* lshift gpiod $c + bis! \ T_IRQ pull-up
\ gpioa_afrl @ $ffffff0f and gpioa_afrl !
;

: scale-x
970 - 399 * 40 970 - /
;

: scale-y
95 - 239 * 956 95 - /
;

: irq-touch
_get-touch-xy 0 > if scale-y touch_y ! scale-x touch_x ! true touch? ! else 2drop false touch? ! then
4 EXTI_PR bis!
nop nop   \  Here it helped !?
;

: get-touch-xy touch_x @ touch_y @ false touch? ! ;

: init-touch
['] irq-touch irq-exti2 !
init-touch-gpio
1 14 lshift RCC_APB2ENR bis!    \ Syscfg enable
%0011 8 lshift SYSCFG_EXTICR1 bis!   \ EXTI2
1 2 lshift EXTI_FTSR bis!   \ прерывание по спаду
1 2 lshift EXTI_RTSR bic!   \ прерывание по спаду
8 nvic-enable      \ EXTI2

T_CS gpioa-low
T_CLK gpioa-high
T_CLK gpioa-low
\ $d8 wr-touch
1 2 lshift EXTI_IMR bis!   \ EXTI2 enable
;
compiletoram
\ : lcd-ud.r ( n1 n -- ) >r n>s r> over - 0 ?do #32 lcd-emit loop lcd-type ;
\ Sample
\ : .xy
\ get-touch-xy ( 2dup)  pixel
\ 3 3 setxy swap 3 lcd-ud.r 32 lcd-emit 3 lcd-ud.r
\ ;
\ : .xy get-touch-xy ( 2dup pixel) cr swap ." x=" . ." y=" . ;

\ 10 variable per
\ : test
\ lcd-init clrscn green fgcolor !
\ init-touch
\ cr ." start"
\ begin
   \ per @  ms
\   touch? @ if .xy then
\ key?
\ until
\ ;


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

Просматривая GitHub по ключеавому слову Forth :)
увидел и такой проект ассемблера для AVR с возможностью заливки файлов.

P.S. У автора обозначен такой список хотелок (в большей степени не реализованный)
Код:
ввод-вывод hex-файлов - 11.01.2010 ок
дизассемблер AVR - 12.02.2010 ок 7.03.2010 ок
ассемблер AVR - 2.04.2010 ок 17.04.2010 ок
битовые слова - 1.08.2010-12.08.2010 ок 28.08.2010 ок
сборные слова - 12.08.2010 -30.08.2010
программатор - 30.12.2010 ок
xMega -
USB программатор -
отладчик -
мультизадачность -
----------------------   DC-AC,дизель ----------
симулятор -
forth8 -
оптимизатор+сборщик мусора -
forth16 -
GUI -
IDE -
helper -
языки -

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

Проект замены сегментного индикатора на мультиметре Fluke 8050A на LCD 320x240 на STM32F103

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

KPG писал(а):
Просматривая GitHub по ключеавому слову Forth :)
увидел и такой проект ассемблера для AVR с возможностью заливки файлов.

Эта же новость на wiku сайте forth.org.ru c комментариями от автора.

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

Ещё Forth для PIC
21.12.2016

P.S. Из резюме преподавателя ГБПОУ МГОК, Москва
Код:
1. Для использования в коммерческих проектах и работы со студентами реализован язык программирования форт (forth) для микроконтроллеров серии PIC18F. Ядро форт-системы выполнено на ассемблере, концептуально выдержано, масштабируемо под любые задачи. Схемы, описания, примеры, доступны по ссылке:

http://tesla.zabotavdome.ru/forth.html

Программно-аппаратный комплекс Форт позволяет выполнять подключение к конечному устройству с консоли по rs232, производить финальное программирование, устанавливать глобальные параметры, контролировать работу готового изделия в реальном времени и передавать сведения о состоянии устройств по сети на узел управления. Память программ энергонезависима, все новые форт-команды и определения, введённые с консоли, доступны для исполнения после выключения устройства.
...

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

x4th is a Forth like cross compiler running under Windows targeting Microchip PIC processors. x4th compiles Forth sources into an assembly file, not directly into target code.
Last page update : 2011-11-05

Код:
Directly supported processors for the current package are :
    18c242
    18c252
    18c442
    18c452

   18f242
    18f252
    18f442
    18f452

    18f6527
    18f6622
    18f6627
    18f6722

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

Статья Forth: The Hacker’s Language
by: Elliot Williams
January 27, 2017

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

Какой то Форт ресурс и с примерами на amForth и графикой через терминал (forth-sixel)
http://hub.darcs.net/pointfree

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

Domini's blog

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

STM8 eForth Programming
STM8S Value Line Gadgets

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

Небольшое демо-видно
Mecrisp Forth on STM32 Microcontroller (blue pill)

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

EnForth (вокруг инфраструктуры Ардуино)
Код:
Использование библиотек Arduino должно быть как можно более простым.
Вы должны иметь возможность купить что-то из Adafruit, обернуть его библиотеку Arduino в интерфейсе внешних функций и получить немедленный доступ к оборудованию из Forth REPL.
Вся система должна была работать на устройстве.
Это долженбыть  автономный Форт, которому требовался только последовательный терминал.


P.S. Идея данной разработки

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