Разработки ecoins для STM32
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разработки ecoins для STM32
Потерял много времени при прошивки STM32F103C(R,V) одновременно на разных ядрах (STM32-Master и STM32duino)
и обнаружил некоторые особенности .
1.После прошивки загрузчика (Maple) программа STM32CubeProgrammer перестает соединяться через ST-Link порт SWD.
В STM32-master программы через USB грузятся(STM32duino bootloader) нормально.
2.Если соединиться через UART (перемычку Boot0 переставляем к Vcc), и очистить память, то контроллер через ST-Link порт SWD подключается к контроллеру нормально (перемычка Boot0 к GND) и можно работать и STM32duino.
3.Можно работать и через ST-Link порт SWD и с прошитым загрузчиком, но для этого перемычку Boot0 переставляем к Vcc. Нормально работает (программа может затереть загрузчик), но после отключения питания программа запустится только если перемычка Boot0 к GND.
-------------------
Много времени потратил, не все понятно, может кому будет полезно, может кто-то объяснит...
-------------------
Программа STM32CubeProgrammer хорошо, но много к ней и претензий - программа молодая и наверное будут обновления.
и обнаружил некоторые особенности .
1.После прошивки загрузчика (Maple) программа STM32CubeProgrammer перестает соединяться через ST-Link порт SWD.
В STM32-master программы через USB грузятся(STM32duino bootloader) нормально.
2.Если соединиться через UART (перемычку Boot0 переставляем к Vcc), и очистить память, то контроллер через ST-Link порт SWD подключается к контроллеру нормально (перемычка Boot0 к GND) и можно работать и STM32duino.
3.Можно работать и через ST-Link порт SWD и с прошитым загрузчиком, но для этого перемычку Boot0 переставляем к Vcc. Нормально работает (программа может затереть загрузчик), но после отключения питания программа запустится только если перемычка Boot0 к GND.
-------------------
Много времени потратил, не все понятно, может кому будет полезно, может кто-то объяснит...
-------------------
Программа STM32CubeProgrammer хорошо, но много к ней и претензий - программа молодая и наверное будут обновления.
-
- Сержант
- Сообщения: 102
- Зарегистрирован: 21 ноя 2016, 11:05
Разработки ecoins для STM32
Получилось вывести на консоль информацию. Проблема была в том, что в настройках arduino ide нужно было включить USBCDC. После этого компорт видится через usb шнурок даже без кнопки RST и соответственно выводится вся информация по плате. Теперь можно пробовать работать с блоками. ecoins, у меня к вам просьба выложить недостающие библиотеки к вашему тестовому примеру (RT_HW_MCP23017.h, RT_HW_LCD_HD44780.h, RT_HW_DHTx.h) в этой ветке форума. Пришлось искать в другой вашей ветке. Думаю, что для начинающих, таких как я будет полезно и отбросит много лишних вопросов. Прикрепил файл с содержимым в консоле.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разработки ecoins для STM32
Рад Вашим успехов. Нюансов много (внешних и скрытых) с STM32, если их описывать сразу, то только еще больше запутывать и распутывать.slon-genia писал(а): 17 янв 2021, 13:17 Получилось вывести на консоль информацию. Проблема была в том, что в настройках arduino ide нужно было включить USBCDC. После этого компорт видится через usb шнурок даже без кнопки RST и соответственно выводится вся информация по плате. Теперь можно пробовать работать с блоками. ecoins, у меня к вам просьба выложить недостающие библиотеки к вашему тестовому примеру (RT_HW_MCP23017.h, RT_HW_LCD_HD44780.h, RT_HW_DHTx.h) в этой ветке форума. Пришлось искать в другой вашей ветке. Думаю, что для начинающих, таких как я будет полезно и отбросит много лишних вопросов. Прикрепил файл с содержимым в консоле.
Намой взгляд лучший путь поддержки - идти вместе с "вперед идущим". В итоге все получается.
Привести в порядок есть что, что много усилий уходит сейчас на поддержку многоплатформенной (AVR,ESP8266,ESP32,DUE,STM32F1,STM32F4,STM32F7,STM32H7), м многоядерной (STM32-Master, STM32duino) системы.
Многое взаимосвязанно, чтобы убрать или ослабить эту связь (сделать блоки универсальными) требуется усилия.
Требуется время. Думали в начале месяца завершим работу, но нужно еще некоторое время.
Потом все выложим в предварительно собранном и удобном виде.
------
Успехов.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разработки ecoins для STM32
Получили новые контроллеры^
1. STM32F407VG DevEBox;
2. STM32H7743VI WeAct Studio; Начали увлеченно заниматься.
STM32H7 - она с маленьким дисплеем и камерой.
Но тут стало понятно, что некоторым пользователем требуется обещанная библиотека, которая работает и на ядре STM32F-master(Clark).
Интересное откладываем и начинаем выкладывать текущую версию - RT_HW_BASE.h ver.4.01d.
Пока идет работа над ней, в первом посте не будем ничего менять.
Материалов много - потому будет несколько сообщений.
1. STM32F407VG DevEBox;
2. STM32H7743VI WeAct Studio; Начали увлеченно заниматься.
STM32H7 - она с маленьким дисплеем и камерой.
Но тут стало понятно, что некоторым пользователем требуется обещанная библиотека, которая работает и на ядре STM32F-master(Clark).
Интересное откладываем и начинаем выкладывать текущую версию - RT_HW_BASE.h ver.4.01d.
Пока идет работа над ней, в первом посте не будем ничего менять.
Материалов много - потому будет несколько сообщений.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось ecoins 24 янв 2021, 18:43, всего редактировалось 1 раз.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разработки ecoins для STM32
Новая версия библиотеки RT_HW_BASE.h ver.4.01d.
Теперь она не только мультиплатформенная, но и для STM32 мультиядерная - поддерживает ядро от Clark и от STM32(STM32duno).
Данные о поддерживаемых контроллерах в таблице.
[spoiler] [/spoiler] Появился новый любопытный контроллер SeeeDuino XIAO - на него обратил внимание Rovki, и он же прислал экземпляр на тестирование.
Контроллер не из дешевых, но очень и очень интересный - рекомендуем.
Теперь она не только мультиплатформенная, но и для STM32 мультиядерная - поддерживает ядро от Clark и от STM32(STM32duno).
Данные о поддерживаемых контроллерах в таблице.
[spoiler] [/spoiler] Появился новый любопытный контроллер SeeeDuino XIAO - на него обратил внимание Rovki, и он же прислал экземпляр на тестирование.
Контроллер не из дешевых, но очень и очень интересный - рекомендуем.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разработки ecoins для STM32
Файлы библиотек, пользовательских блоков и теста.
Это софт поддерживает не только STM32 - позже (ведутся работы над дополнительными функциями) будет выложен и в ветке "Разработки ecoins".
->Там несколько сгруппированных библиотек ПБ.
->файл нужно распаковать и библиотеки поместить в директорию libraries.Это софт поддерживает не только STM32 - позже (ведутся работы над дополнительными функциями) будет выложен и в ветке "Разработки ecoins".
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось ecoins 25 янв 2021, 20:10, всего редактировалось 2 раза.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разработки ecoins для STM32
Стенд на котором испытывалось:
1.STM32F103C(BLUEPILL_103C) - 128мБайт.
2.Загрузка череp USB, для ядра от Кларка выбираем плату Generic STM32F103CB series.
3.В тесте:
кнопка, светодиод, аналоговый вход, выход PWM, еще 4-е светодиода, UART1->KaScada, UART3->дисплей Nextion 8", USB - вывод пользовательских параметров, UART2- свободен.
2-е шины i2c - (в тесте задействована одна);
3-SPI->сдвиговый регистр HC595;
4. 2 дисплея на i2c -16x2, 20x4;
5. 2 16-разрядных регистра MCP23017;
6.Сенсор DS1820. Если использовать блок ecoins, то библиотеку OneWire.h лучше убрать - устанавливается более совершенная библиотека.
Как альтернатива - можно использовать блок DS1820 FLProg, или просто отключить плату.
7.Сенсор DHT22.
------------------
Можно еще подключить 3-устройства по SPI (например LCD), и много-много устройств через i2c, но с "правильными" библиотеками.
------------------
Тест написана таким образом, что любую плату ниже "Диспетчер", можно отключить.
-----------------
Все работает шустро - не нагруженный цикл loop() занимает менее 16 мкс. Внешний вид стенда:
1.STM32F103C(BLUEPILL_103C) - 128мБайт.
2.Загрузка череp USB, для ядра от Кларка выбираем плату Generic STM32F103CB series.
3.В тесте:
кнопка, светодиод, аналоговый вход, выход PWM, еще 4-е светодиода, UART1->KaScada, UART3->дисплей Nextion 8", USB - вывод пользовательских параметров, UART2- свободен.
2-е шины i2c - (в тесте задействована одна);
3-SPI->сдвиговый регистр HC595;
4. 2 дисплея на i2c -16x2, 20x4;
5. 2 16-разрядных регистра MCP23017;
6.Сенсор DS1820. Если использовать блок ecoins, то библиотеку OneWire.h лучше убрать - устанавливается более совершенная библиотека.
Как альтернатива - можно использовать блок DS1820 FLProg, или просто отключить плату.
7.Сенсор DHT22.
------------------
Можно еще подключить 3-устройства по SPI (например LCD), и много-много устройств через i2c, но с "правильными" библиотеками.
------------------
Тест написана таким образом, что любую плату ниже "Диспетчер", можно отключить.
-----------------
Все работает шустро - не нагруженный цикл loop() занимает менее 16 мкс. Внешний вид стенда:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Рядовой
- Сообщения: 3
- Зарегистрирован: 31 май 2021, 16:56
- Имя: ЕВГЕНИЙ
Разработки ecoins для STM32
Добрый день .Работал в FLP НЕ РАЗУ НЕ ПРОГРАМИСТ есть удачные проекты.
Решил сделать полётный контролер для планера на STM103 но в FL с этим пока полная засада.
Поиски привели к вам ,есть некоторые не понятки.
1 Как я понял какой контроллер указать в FL неважно.
2 Использовать ВСТРОЕНЫЕ и ПОЛИЗОВАТЕЛЬСКИЕ блоки FL с вашими разработками.
3 Возможно в вашей разработки использовать дисплей OLED0.96 или LCD5110.
Спасибо.
Решил сделать полётный контролер для планера на STM103 но в FL с этим пока полная засада.
Поиски привели к вам ,есть некоторые не понятки.
1 Как я понял какой контроллер указать в FL неважно.
2 Использовать ВСТРОЕНЫЕ и ПОЛИЗОВАТЕЛЬСКИЕ блоки FL с вашими разработками.
3 Возможно в вашей разработки использовать дисплей OLED0.96 или LCD5110.
Спасибо.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разработки ecoins для STM32
Здорово, что Вы собираетесь делать проект на STM32 в среде FLProg. На мой взгляд это наиболее перспективное и с технической точки зрения правильное направление.Evgeniy1966 писал(а): 05 июн 2021, 07:52 Решил сделать полётный контролер для планера на STM103 но в FL с этим пока полная засада.
Поиски привели к вам ,есть некоторые не понятки.
1 Как я понял какой контроллер указать в FL неважно.
2 Использовать ВСТРОЕНЫЕ и ПОЛИЗОВАТЕЛЬСКИЕ блоки FL с вашими разработками.
3 Возможно в вашей разработки использовать дисплей OLED0.96 или LCD5110.
Спасибо.
По вопросам:
1.Контроллер в FLProg можно указать любой, мы обычно выбираем MEGA2560.
2.Встроенные блоки FLProg использовать можно. Есть особенности при использовании стандартных блоков, которые работают с пинами и с интерфейсами i2c и SPI. В большинстве случаев они е проявляются, но иногда... Наши библиотеки и блоки снимают эти проблемы.
3.Дисплей OLED 0.96 работает через i2c и проблем не должно быть.
Дисплей LCD5110 имеет интерфейс SPI - если использовать аппаратный интерфейс, то могут выплыть нюансы, в том числе ошибки компиляции. В планах есть разработка библиотек и блоков под эти типы дисплеев.
-------------
Еще бы обратил внимание на наш диспетчер, который настоятельно рекомендуем к использованию в проектах.
В последнее время платы на STM32F103C подскочили в цене, а на STM32F411 снизились. Возможно имеет смысл сразу делать проект на STM32F4.
------------
Успехов.
-
- Рядовой
- Сообщения: 3
- Зарегистрирован: 31 май 2021, 16:56
- Имя: ЕВГЕНИЙ
Разработки ecoins для STM32
Этот просто праздник, значит 5110 не нужен
Просто они есть в наличии а 411 ещё купить надо .
Спасибо за быстрый ответ
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разработки ecoins для STM32
В первом посте обновлены библиотеки, тестовые примеры, добавлена инструкция по загрузке в STM32.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разработки ecoins для STM32
Некоторые наброски из переписки с одним из пользователей, могут оказаться полезны:
===================================================================================
Используются только описание контролеров, которые прописаны в библиотеке RT_HW_BASE.h
Например для контроллера GENERIC STM32F103C - такой контроллер в ядре о Кларка (STM32-master)
1. В файле RT_HW_BASE_01_02_BOARD_DEFINED.hpp строки 196-202.
По этим строкам идентифицируется выбранный в Arduino IDE плата, выбирается используемое для проекта ядро - RT_HW_CORE_STM32.
2. По выбранному ядру в файле RT_HW_02_00_BOARD_CORE.hpp
задействован код, поддерживающий выбранное ядро - строки 251-295.
3.Непосредственно плата описана в файле RT_HW_BASE_03_20_BOARD_STM32F1.hpp - строки 1-101.
Здесь описаны пины, интерфейсы и разное полезное.
-----------
В проекте FLProg для простоты (и удобства) выбираете плату Arduino Mega 2560 и забываете об этом.
При загрузке из Arduino IDE выбираете используемую Вами плату (из списка - выложен в форуме) и больше ничего.
----------
Ваша плата с STM32F411 тоже будет работать - укажите BlackPill F411CE(ядро STM32duino).
--------
Можете грузить пример непосредственно из примеров RT_HW_BASE.h.
Пример FLProg_Test01_xxxxx будет моргать светодиодом и выведет на консоль параметры платы.
=================================================================================
Консоль соответствует монитору порта.
В Arduino IDE выбрать плату BlackPill F411CE из среды STM32duino.
Поменять параметр U(S)ART support на "Enabled (generic Serial).
Если прошивка через SWD, то значение COM порта будет присвоено после загрузки (посмотреть можно в диспетчере устройств).
================================================================================
===================================================================================
Используются только описание контролеров, которые прописаны в библиотеке RT_HW_BASE.h
Например для контроллера GENERIC STM32F103C - такой контроллер в ядре о Кларка (STM32-master)
1. В файле RT_HW_BASE_01_02_BOARD_DEFINED.hpp строки 196-202.
По этим строкам идентифицируется выбранный в Arduino IDE плата, выбирается используемое для проекта ядро - RT_HW_CORE_STM32.
2. По выбранному ядру в файле RT_HW_02_00_BOARD_CORE.hpp
задействован код, поддерживающий выбранное ядро - строки 251-295.
3.Непосредственно плата описана в файле RT_HW_BASE_03_20_BOARD_STM32F1.hpp - строки 1-101.
Здесь описаны пины, интерфейсы и разное полезное.
-----------
В проекте FLProg для простоты (и удобства) выбираете плату Arduino Mega 2560 и забываете об этом.
При загрузке из Arduino IDE выбираете используемую Вами плату (из списка - выложен в форуме) и больше ничего.
----------
Ваша плата с STM32F411 тоже будет работать - укажите BlackPill F411CE(ядро STM32duino).
--------
Можете грузить пример непосредственно из примеров RT_HW_BASE.h.
Пример FLProg_Test01_xxxxx будет моргать светодиодом и выведет на консоль параметры платы.
=================================================================================
Консоль соответствует монитору порта.
В Arduino IDE выбрать плату BlackPill F411CE из среды STM32duino.
Поменять параметр U(S)ART support на "Enabled (generic Serial).
Если прошивка через SWD, то значение COM порта будет присвоено после загрузки (посмотреть можно в диспетчере устройств).
================================================================================
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разработки ecoins для STM32
Пример загрузки:
1.Тест FLProg 2.Arduino IDE. Монитор порта не должен быть подключен , иначе не сможет загрузить. 3.Настройки в Arduino IDE 4.Смотрим порты. У нас 51. 5.Результат в мониторе порта (возможно перед входом придется нажать Reset, обычно только первый раз).
1.Тест FLProg 2.Arduino IDE. Монитор порта не должен быть подключен , иначе не сможет загрузить. 3.Настройки в Arduino IDE 4.Смотрим порты. У нас 51. 5.Результат в мониторе порта (возможно перед входом придется нажать Reset, обычно только первый раз).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сержант
- Сообщения: 117
- Зарегистрирован: 09 ноя 2017, 19:25
- Откуда: Москва
- Имя: Андрей
- Поблагодарили: 16 раз
Разработки ecoins для STM32
Здравствуйте, не увидел инструкции.ecoins писал(а): 13 июл 2021, 13:45 В первом посте обновлены библиотеки, тестовые примеры, добавлена инструкция по загрузке в STM32.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разработки ecoins для STM32
Спасибо. Поправил. В первом посте файл v02_Дружим с....
Отправлено спустя 1 час 49 минут 3 секунды:
Вопрос:
"Теперь о пинах.. Вопрос открыт. Не могу понять как их назначать.
Инфа из монитора дала общую картину по 411..
Подскажите.. или объясните, как обращаться с пинами?"
------
Ответ:
1.Из инфа из монитора в разделе "Name pins можно получить соответствие номеров пинов их наименованию.
Например PA3=195, PB0=200, PC13=31.
Эти значения можно использовать как номера пинов.
Это способ не удобен.
Тем более, что STM32duino в новой версии уже меняло нумерацию.
2.Напрямую указывать буквенное обозначение пинов в FLProg сейчас нельзя, но можно делать это через блоки "09.Выбор пользовательских параметров->Тестовые пины".
Там три врзможности - с привязкой к типу контроллеров (полезно при тестировании разынх контроллеров), без привязки - можно указывать перечень пинов через запятую и через внешнюю строковую переменную (тоже через запятую).
Например: PA0,PA6,PC13
Можно комбинировать (хотя особого смысла нет): PA1,PB9,32,PB13
Пока можно указывать только доступные обозначения - если указать не существующее обозначение, например PE7, то выскочит ошибка компиляции.
Со временем и это сделаем, нужно немного повозиться по работе со строковыми переменными.
-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разработки ecoins для STM32
А кому-нибудь интересно на форуме тема работы с контроллерами на STM32?
Есть да, то отзовитесь - было бы весьма уместно обменяться опытом, видением развития этого направления.
Уже в FLProg успешно удается работать с STM32F1, STM32F4, на очереди STM32H7 с дисплеем и видеокамерой.
Поглядываем на STM32MP157 -
https://aliexpress.ru/item/400077417474 ... web201603_
хороший аналог Raspberry, подороже, но гораздо лучше для промышленных применений 2 процессора А7 (650мГц) - хорошо будет работать Linux, +1 процессор M4 (209мГц) - для внешней периферии, как раз под проекты на FLProg.
Интересный обзор
https://www.youtube.com/watch?v=3FMMbQm ... 107s------
Отзовитесь, если кому интересно - могли бы объединить усилия и достичь значимых совместных результатов.
Есть да, то отзовитесь - было бы весьма уместно обменяться опытом, видением развития этого направления.
Уже в FLProg успешно удается работать с STM32F1, STM32F4, на очереди STM32H7 с дисплеем и видеокамерой.
Поглядываем на STM32MP157 -
https://aliexpress.ru/item/400077417474 ... web201603_
хороший аналог Raspberry, подороже, но гораздо лучше для промышленных применений 2 процессора А7 (650мГц) - хорошо будет работать Linux, +1 процессор M4 (209мГц) - для внешней периферии, как раз под проекты на FLProg.
Интересный обзор
https://www.youtube.com/watch?v=3FMMbQm ... 107s------
Отзовитесь, если кому интересно - могли бы объединить усилия и достичь значимых совместных результатов.
Разработки ecoins для STM32
Работа с STM32 в флпрог особенно важна, у данных контроллеров очень много преимуществ перед AVR, а если учитывать то, что есть возможность их программирования из этой замечательной среды, то однозначно нужно продолжать развитие этого направленияecoins писал(а): 14 июл 2021, 20:05 А кому-нибудь интересно на форуме тема работы с контроллерами на STM32?
Есть да, то отзовитесь - было бы весьма уместно обменяться опытом, видением развития этого направления.

-
- Полковник
- Сообщения: 4007
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Разработки ecoins для STM32
Понял, спасибо.Masterli писал(а): 20 июл 2021, 17:19 Работа с STM32 в флпрог особенно важна, у данных контроллеров очень много преимуществ перед AVR, а если учитывать то, что есть возможность их программирования из этой замечательной среды, то однозначно нужно продолжать развитие этого направления
Будет возможность - потестируйте.
-
- Сержант
- Сообщения: 102
- Зарегистрирован: 21 ноя 2016, 11:05
Разработки ecoins для STM32
Однозначно, STM32 хотелось бы видеть. Только хотелось бы использовать все его апаратные возможности.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей