Автор |
Сообщение |
|
|
Заголовок сообщения: |
|
 |
|
Инфа по теме: [u][url]https://cloud.mail.ru/public/WDe5/3Kk6HRXB4[/url][/u]
|
|
|
 |
Добавлено: Вс сен 01, 2024 21:43 |
|
|
 |
|
|
Заголовок сообщения: |
ESP32 и ULP-сопроцессор. |
 |
|
Привет всем! У ESP32 есть ULP-сопроцессор, третий, медленный и малопотребляющий. Только 4 кБ выделены для программного кода ULP, а оставшиеся 16 кБ (8 кБ RTC Fast Memory и 8 кБ RTC Slow Memory) предназначены для хранения данных. У ESP32-S3 N16R8 WeAct всё гораздо круче. Он уже в 16 бит, оптимальнее по памяти. В сумме 24 KB памяти можно использовать для ULP ( ВСЯ под данные/программы ), причём 16 KB доступна ULP при глубоком сне. В оригинальном ESP32 эта память делилась на различные области. Если всё с двумя ядрами понятно, и Си вполне хватает, то в режиме сна, работая с ULP на ASM-е, явно даже 10% поставленной задачи не влезет... Надо только управлять портами на 10КГц - типа ПЛК маломощный. https://esp32.arduino-forth.com/https://esp32forth.appspot.com/ESP32forth.htmlПосмотрел - отдельно под ULP нет, надо грузить сразу всё. Вопрос: Есть ли что для реализации Форта только для ULP?Или написать только под ULP - загружать из флеш при старте готовую прогу в ULP. Посмотрел ASM под ESP32-S3 - там всё веселее, чем в простом ESP32. Команды и разрядность побольше. Главное не скорость и эффективность по быстродействию, а размер кода. На ВМ80 всё крутилось вроде как на 8-м КБ. 
Привет всем!
У [b]ESP32[/b] есть ULP-сопроцессор, третий, медленный и малопотребляющий. Только 4 кБ выделены для программного кода ULP, а оставшиеся 16 кБ (8 кБ RTC Fast Memory и 8 кБ RTC Slow Memory) предназначены для хранения данных.
У [b]ESP32-S3 N16R8 WeAct[/b] всё гораздо круче. Он уже в 16 бит, оптимальнее по памяти. В сумме [b]24 KB[/b] памяти можно использовать для ULP ( ВСЯ под данные/программы ), причём 16 KB доступна ULP при глубоком сне. В оригинальном ESP32 эта память делилась на различные области.
Если всё с двумя ядрами понятно, и Си вполне хватает, то в режиме сна, работая с ULP на ASM-е, явно даже 10% поставленной задачи не влезет... :(
[b]Надо только управлять портами на 10КГц - типа ПЛК маломощный.[/b] :)
[u][url]https://esp32.arduino-forth.com/[/url][/u] [u][url]https://esp32forth.appspot.com/ESP32forth.html[/url][/u] Посмотрел - отдельно под ULP нет, надо грузить сразу всё.
Вопрос: [b]Есть ли что для реализации Форта только для ULP?[/b]
Или написать только под ULP - загружать из флеш при старте готовую прогу в ULP. Посмотрел ASM под ESP32-S3 - там всё веселее, чем в простом ESP32. Команды и разрядность побольше.
Главное не скорость и эффективность по быстродействию, а размер кода.
На ВМ80 всё крутилось вроде как на 8-м КБ. :)
|
|
|
 |
Добавлено: Вс сен 01, 2024 21:27 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
ESP-IDF под win поставилось и заработало. При этом ставил offline-версию, но она все равно лезет в интернет и докачивает с гитхаба какую-то мелочевку, а без этого не работает. Тестовый hello, world компилируется в 3 bin-файла, в сумме там те же 150K. При этом первая компиляция ну ооооочень медленная, аж несколько минут, вторая и последующие уже шустрее  Одним словом, теперь и прошивается и работает, как под win, так и под ubuntu, так что можно начинать осваивать. Еще хотелось бы и под Ардуино завести, но пока безуспешно: вроде и компилируется и шьется, но никаких осмысленных действий после прошивки плата не производит  Ну и не ясно, какую именно плату выбирать в настройках: свою не нашел, а остальные (из тех, что пробовал) не подошли  Кстати, заметил одну странную вещь: низкоуровневое описание (имеются ввиду регистры) для wi-fi/bluetooth в документации на esp32c3 отсутствует. Так и задумано или плохо искал? 
ESP-IDF под win поставилось и заработало. При этом ставил offline-версию, но она все равно лезет в интернет и докачивает с гитхаба какую-то мелочевку, а без этого не работает. Тестовый hello, world компилируется в 3 bin-файла, в сумме там те же 150K. При этом первая компиляция ну ооооочень медленная, аж несколько минут, вторая и последующие уже шустрее :) Одним словом, теперь и прошивается и работает, как под win, так и под ubuntu, так что можно начинать осваивать. Еще хотелось бы и под Ардуино завести, но пока безуспешно: вроде и компилируется и шьется, но никаких осмысленных действий после прошивки плата не производит :) Ну и не ясно, какую именно плату выбирать в настройках: свою не нашел, а остальные (из тех, что пробовал) не подошли :)
Кстати, заметил одну странную вещь: низкоуровневое описание (имеются ввиду регистры) для wi-fi/bluetooth в документации на esp32c3 отсутствует. Так и задумано или плохо искал? :)
|
|
|
 |
Добавлено: Ср май 03, 2023 21:28 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
Цитата: Вес скомпилированного бинарника 150K. Это уже за гранью добра и зла, как мне кажется Там под прошивку выделяется не меньше 1МБ флеша. А 150К - это из-за того, что вместе с самой программой компилируется куча вспомогательных библиотек (раньше ещё FreeRTOS добавлялся, не знаю, как сейчас). При увеличении программы размер прошивки не должен сильно увеличиваться
[quote]Вес скомпилированного бинарника 150K. Это уже за гранью добра и зла, как мне кажется[/quote] Там под прошивку выделяется не меньше 1МБ флеша. А 150К - это из-за того, что вместе с самой программой компилируется куча вспомогательных библиотек (раньше ещё FreeRTOS добавлялся, не знаю, как сейчас). При увеличении программы размер прошивки не должен сильно увеличиваться
|
|
|
 |
Добавлено: Сб апр 22, 2023 08:47 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
Помогло что-то вроде этого: Код: sudo apt install pip sudo -H pip install pyserial Теперь хотя бы компилируется в Arduino-IDE  Кстати, ESP-IDF тоже поставилось, но не в винде (она у меня на голодном пайке без интернета), а в убунте по этой инструкции: https://docs.espressif.com/projects/esp-idf/en/v5.0.1/esp32c3/get-started/linux-macos-setup.html И даже скомпилировался пример hello-world, который в конце той статьи. А потом этот пример успешно прошился по адресу 0x10000 прошивалкой Flash Download Tools по этой инструкции. И этот пример даже выводит в терминал hello world и что-то там еще. Но блин. Вес скомпилированного бинарника 150K. Это уже за гранью добра и зла, как мне кажется 
Помогло что-то вроде этого: [code]sudo apt install pip sudo -H pip install pyserial[/code]Теперь хотя бы компилируется в Arduino-IDE :)
Кстати, ESP-IDF тоже поставилось, но не в винде (она у меня на голодном пайке без интернета), а в убунте по этой инструкции: [url]https://docs.espressif.com/projects/esp-idf/en/v5.0.1/esp32c3/get-started/linux-macos-setup.html[/url] И даже скомпилировался пример hello-world, который в конце той статьи. А потом этот пример успешно прошился по адресу 0x10000 прошивалкой [url=https://www.espressif.com/en/support/download/other-tools]Flash Download Tools[/url] по [url=https://wifi-iot.com/p/wiki/169/ru/?ysclid=lgphtujmdo592604326]этой[/url] инструкции. И этот пример даже выводит в терминал hello world и что-то там еще. Но блин. Вес скомпилированного бинарника 150K. Это уже за гранью добра и зла, как мне кажется :)
|
|
|
 |
Добавлено: Сб апр 22, 2023 01:00 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
Total Vacuum, у pyserial, который используется для загрузки прошивки, были проблемы в Windows XP и более ранних. Не Ваш случай?
UPD. Посмотрел повнимательнее, увидел, что Ubuntu. Тогда может прав не хватать для работы с COM-портом. Нужно либо Arduino IDE из-под рута запускать, либо пользователя добавить в группу dialout
[b]Total Vacuum[/b], у pyserial, который используется для загрузки прошивки, были проблемы в Windows XP и более ранних. Не Ваш случай?
UPD. Посмотрел повнимательнее, увидел, что Ubuntu. Тогда может прав не хватать для работы с COM-портом. Нужно либо Arduino IDE из-под рута запускать, либо пользователя добавить в группу dialout
|
|
|
 |
Добавлено: Пт апр 21, 2023 21:04 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
В Arduino IDE она еще не поддерживается? Туда, насколько я вижу, очень много ESP32 добавляется в последнее время.
В Arduino IDE она еще не поддерживается? Туда, насколько я вижу, очень много ESP32 добавляется в последнее время.
|
|
|
 |
Добавлено: Пт апр 21, 2023 17:13 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
До Форта пока не дошло, как впрочем и до любой другой вменяемой среды разработки. ESP-IDF не ставится без интернета (под Win), под Ардуино под Ubuntu тоже не завелось (не компилирует, ругается на отсутсвие то ли serial, то ли pyserial). Единственное, что пока удалось - нашел заливалку прошивок и смог прошить нарытый на просторах интернета bin-файл с каким-то питоном. Прошивается и выводит в терминал что-то осмысленное. Но все равное нужен любой инструмент, при помощи которого эти самые прошивки можно генерить. Тогда и Форт не заставит себя долго ждать  Плата называется LuatOS Core ESP32C3, если что
До Форта пока не дошло, как впрочем и до любой другой вменяемой среды разработки. ESP-IDF не ставится без интернета (под Win), под Ардуино под Ubuntu тоже не завелось (не компилирует, ругается на отсутсвие то ли serial, то ли pyserial). Единственное, что пока удалось - нашел заливалку прошивок и смог прошить нарытый на просторах интернета bin-файл с каким-то питоном. Прошивается и выводит в терминал что-то осмысленное. Но все равное нужен любой инструмент, при помощи которого эти самые прошивки можно генерить. Тогда и Форт не заставит себя долго ждать :)
Плата называется LuatOS Core ESP32C3, если что
|
|
|
 |
Добавлено: Чт апр 20, 2023 22:30 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
Total Vacuum писал(а): Наконец-то припёрлась платка с esp32-c3 из поднебесной. Светодиодами моргает, в терминал что-то выводит. Понять бы теперь, в чем программы писать и чем потом прошивать. Них...чего не понятно  Если вы про Forth, то см. тут: https://esp32forth.appspot.com/ESP32forth.html , https://github.com/flagxor/ueforth, https://github.com/Esp32forth/forth2020group
[quote="Total Vacuum"]Наконец-то припёрлась платка с esp32-c3 из поднебесной. Светодиодами моргает, в терминал что-то выводит. Понять бы теперь, в чем программы писать и чем потом прошивать. Них...чего не понятно :)[/quote] Если вы про Forth, то см. тут: https://esp32forth.appspot.com/ESP32forth.html , https://github.com/flagxor/ueforth, https://github.com/Esp32forth/forth2020group
|
|
|
 |
Добавлено: Сб апр 15, 2023 14:57 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
Мини-форт для Ардуино и на ESP32 запустился.
Вложения: |

risc_v_arduino.png [ 250.23 Кб | Просмотров: 7438 ]
|
Мини-форт для Ардуино и на ESP32 запустился.
|
|
|
 |
Добавлено: Чт апр 13, 2023 21:22 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
Наконец-то припёрлась платка с esp32-c3 из поднебесной. Светодиодами моргает, в терминал что-то выводит. Понять бы теперь, в чем программы писать и чем потом прошивать. Них...чего не понятно 
Наконец-то припёрлась платка с esp32-c3 из поднебесной. Светодиодами моргает, в терминал что-то выводит. Понять бы теперь, в чем программы писать и чем потом прошивать. Них...чего не понятно :)
|
|
|
 |
Добавлено: Чт апр 13, 2023 00:49 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
Опять из серии "откатимся назад и перепишем на Форте что сможем". Вокруг ESP32 в определенный момент возникла активность, но с исходно неправильным подходом она опять свелась к "мы тут немного написали, тут уже есть DUP DROP, теперь вот ждем, когда последователи восхитятся и организуют победное шествие". Интересно, что WiFi как-то и не подразумевает постоянной коррекции ПО. Внутрь и не стоит залезать, Форт в таком модуле может появиться как инструмент конфигурирования задачи и скриптования обмена данными. Соответственно, вот эти настроения "а давайте все выбросим и заменим на Форт" мгновенно отбрасывают людей назад, где они начинают сокрушаться об отсутствии библиотек. Так не надо было их выбрасывать - даже в проекте на wokwi внутрь что-то подключено. Спрашивается, почему было не подключить Форт как внешнее приложение.
Опять из серии "откатимся назад и перепишем на Форте что сможем". Вокруг ESP32 в определенный момент возникла активность, но с исходно неправильным подходом она опять свелась к "мы тут немного написали, тут уже есть DUP DROP, теперь вот ждем, когда последователи восхитятся и организуют победное шествие". Интересно, что WiFi как-то и не подразумевает постоянной коррекции ПО. Внутрь и не стоит залезать, Форт в таком модуле может появиться как инструмент конфигурирования задачи и скриптования обмена данными. Соответственно, вот эти настроения "а давайте все выбросим и заменим на Форт" мгновенно отбрасывают людей назад, где они начинают сокрушаться об отсутствии библиотек. Так не надо было их выбрасывать - даже в проекте на wokwi внутрь что-то подключено. Спрашивается, почему было не подключить Форт как внешнее приложение.
|
|
|
 |
Добавлено: Вт мар 28, 2023 18:15 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
KPG писал(а): Чья то неудачная проба запуска EspForth на площадке https://wokwi.com/ EspForth on wokwiПроект запустился и вывел консоль приветствие ok> для ознакомления с WORDS.  P.S. Правда есть ощущение в некоторой тормознутости симуляции в диалоге консольного интерфейса. (проверил в рамках FireFox 110) Цитата: E (772) SPIFFS: spiffs partition could not be found ESP32forth v7.0.5.4 - rev c7474b756beb296dd1316d241a218cd4e4041b77 ok -->forth editor list copy thru load flush update empty-buffers buffer block save-buffers default-use use open-blocks block-id scr block-fid telnetd bterm timers registers webui login web-interface streams +to to ; { (local) words vlist order see .s startswith? str= :noname SMUDGE forget dump assert reset revive startup: remember restore save dump-file include included rtos interrupts sockets Serial ledc SPIFFS SD_MMC WiFi WebServer Wire resize free allocate ok LED OUTPUT INPUT HIGH LOW page tone freq duty adc pin ms start-task task pause tasks internals sealed also only transfer{ }transfer transfer definitions vocabulary [IF] [ELSE] [THEN] DEFINED? ok quit evaluate prompt refill tib echo fill cmove> cmove z>s s>z r| r" z" ." s" zplace $place n. ? . u. binary decimal octal hex str #> sign #s # hold <# extract pad hld cr space emit bye key? key type is defer +to to value-bind value throw catch handler j i loop +loop leave unloop ?do do next for nest-depth depth rp0 sp0 variable constant postpone >body >flags >link >link& >name abs max min recurse aft repeat while else if then ahead until again begin literal [char] char ['] ' ] [ c, , align aligned allot here context current base state >in #tib 'tib 2! 2@ 2dup 2drop cell/ cells cell+ +! 4/ 4* 2/ 2* 1- 1+ nl bl 0<> <> = >= <= > < -rot rot - negate invert mod / /mod * */ rdrop nip \ ( ; EXIT : IMMEDIATE DOES> CREATE S>NUMBER? PARSE FIND CELL EXECUTE R@ R> >R RP! RP@ SP! SP@ C! L! ! C@ L@ @ DROP OVER SWAP DUP XOR OR AND RSHIFT LSHIFT */MOD U/MOD + 0< 0= timer_isr_register accept SD_MMC.begin MDNS.begin FILE-SIZE RESIZE-FILE REPOSITION-FILE FILE-POSITION READ-FILE WRITE-FILE DELETE-FILE CREATE-FILE OPEN-FILE FLUSH-FILE CLOSE-FILE BIN W/O R/W R/O TERMINATE MS-TICKS dacWrite pulseIn analogRead digitalRead digitalWrite pinMode ok --> ESP32 FORTH в поисковом запросе с Github
[quote="KPG"]Чья то неудачная проба запуска EspForth на площадке https://wokwi.com/ [url=https://wokwi.com/projects/315160775983366721]EspForth on wokwi[/url][/quote] Проект запустился и вывел консоль приветствие ok> для ознакомления с WORDS.:)
P.S. Правда есть ощущение в некоторой тормознутости симуляции в диалоге консольного интерфейса. (проверил в рамках FireFox 110)
[quote]E (772) SPIFFS: spiffs partition could not be found ESP32forth v7.0.5.4 - rev c7474b756beb296dd1316d241a218cd4e4041b77 ok -->forth editor list copy thru load flush update empty-buffers buffer block save-buffers default-use use open-blocks block-id scr block-fid telnetd bterm timers registers webui login web-interface streams +to to ; { (local) words vlist order see .s startswith? str= :noname SMUDGE forget dump assert reset revive startup: remember restore save dump-file include included rtos interrupts sockets Serial ledc SPIFFS SD_MMC WiFi WebServer Wire resize free allocate ok LED OUTPUT INPUT HIGH LOW page tone freq duty adc pin ms start-task task pause tasks internals sealed also only transfer{ }transfer transfer definitions vocabulary [IF] [ELSE] [THEN] DEFINED? ok quit evaluate prompt refill tib echo fill cmove> cmove z>s s>z r| r" z" ." s" zplace $place n. ? . u. binary decimal octal hex str #> sign #s # hold <# extract pad hld cr space emit bye key? key type is defer +to to value-bind value throw catch handler j i loop +loop leave unloop ?do do next for nest-depth depth rp0 sp0 variable constant postpone >body >flags >link >link& >name abs max min recurse aft repeat while else if then ahead until again begin literal [char] char ['] ' ] [ c, , align aligned allot here context current base state >in #tib 'tib 2! 2@ 2dup 2drop cell/ cells cell+ +! 4/ 4* 2/ 2* 1- 1+ nl bl 0<> <> = >= <= > < -rot rot - negate invert mod / /mod * */ rdrop nip \ ( ; EXIT : IMMEDIATE DOES> CREATE S>NUMBER? PARSE FIND CELL EXECUTE R@ R> >R RP! RP@ SP! SP@ C! L! ! C@ L@ @ DROP OVER SWAP DUP XOR OR AND RSHIFT LSHIFT */MOD U/MOD + 0< 0= timer_isr_register accept SD_MMC.begin MDNS.begin FILE-SIZE RESIZE-FILE REPOSITION-FILE FILE-POSITION READ-FILE WRITE-FILE DELETE-FILE CREATE-FILE OPEN-FILE FLUSH-FILE CLOSE-FILE BIN W/O R/W R/O TERMINATE MS-TICKS dacWrite pulseIn analogRead digitalRead digitalWrite pinMode ok --> [/quote]
[url=https://github.com/search?q=esp32+forth]ESP32 FORTH[/url] в поисковом запросе с Github
|
|
|
 |
Добавлено: Пн мар 27, 2023 05:47 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
KPG писал(а): Ilya писал(а): Вот как раз у esp32 самый низкий порог вхождения (в плане ПО и требований к сопутствующим железякам (usb-uart, st-link и пр.)). На французском сайте раздел по ESP32 https://esp32.arduino-forth.com/Та, то я бачив! К сожалению я заметил некоторую "на стабильность" при работе с файлами  , но при этом легко портировалась либа для работы с датчиком SHT30 (температура, влажность), с STM32 (MecrispForth) на сабж.
[quote="KPG"][quote="Ilya"]Вот как раз у esp32 самый низкий порог вхождения (в плане ПО и требований к сопутствующим железякам (usb-uart, st-link и пр.)).[/quote] На французском сайте раздел по ESP32 https://esp32.arduino-forth.com/[/quote] Та, то я бачив! :D К сожалению я заметил некоторую "на стабильность" при работе с файлами :cry: , но при этом легко портировалась либа для работы с датчиком SHT30 (температура, влажность), с STM32 (MecrispForth) на сабж.
|
|
|
 |
Добавлено: Сб янв 07, 2023 20:46 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Применение Форта для ARM, AVR, MSP430, PIC ... |
 |
|
Ilya писал(а): Вот как раз у esp32 самый низкий порог вхождения (в плане ПО и требований к сопутствующим железякам (usb-uart, st-link и пр.)). На французском сайте раздел по ESP32 https://esp32.arduino-forth.com/
[quote="Ilya"]Вот как раз у esp32 самый низкий порог вхождения (в плане ПО и требований к сопутствующим железякам (usb-uart, st-link и пр.)).[/quote] На французском сайте раздел по ESP32 https://esp32.arduino-forth.com/
|
|
|
 |
Добавлено: Вт янв 03, 2023 13:44 |
|
|
 |
|