Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт мар 19, 2024 11:18

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Announcing Mecrisp-Stellaris for ARM Cortex M
Автор Сообщение
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
Цитата:
Из неофициальной документации описание
Понятно. Не для всех камней. Да и в мелкие не влезет. Файл на 6663 строки.
Сообщение Добавлено: Вт май 18, 2021 00:47
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
Sotnik писал(а):
mecrisp-stellaris содержит svd2forth-v2 - что это такое?
Чёт читаю, но никак не соображу с чем едят.


Из неофициальной документации описание
Сообщение Добавлено: Пн май 17, 2021 23:37
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
mecrisp-stellaris содержит svd2forth-v2 - что это такое?
Чёт читаю, но никак не соображу с чем едят.
Сообщение Добавлено: Пн май 17, 2021 22:58
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
Sotnik писал(а):
Спасибо! Порылся в ссылках, и нашёл много полезного!

Запускал и собирал этот проект x49gp симулятора HP49 на базе QEMU под Ubuntu (на Github форки этого проекта тоже находятся)
и устанавливал и выполнял программы в нём скомпилированные на HP-GCC из топиков этого форума
(Была и мысль запустить его на железном ARM процессоре Pocket PC - Samsung S3C2410)
Для этих калькуляторов есть и экспериментальные прошивки NewRPL https://sourceforge.net/projects/newrpl/files/

P.S. Под Андроид (x49gp), вроде, на 4pda.to тоже есть.
Под Андроид можно установить и симулятор Palm девайса. :)
Сообщение Добавлено: Сб май 15, 2021 23:59
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
KPG писал(а):
Научный калькулятор Swissmicros DM42 (основа STM32L476)
P.S. Free42 есть для Android.
Спасибо! Порылся в ссылках, и нашёл много полезного!
Установил на смарт и комп - всё работает. Звонка из банка не дождался! ;)
Особенно понравилась библиотека готовых программ. https://thomasokken.com/free42/42progs/
С такой документацией, основанной на примерах, разбираться одно удовольствие!

Ещё: https://marketplace.visualstudio.com/items?itemName=JHeilingbrunner.vscode-hp42s-free42

Free42 HP-42S Calculator Simulator 3.0.2
https://free42-hp-42s-calculator-simulator.ru.uptodown.com/windows
Сообщение Добавлено: Сб май 15, 2021 22:18
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
Sotnik писал(а):
Цитата:
Научный калькулятор Swissmicros DM42 (основа STM32L476)

Труда вложено много. Как считалка - очень даже эффектная штучка!
С терминалки Форт позволит всё посчитать - слова да-а-авно определены!

Кто скажет: Эмуляция на смартфоне возможна???
И железяка помощнее, и не надо таскать доп железо.
Похоже что это внятное решение. :)

Там основная "часть" калькулятора доработанная Swissmicros версия Free42 (HP-42S Calculator Simulator)
Проект Фортa уже в частном порядке кто то сделал на базе возможностей предоставляемых SDK

P.S. Free42 есть для Android.
Сообщение Добавлено: Сб май 15, 2021 06:19
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
Цитата:
Научный калькулятор Swissmicros DM42 (основа STM32L476)

Труда вложено много. Как считалка - очень даже эффектная штучка!
С терминалки Форт позволит всё посчитать - слова да-а-авно определены!

Кто скажет: Эмуляция на смартфоне возможна???
И железяка помощнее, и не надо таскать доп железо.
Похоже что это внятное решение. :)
Сообщение Добавлено: Сб май 15, 2021 01:26
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
KPG писал(а):
15Kb неплохой показатель для полнофункционального ядра системы. :)
: Test_201234567896543 ; 32 байт
: Te ; 16 байт
: T ; 12 байт
Да я же жалуюсь не на Форт, а на дохленький камень. :)

Это F030 и F042 "плохие", а в остальных память уже фиг заполнишь.
Это если без фанатизма, а только алгоритм.
Цитата:
При хранении имён слов в формате Radix-50 можно их существенно уменьшить.
Можно. Но лучше выкидывать бы это при записи в камень.
Похоже, придётся смириться.
Цитата:
Какие то примеры для STM32F746 Discovery Kit. на mecrisp-stellaris forth-stm32f746-disco
Спасибо. Пороюсь.
Цитата:
Как Си коллега относится к использованию Forth в разрбатываемом ПО для MK?
Я указал на преимущества. Он ужасно переживает, что зря прожил жизнь... :)
Цитата:
Для научного калькулятора Swissmicros DM42 (основа STM32L476)
Труда вложено много. Как считалка - очень даже эффектная штучка!
С терминалки Форт позволит всё посчитать - слова да-а-авно определены!
Сообщение Добавлено: Вт май 11, 2021 20:51
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
Sotnik писал(а):
Специфика этого Форта: основной размер проги - имена слов.

15Kb неплохой показатель для полнофункционального ядра системы. :)
(Для Atmega 162, к примеру, что то убирал и приходил к цифре ~8Кб в amForth)

При хранении имён слов в формате Radix-50 можно их существенно уменьшить.

P.S. Если в целевом образе словаря сократить до минимума количество букв в словах, а при загрузке кода проводить преобразование имён Форт слов, то тоже некоторый выход в целях экономии флэш памяти для ядра системы.
Наверное ещё, должен быть, как вариант, и режим кросс компиляции Форт кода с убиранием всего лишнего по итогу в сделанной программе.

Какие то примеры для STM32F746 Discovery Kit. на mecrisp-stellaris forth-stm32f746-disco

Как Си коллега относится к использованию Forth в разрбатываемом ПО для MK?

Для научного калькулятора Swissmicros DM42 (основа STM32L476) тоже сделали вариант Forth
Пример Hello World для данного калькулятора для Firmware DMCP SDK
Сообщение Добавлено: Вт май 11, 2021 08:26
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
Сбацал девайс на STM32F030. 32К флеш и 4К SRAM.
Словарь/ядро Mecrisp занимает 15К.
Поизвращался, ужался, оптимизировал код - впритык моя прога влезла.
Специфика этого Форта: основной размер проги - имена слов.

Mecrisp-Stellaris хорош поддержкой большой линейки ARM.
У меня в проектах: F411, F429 Discovery, F407 Discovery, F103, F030, F042.
Уже пришёл КИТ, но ещё ждёт трепанации:
STM32H750VBT6 128K/1M 480 MHz 1MB SRAM/Flax SPI + TFT 0.96" 640x480 + OV2640 OV7725

Хочется с компа писать в ARM только код.
Что делать?
Сообщение Добавлено: Вт май 11, 2021 01:07
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
Total Vacuum писал(а):
Поздравляю... :) Правильнее, естественно, фразу
['] hndlr irq-systick !
писать внутри какого-нибудь определения (например, внутри init-delay), т.к. ['] в режиме интерпретации работать не обязано, впрочем, в mecrisp'e и так работает... :)
Так ведь "вылетов" и не было: запускался обработчик по умолчанию, адрес которого был записан в переменную irq-systick, этот обработчик и выводил "unhandled ..."

Понятно. Обработчик берёт адрес из переменной irq-systick и передаёт по этому адр управление.
Я затормозил... Смотрел на примеры из Си.

Осталось разобраться как его усыпить по Sleep, чтоб не тарахтел впустую.
У меня все слова вызываются через диспетчер по 1 ms прерыванию.
Всё под контролем. Никакая самостоятельность не допускается! :dmad;
Сообщение Добавлено: Пн апр 05, 2021 16:32
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
Поздравляю... :) Правильнее, естественно, фразу
['] hndlr irq-systick !
писать внутри какого-нибудь определения (например, внутри init-delay), т.к. ['] в режиме интерпретации работать не обязано, впрочем, в mecrisp'e и так работает... :)
Так ведь "вылетов" и не было: запускался обработчик по умолчанию, адрес которого был записан в переменную irq-systick, этот обработчик и выводил "unhandled ..."
Сообщение Добавлено: Пн апр 05, 2021 15:40
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
Total Vacuum писал(а):
Этот обработчик прерывания каких-то особенных действий при завершении не требует.
Мне остаётся по завершении слова только Sleep до прерывания.
Цитата:
Попробуйте так:
: hndlr 123 . ; \ новый обработчик
['] hndlr irq-systick !
$FFFFFF STKLOAD !
7 STKCTRL !
Вместо "Unhandled" будет выводиться 123...

Ура!!! Никаких "вылетов"! :pilot2;
Сообщение Добавлено: Пн апр 05, 2021 15:30
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
Этот обработчик прерывания каких-то особенных действий при завершении не требует.
Попробуйте так:
: hndlr 123 . ; \ новый обработчик
['] hndlr irq-systick !
$FFFFFF STKLOAD !
7 STKCTRL !
Вместо "Unhandled" будет выводиться 123...
Сообщение Добавлено: Пн апр 05, 2021 14:51
  Заголовок сообщения:  Re: Announcing Mecrisp-Stellaris for ARM Cortex M  Ответить с цитатой
$E000E010 constant NVIC_ST_CTRL_R
$E000E014 constant NVIC_ST_RELOAD_R
$E000E018 constant NVIC_ST_CURRENT_R

\ слово irq-systick ( - adr ) оставляет адрес $20004FD0 \ есть в базовом наборе
: Irq-systick ( - ) ; \ тут ваш код

Код:
: Init-Delay ( -- )       \ Start free running Systick Timer without Interrupts     Начать запуск таймера Systick без прерываний
    0           NVIC_ST_CTRL_R    !    \ Disable SysTick during setup               Отключить SysTick во время установки
    $00FFFFFF   NVIC_ST_RELOAD_R  !    \ Maximum reload value for 24 bit timer      Максимальное значение перезагрузки для 24-битного таймера
    0           NVIC_ST_CURRENT_R !    \ Any write to current clears it             Любая запись в текущий очищает его
    %111        NVIC_ST_CTRL_R    !  ; \ Enable SysTick with core clock             Включить SysTick с частотой ядра
                                       \ Enable the systick interrupt.       \ Включить прерывание от systick.

Вот что получилось. выскакивает раз в секунду:
init-delay \ запустить таймер
Unhandled Interrupt 0000000F !
Unhandled Interrupt 0000000F !
Unhandled Interrupt 0000000F !
Unhandled Interrupt 0000000F !
Unhandled Interrupt 0000000F !
И только через Reset...
\ как должно завершаться прерывание ?
Сообщение Добавлено: Вс апр 04, 2021 18:44

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


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