Stm32 с чего начать изучение...

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Stm32 с чего начать изучение...

Сообщение VladislavS »

[uquote="azhel12",url="/forum/viewtopic.php?p=4316651#p4316651"]Однако где-то мне потом все равно придется указать, что X точка в дескрипторе - это на самом деле Y точка в программе, чего я делать не хочу.[/uquote]В классе контроллера должен быть алгоритм, который из списка конечных точек в дескрипторе сконфигурирует регистры контроллера. А сам дескриптор от этого должен быть свободен, у него другая задача - описать конфигурацию и функционал устройства. Из этой конфигурации все и должны брать информацию, и хост, и само устройство.
Реклама
Аватара пользователя
azhel12
Встал на лапы
Сообщения: 145
Зарегистрирован: Пн апр 02, 2012 15:56:23

Re: Stm32 с чего начать изучение...

Сообщение azhel12 »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4316672#p4316672"]В классе контроллера должен быть алгоритм, который из списка конечных точек в дескрипторе сконфигурирует регистры контроллера.[/uquote]Тогда в целом мы про одно и то же говорим, что надо определить описание устройства (конфигурации, интерфейсы, точки) и из них "родить" конкретные элементы программы. Только вы это завернули сразу в дескриптор (и тип так назвали), я сделал почти то же самое, только практически наоборот - сначала определил иерархию, из которой собирается дескриптор (собственно, поэтому мне и не нужен оказался доступ к спискам интерфейсов/точек в компайл-тайме, он изначально был).
Рад, что все больше вижу C++ в этой области, надеясь, что если он и не вытеснит Си, то как минимум люди не будут его сторониться.
Реклама
Аватара пользователя
Dmitry_77
Родился
Сообщения: 5
Зарегистрирован: Сб дек 10, 2022 21:13:09

Re: Stm32 с чего начать изучение...

Сообщение Dmitry_77 »

Добрый вечер! В Кубе создал проект и запустил генерацию.
Изображение

Далее открываю этот проект в Кейле. Пытаюсь Build - ругается. ЧТо не хватает. Кейл установил последний, лицезия есть....
Изображение
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Stm32 с чего начать изучение...

Сообщение VladislavS »

Ошибку специально закрыли чтобы труднее угадать было? :)))
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Stm32 с чего начать изучение...

Сообщение MLX90640 »

загадка какая-то. Видимо, так звезды сошлись. Попробуйте "ввести здесь текст для поиска", потому как наши телепаты уехали к генералу Морозу.
Реклама
Аватара пользователя
Dmitry_77
Родился
Сообщения: 5
Зарегистрирован: Сб дек 10, 2022 21:13:09

Re: Stm32 с чего начать изучение...

Сообщение Dmitry_77 »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4334763#p4334763"]Ошибку специально закрыли чтобы труднее угадать было? :)))[/uquote]
Уппс! :)
Error: *** Project 'Blink', Target 'Blink', Device 'STMicroelectronics::STM32F407VETx' is not supported by Toolchain ! ***.

P.S. Еще и Toolchain надо ставить?! :shock:
Реклама
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Stm32 с чего начать изучение...

Сообщение MLX90640 »

Не знаю, как в Кубе, но обычно последние буквы Tx (T6, T7) не указывают, поскольку они относятся к упаковке и температурному диапазону
Аватара пользователя
Dmitry_77
Родился
Сообщения: 5
Зарегистрирован: Сб дек 10, 2022 21:13:09

Re: Stm32 с чего начать изучение...

Сообщение Dmitry_77 »

[uquote="MLX90640",url="/forum/viewtopic.php?p=4334865#p4334865"]Не знаю, как в Кубе, но обычно последние буквы Tx (T6, T7) не указывают....[/uquote]
Я только еще начал изучать. Делал по видеокурсу с ютуба. Там в Кубе первоначальные настройки делают, потом в Кейле открывают...
Могу ошибаться, возможно Кейл не видит с каким процессором хочу работать....
Проц указал, какой у меня на тестовой плате стоит. В Кубе сокращенного варианта нет.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Stm32 с чего начать изучение...

Сообщение VladislavS »

Dmitry_77, начните вот с этого
Изображение

Изображение
изображение_2022-12-11_150216867.png
(46.4 КБ) 567 скачиваний
изображение_2022-12-11_150349334.png
(31.94 КБ) 566 скачиваний
Аватара пользователя
Dmitry_77
Родился
Сообщения: 5
Зарегистрирован: Сб дек 10, 2022 21:13:09

Re: Stm32 с чего начать изучение...

Сообщение Dmitry_77 »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4334975#p4334975"]Dmitry_77, начните вот с этого[/uquote]
Спасибо! :idea:
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение Eddy_Em »

Товарищи, а у кого сишный стартап для STM32G0 завалялся? Думал, там так же, как в F0, но нет: другие прерывания. Пока что сижу, вручную правлю… Уныло!
UPD: уже переделал. Остается проверить флаги компилятора и т.п. И можно попробовать помигать диодом, адаптируя код под F0. Здесь еще и внутренних генераторов пара лишних (правда, HSI48 нет, но все равно на G070 нет USB).
UPD2: это просто жесть какая-то! Там есть RCC->PLLCFGR! И туева хуча разных каналов… С одной стороны, это - хорошо, т.к. реже будет вариант, что нет возможности задать нужную скорость на SPI или I2C, т.к. "кормящий" их канал не той частоты. С другой - это ж трындец, сколько нужно кода понаписать, чтобы хоть базовую часть моих сниппетов под F0 на G0 портировать!
UPD3: даже собралось, но тестировать как-нибудь потом буду. Всмомнил, что такую же кучу выходов тактирования с PLL видел на F407. Чтобы настроить, нужно на одном экране перед глазами схему тактирования держать, а на другом - флаги PLLCFGR. И внимательно читать предельные частоты на все. И мучиться, подбирая оптимальную частоту PLL…
Последний раз редактировалось Eddy_Em Чт дек 22, 2022 21:18:11, всего редактировалось 1 раз.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Stm32 с чего начать изучение...

Сообщение VladislavS »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4341253#p4341253"]Товарищи, а у кого сишный стартап для STM32G0 завалялся?[/uquote]Все стартапы для Cortex-M отличаются только таблицей векторов прерываний. Могу подсказать где есть C-шные стартапы и линкерскрипты абсолютно на все STM32 контроллеры. CTRL-C CTRL-V их оттуда 30 секунд делов. Но для этого надо переступить через себя и использовать нечто на W начинающееся и на s заканчивающееся...

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4341253#p4341253"]Пока что сижу, вручную правлю… Уныло![/uquote] :)))

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4341253#p4341253"]UPD2: это просто жесть какая-то! Там есть RCC->PLLCFGR![/uquote]Это вот из-за этого скромного количества кода такие страдания?

Код: Выделить всё

RCC->CR |= RCC_CR_HSEON;
while(!(RCC->CR & RCC_CR_HSERDY));

RCC->PLLCFGR = RCC_PLLCFGR_PLLSRC_HSE
             | _VAL2FLD(RCC_PLLCFGR_PLLM,1-1)  | _VAL2FLD(RCC_PLLCFGR_PLLN,8)
             | _VAL2FLD(RCC_PLLCFGR_PLLR,2-1) | (1?RCC_PLLCFGR_PLLREN:0)
             | _VAL2FLD(RCC_PLLCFGR_PLLP,4-1) | (0?RCC_PLLCFGR_PLLPEN:0);

RCC->CR |= RCC_CR_PLLON;
while(!(RCC->CR & RCC_CR_PLLRDY));

RCC->CFGR = RCC_CFGR_MCOSEL_DISABLE | RCC_CFGR_MCOPRE_DIV8
          | RCC_CFGR_PPRE_DIV1 | RCC_CFGR_HPRE_DIV1 
          | RCC_CFGR_SW_PLLRCLK;
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4341253#p4341253"]И туева хуча разных каналов…[/uquote]Где ты их там нашёл? Проще систему тактирования ещё придумать надо
СпойлерИзображение
изображение_2022-12-22_211027894.png
(82.91 КБ) 125 скачиваний
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение Eddy_Em »

VladislavS, я и без калокуба нормально обхожусь. И уж тем более, без гнилой мастдайки. Вообще тебя не понимаю: ты - мазохист что ли, уродоваться на игровой приставке, пытаясь ее прошивку превратить в ОС общего назначения?
Вот, создал новую поддиректорию. Тестировать буду позже. Наверняка что-нибудь важное пропустил: на F407 у меня не с первого раза завелось… Да и не факт, что там еще каких-нибудь эдаких флагов не нужно будет gcc передать, кроме изменения cortex-m0 на cortex-m0plus.
Пока, кстати, вообще никаких плюсов в STM32G0 по сравнению с F0 не вижу. Кроме дополнительных телодвижений, чтобы перейти с F0 на G0. И в линейке G0 нет аналогов STM32F072 (по крайней мере, по цене). И HSI48 с синхронизацией по USB выкинули, ироды проклятые! Типа, хочешь USB - ставь кварц! Да нафиг он мне сдался?
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Stm32 с чего начать изучение...

Сообщение VladislavS »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4341300#p4341300"]Вот, создал новую поддиректорию[/uquote]Я уже как-то давно говорил - SCB->CCR Readonly. Откуда ты эту ересь опять скопипастил?
СпойлерИзображениеИзображение
изображение_2022-12-22_214814711.png
(63.14 КБ) 127 скачиваний
изображение_2022-12-22_214858928.png
(50.95 КБ) 124 скачивания
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4341300#p4341300"]Типа, хочешь USB - ставь кварц![/uquote]Нет в G0 USB от слова совсем, хоть 10 кварцев поставь. :)
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение Eddy_Em »

VladislavS, в G0 есть USB: на G0A/B!
Откуда ты эту ересь опять скопипастил?
Из F0, вестимо. А туда она ХЗ откуда попала. Видать, из каких-нибудь M3/M4. Это же чисто ARMянская фича, надо удалить, спасибо.
И правда: глянул на сайте ARM, этот регистр RW у M3, но RO у M0. И нафиг туда писать дефолтное значение - тоже непонятно.
Лень просто взять, да вычистить из всех этих скопипащенных неизвестно откуда кусков все ненужное…
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Stm32 с чего начать изучение...

Сообщение VladislavS »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4341321#p4341321"]VladislavS, в G0 есть USB: на G0A/B![/uquote]Каюсь, эти с буквами пропустил. Но у них и HSI48 есть для этого.
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Stm32 с чего начать изучение...

Сообщение Reflector »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4341300#p4341300"]Пока, кстати, вообще никаких плюсов в STM32G0 по сравнению с F0 не вижу. Кроме дополнительных телодвижений, чтобы перейти с F0 на G0. И в линейке G0 нет аналогов STM32F072 (по крайней мере, по цене). И HSI48 с синхронизацией по USB выкинули, ироды проклятые! Типа, хочешь USB - ставь кварц! Да нафиг он мне сдался?[/uquote]
У ST F072C8 стоит $1.97 крупными партиями, а G0B0CE - $1.7. На али понятное дело цены другие, но они падают, на днях G431CB за $3 заказывал(а ты до сих пор F303 мучаешь), G0B1CB по $3.56 есть. И HSI48 естественно от SOF по прежнему триммится, никто из новых серий это выбрасывать не будет.
Eddy_Em писал(а):Там есть RCC->PLLCFGR! И туева хуча разных каналов… С одной стороны, это - хорошо, т.к. реже будет вариант, что нет возможности задать нужную скорость на SPI или I2C, т.к. "кормящий" их канал не той частоты. С другой - это ж трындец, сколько нужно кода понаписать, чтобы хоть базовую часть моих сниппетов под F0 на G0 портировать!
PLLCFGR в большинстве серий есть, у G0 PLL еще простенький, с H7 и близко не сравним...
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение Eddy_Em »

Ну, H7 - вообще дичь какая-то адова! Не представляю, кому оно может понадобиться, если дешевле и проще купить одноплатник, а RT и всякую периферию приаттачить к нему на более дешевом и простом МК.
Я вот, думаю, надо разработать расширяемую управляемую розетку в блоках под DIN-рейку. Основной блок - на апельсинке-0, расширения - хоть на STM32F030 (там-то ног много не надо: пара каналов на симисторы или реле + RS-485 + несколько GPIO для конфигурирования адреса; адрес - или перемычками, или шину межблочную сделать, как у NI'шных крейдлов, тогда автоматом буде). А из самого сложного на МК, с чем приходилось иметь дело, был (точнее - есть, я еще только плату нарисовал, как получу компоненты, буду прошивку писать) контроллер восьми независимых ШД. Туда аж 100-ногую F303 пришлось совать. С F407 тоже начал понемногу работать, но пока не вижу никаких преимуществ. Флоаты и математика мне пока не нужны: я квадрокоптеры не разрабатываю. Как раз, чаще всего нужны вообще элементарные (иной раз и 8 ног хватило бы) МК, но мне что-то совсем восьмибитки опротивели, по удобству разработки таки STM32 приятней, чем STM8.

Да, что насчет цены, то сейчас какая-то дичь творится: F030, которые были по 25-30 рублей, уже переплюнули по цене F103C6T6!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Stm32 с чего начать изучение...

Сообщение VladislavS »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4341253#p4341253"]С другой - это ж трындец, сколько нужно кода понаписать, чтобы хоть базовую часть моих сниппетов под F0 на G0 портировать![/uquote]Перестаём называть скетчи сниппетами и пишем нормальные библиотеки, чтобы они при переходе с одного чипа на другой работали. Вот смотри, в G0 появился новый для тебя модуль DMAMUX. Можно сделать затычку, а можно посмотреть, что он есть в чипах G0, G4 и H7 и написать один раз нормально под них всех. Тогда компилируем под G071 - получаем
Изображение
А если под H750, то
Изображение
Конечно, при написании библиотеки надо больше чем в один мануал заглянуть, но потом при повседневной разработке вообще не надо будет RM открывать. У меня некоторые модули даже на китайцев c RISC-V перекочевали.
Спойлер
02.png
(18.42 КБ) 545 скачиваний
03.png
(31.21 КБ) 348 скачиваний
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение Eddy_Em »

VladislavS, нет уж, кресты — это чересчур!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Ответить

Вернуться в «ARM»