Arduino IDE + аддон от stm32

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Пролистнул тему немного выше и, похоже, речь идет о том, с чем я столкнулся буквально на днях (т.е. почти месяцем позже, чем это было написано)

dimax пишет:

Обнаружил проблему при работе через  SPI с  дисплеем ST7735 .

Загружаю один и тот-же проверочный  скетч в одной и той же версии ARDUINO IDE  с кларковским аддоном - время вывода на дисплей через SPI  -72 миллисекунды. А с STM-овским аддоном - 890 миллисекунд и хоть ты тресни, ничего не помогает  :((

Если я правильно понял, речь идет не о прямой записи в порты, а об SPI, т.е. той прокладке, которая была написана для совместимости со стандартной ардуиновской библиотекой SPI. Я, правда, работал не с дисплеем, а с памятью (разрекламированной Петровичем PSRAM) и SD-картой.

Ну с картой там много всего, сектор читается что-то порядка 2.5 мс, т.е. по 5 мкс на байт, что на мой взгляд многовато. А с памятью - более прозрачно, там я взаимодействую не с драйвером SD, а напрямую с библиотекой SPI, которая, вроде бы, настроена на частоту 36 МГц, но реально работает так, как если бы было около 7 МГц. Т.е. один байт пишет/читает более 1 мкс.

Судя по логическому анализатору передача осуществляется побайтно с большим интервалом между байтами. Но это разобрать 24-МГц анализатором уже невозможно.

Собственно, я для себя сделал вывод, что нужно будет самостоятельно разбираться с STM-овским SPI, не надеясь на ардуиновскую реализацию.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

andriano пишет:

Судя по логическому анализатору передача осуществляется побайтно с большим интервалом между байтами. Но это разобрать 24-МГц анализатором уже невозможно.

Я тоже смотрел spi-клоки  осциллографом , и именно это наблюдал -огромные интервалы между пачками. В результате  пришлось вернуться обратно на кларковский аддон.. 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Я все-таки придерживаюсь точки зрения, что нужно отказываться от ардуиновской библиотеки и делать обмен по SPI ручками по дэйташиту. Вполне вероятно, что при наличии DMA побайтовый обмен сделан неоптимально на уровне железа, т.к. никому не нужен при наличии DMA. Ну, точнее, скорость от него не требуется.

Кстати, на мой взгляд, SPI не так уж сложно программируется по дэйташиту, так что думаю, именно это оптимальный путь - отказ от совместимости с ардуиновской библиотекой.

Sled
Offline
Зарегистрирован: 27.08.2017

Господа, расскажите кто что использует и для чего, какие успехи. Так сказать отчетик, чтобы понять куда двигаться новичку.

Если сплошные подводные камни, то может чисто под STM пытаться писать? Заранее признателен!

b707
Offline
Зарегистрирован: 26.05.2017

Sled пишет:

Господа, расскажите кто что использует и для чего, какие успехи. Так сказать отчетик, чтобы понять куда двигаться новичку.

"отчетики" я начальству пишу, а вам с какой стати? :)

тема как раз создана для сравнения аддонов - и в ней всего чуть более 50 сообщений, читайте

nik182
Онлайн
Зарегистрирован: 04.05.2015

Под ардуной можно писать короткие скетчи типа проверки модулей или моргания лампочкой. Т.е. то что укладывается в рамки ардуино. Если что то более сложное, надо знать CMSIS и мануал на процессор. Или писать в среде предназначенной для STM. Но это не отменяет мануала, и изучение HAL LL CMSIS или других надстроек над ARM. Всё зависит от решаемой задачи. Имея представление о задаче можно выбрать инструмент, который позволит решить задачу эффективно и в кратчайшие сроки.      

Morroc
Offline
Зарегистрирован: 24.10.2016

Однако и "в лоб" будет быстрее обычной ардуины. Неплохо для цветных дисплеев, атмега с ними справляется с трудом.

Чечако
Offline
Зарегистрирован: 15.06.2018

Мужики, у меня жесточайший приступ кретинизма. А где взять драйвер для Maple, коим прикидываются эти славные платы для винды при подключении по USB? Я нашел только это, но древность чутка смущает:

https://github.com/AiFrame/Maple-Windows7-driver

Windows 7, если что.

 

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Чечако, в папке аддона подпапка drivers

Чечако
Offline
Зарегистрирован: 15.06.2018

dimax пишет:

Чечако, в папке аддона подпапка drivers

Смотрел там, но ничего подходящего по мнению винды не нашлось. Но у меня Arduino Core for STM32 1.9.0, а не чисто кларковский addon - может в этом дело?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Чечако, естессно.  Мапле-девайс в системе образует залитый в МК кларковкий бутлодырь.  STM-аддон к этому делу никакого отношения не имеет.

Buldakov
Offline
Зарегистрирован: 17.01.2016

Несколько вопросов по плате STM32F401.

1. Когда плату подключаю к компьютеру не находит драйвер (Win7). Пишет в диспетчере устройств -> Другие устройства-> STM32 virtual comport и желтый восклицательный знак.

Вопрос с драйвером отпал. Качал по этой ссылке.

https://driverslab.ru/859-stm-virtual-com-port-.html

 

2. И какую плату выбирать в оболочке ARDUINO IDE среди кучи всего? Есть подозрение что

плата Generic STM32F4 series

Board part number Generic F401CC

U(S)ART support Enabled

USB support CDC generic serial

Тестовый код из 2 поста ошибок при компилировании не выдает.

При попытке записать в плату выдает ошибку

STM32_Programmer_CLI.exe not found.
Please install it or add <STM32CubeProgrammer path>\bin' to your PATH environment:
https://www.st.com/en/development-tools/stm32cubeprog.html
Aborting!

 

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Buldakov пишет:

Вопрос с драйвером отпал. Качал по этой ссылке.

https://driverslab.ru/859-stm-virtual-com-port-.html

Я б не советовал ставить из сторонних источников. Всё есть на st.com

Buldakov пишет:

При попытке записать в плату выдает ошибку

STM32_Programmer_CLI.exe not found.
Please install it or add <STM32CubeProgrammer path>\bin' to your PATH environment:
https://www.st.com/en/development-tools/stm32cubeprog.html

Ну так написано же что надо сделать.. :)

Buldakov
Offline
Зарегистрирован: 17.01.2016

- На ST.com не нашел. Поэтому и написал ссылку на сторонний драйвер.

- По поводу STM32_Programmer_CLI.exe not found.

Сходил по этой ссылке и скачал     en.stm32cubeprog_v2-4-0.zip

предварительно установил java

Ошибка никуда не делась.

Файл данный присутствует по данному пути:

D:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin

Вероятнее всего надо прописать этот путь в Arduino. Только не знаю куда. Если этот exe файл скопировать в корень Arduino IDE - то ошибка пропадает.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Buldakov, тем не менее в содержании текста ошибки всё сказано. Установили, но всё равно not found? Значит программа не добавилась в path , или добавилась, но вы не перезагрузили windows. Если что всегда можно добавить вручную, гуглите "как добавить путь в Path" 

Buldakov
Offline
Зарегистрирован: 17.01.2016

Ну похоже это еще тот темный лес. Как только решаещь одну проблему - то сразу появляется другая. Теперь плата видится, ошибок при записи в плату не выдает VID PID платы показывает , но ничего не работает. Светодиод как мигал плавно, так и мигает. Может быть через несколько лет проблема как нибудь решится путем нормального описания. Ну а пока положим плату на хранение.

b707
Offline
Зарегистрирован: 26.05.2017

Buldakov пишет:

Светодиод как мигал плавно, так и мигает.

пин светодиода посмотрите - какой в коде и какой на плате?

Buldakov
Offline
Зарегистрирован: 17.01.2016

Еще замечание о программе STM32CubeProgrammer, которая была скачана с оф. сайта

Решил эту программу удалить с компьютера. Прекрасно удалилась. Только удалила всю папку D:\Program Files со всеми установленными программами. А по идее должна была удалить только содержимое D:\Program Files\STMicroelectronics