STM32. CMSIS #1. RCC - настройки тактирования. Часть 1. Теория
HTML-код
- Опубликовано: 21 окт 2024
- Купить книгу "Освоение STM32 самостоятельно" по CMSIS:
sl.aliexpress....
Подробно в видео рассказываются настройки системы тактирования STM32 для дальнейшей работы с библиотекой CMSIS. Проводится показ где находятся те или иные параметры наглядно на схеме тактирования в STM32CubeMX 6.
__________________________________________________
Вы можете помочь каналу через Яндекс-деньги:
money.yandex.r...
или через банковскую карту:
4377 7237 6190 5714
__________________________________________________
Рад, что продолжаете по этой теме делать гайды
Спасибо. Все по мере наличия свободного времени. Ещё планирую чисто по HAL' у...
спасибо. учусь на ваших роликах)
Спасибо! Обучайте теперь по ним и других.
@@NRelectronics мои ролики про контролеры не заходят людям к сожалению. по этому пока рано) буду обучаться только сам
Спасибо огромное, Николай!
После этого видео я перестал испытывать страх перед чтением документации о регистрах!
Пожалуйста! Рад, что контент избавляет и от страха тоже! 👍
Мне было очень интересно вас слушать, спасибо вам!
Спасибо Вам за тёплые слова.
CMSIS - это то, что надо при программировании микроконтроллеров STM и Milandr. Золотая середина между Cube и Assembler. Очень полезная тема.
Согласен полностью, что золотая серидина.
мне кажется, что CMSIS для любого ARM подойдет...
Это не CMSIS - это подробнейший разбор документации по тактированию. Кстати, очень хороший.
Библиотека CMSIS включает в себя следующие компоненты:
CMSIS-CORE: API для ядра Cortex-M и периферии. Стандартизированный интерфейс доступен для Cortex-M0, Cortex-M3, Cortex-M4, SC000, и SC300. Включает дополнительные SIMD-инструкции для Cortex-M4.
CMSIS-Driver: определяет основные драйверы интерфейсов периферии. Содержит API для операционных систем реального времени (ОСРВ, или англ. Real-Time operating systems - RTOS) и соединяет микроконтроллер с промежуточным ПО (стек коммуникации, файловая система или графический интерфейс).
CMSIS-DSP: коллекция из более чем 60 функций для различных типов данных (относятся к обработке сигналов): с фиксированной точкой и с плавающей точкой (одинарной точности, 32 бита). Библиотека доступна для Cortex-M0, Cortex-M3, и Cortex-M4. Реализация библиотеки для Cortex-M4 оптимизирована c использованием SIMD-инструкций.
CMSIS-RTOS API: общий API для систем реального времени. Используя функции данного интерфейса вы можете отойти от конкретной реализации операционной системы.
CMSIS-DAP (Debug Access Port): стандартизованное программное обеспечение для отладчика (Debug Unit).
Вот научиться использовать это.......
Спасибо. Просто понимая какие регистры для чего и что к чему, то и писать на CMSIS уже и не трудно.
@@NRelectronics Это не критика - это уточнение. Разбор регистов и взаимосвязеу с шинами сделали великолепный.
Все норм. Я понял вас, все ОК. Просто понимание регистров нужно для CMSIS, которое напрямую обращается к этим регистрам, без надстроек на HAL.
Спасибо большое автору! Давно искал подобные уроки!
Спасибо.
Больше роликов делайте по CMSIS.
По мере свободного времени. Мог бы делать больше. Спасибо, учту.
Ждём вторую часть. Очень интересно как правильно затактировать таймеры, дма и usb..
👍
Спасибо большое. Неплохо было бы если под каждый видеоурок прикрепить примерный код касающейся данной темы.
Пожалуйста.
В этом видео кода нет ведь.
Круто
Подписывайтесь и изучайте вместе со всеми!
в#TOP!
Делаем дальше топ)
очень хорошее видео. уточните пожалуйста - (13.40) вы переводите мануал и пропускаете 8 Мгц + /- 1%, в это время знак "%" выскакивает. Я только начинаю изучать и возможно что-то не понимаю. СПС
Да, оговорился. Внутренняя тактовая частота генератора RC - 8 МГц и с допуском частота 1%. Спасибо большое за фидбэк.
Это видео называется : "STM32. CMSIS #1. RCC - настройки тактирования. Часть 1. Теория "
А часть 2, с практикой есть? я у вас на канале найти не могу...
Все верно. Будет сделано. В проекте.
@@NRelectronics Спасибо!
Пожалуйста)
здравствуйте .я ваш новый зритель(и я новичек в СТМ) и я видимо не нашел ответ на мой вопрос,а вопрос такой как на практике от чего отталкиваться при выборе того или иного делителя или частоты шин скажем есть проект и какую частоту выбрать и т.д.а уже с помощью вашего видео настоить будет не сложно. на 8 битных всего этого нету.может скините что почитать или посмотреть видео на примере средней сложности .спасибо
Здравствуйте. Рад что вы на канале.
Частота шины зависит от подключаемой вами переферии, от частоты её работы,или тактирования, делителем мы подбираем нужную нам эту частоту...
@@NRelectronics тоесть определяется скоростью периферии или ее протоколом (spi,i2c)+ для таймеров и прочего
отдельные настройки.ясно спасибо
Частотой работы spi вашего дисплея например... И настраиваете соответственно ваш мк.
Про флаги ничего не понял. Зачем они нужны? Помните пожалуйста, если не трудно
Флаги, это как бы ответ микроконтроллера на наши воздействия, записи в регистры. Иногда, после включения/изменения переферии МК взводится(устанавливается) флаг - чаще единичка, реже нуль, вместо единички и мы по этому флагу производим дальнейшую работу с МК.
Регистрам быть))))
Да!)))
Основная проблема при использовании CMSIS - числовые делители и множители не всегда нативны. Например кубик показывает множитель 10, математически получается верная частота, а в регистр нужно записать 8. Потому-что по документации от ST: 8 это 10 для этого регистра. Для старших чипов ещё веселей, там иногда используют сдвиговые регистры. И тогда 1,2,3,4,5 превращаются в 1,2,4,8,16.
В данный момент мучаю Н750, никакого дискомфорта не вызывает:) так что это все сугубо субъективщина.
Сдвиговые регистры соответствующими командами надо показать. Так чтобы с 10 и 8 было не попадалось, допускаю что не обратил внимание.
а если просто задефайнить в отдельном файле, а потом подключать по надобности. Сильно не пинайте я только учусь и CMSIS уж дюже нравится.
можно конечно комментировать дефайны.
Если честно, не понял о чем видео, потому что вы просто документацию читаете. Я могу и сам ее почитать, только полезно будет для тех кто английский плохо знает и все. Хотелось бы разобраться как настраивать частоту правильно на практике и какие варианты есть, хотя бы базовые. Потому что чтение документации особо ясность не вносит. Понятно, что там сложная система тактирования, но я ожидал хотя бы увидеть какие то примеры хотя бы настройки тактирования шин. Ну ладно, это больше я считаю конструктивная критика, видео может кому то показаться полезным. Может в других видео что то полезное для себя найду
после ваших слов "...Потому что чтение документации особо ясность не вносит..." - это как ножом по сердцу ребят, эксклюзивно перевожу документацию на канале, никто такого не делает на каналах, и то непонятно как делать, ну что такое...
@@NRelectronics я не так выразился может. Документация обязательна к прочтению, я всегда к ней обращаюсь в первую очередь, вместо статей в интернете. Просто чтение функций битов различных регистров в монотонном варианте это не то, что я ожидал, вот и все.
а, теперь понятно, значит сделаю как-нибудь видео с настройками на CMSIS, просто по дефолту оно уже стоит в 72МГц и понижение легкое путем рас комментирования нужной меньшей частоты, ок, сбацаем подробное практическое видео ;)
Можно показать как настроить тактирование на Н743
Но там ведь почти как в этом видео, просто больше ;-)
@@NRelectronics Неа. )) Тут на днях обновили CUBE IDE и теперь даже максималку надо руками делать. И да Вы вроде обещали как то снять видео по созданию проекта без генерации в CUBE но в среде CUBE IDE Если не сложно на H743 могли бы сделать.
Про обновления cube ide и дописывания руками не успел услышать. Да, CMSIS будет идоя Кейла и для cube ide CMSIS, семейство только не могу пока обещать.
@@NRelectronics Да любое семейство подойдет. Но вот H743 в сети очень мало. А 103 и 407 очень много так что H743 будет топчик
Куча примеров на GIThabe и Хабре... прямо с исходниками.
Не остановиться бы на пол дороге ?!!!!
Вот же. Постараюсь очень этого не сделать.
Мда, думал тут напишут инициализацию тактирования через CMSIS, а чувак тупо полчаса читал RM, ничего нового от себя не привнеся, и не написав ни строчки кода 👎
Инициализация на 72МГц написана уже при генерировании, переписывать ровно тоже самое это сделать ремейк)) у нас никто не читает RM, потому что все чуваки ленивые. А с этой инфой можно все в хидере перенастроить.
Да вашуж мать! Сидел три вечера сношался с системой тактирования на f103 пилюле чтоб запустить через cmsis, без осцилографа оказалось трудно понять запустился ли к примеру ФАПЧ(а так бы вывел наружу да померил, но дома увы только мозг), ибо систик пока не разобрал, в итоге первый вечер психуя топил свою тупость в алкоголе до восьми утра, второй вечер стал принемать в себе дегенеративные изменения, и лишь на третий вечер наковырял, ну как наковырял-удалил проект от урока и хренанул с нуля(вкорячивал на чистую в куб в рукопашку cmsis), оказалос что нельзя верить чужим урокам полностью, ибо некоторые дяди, видать с корыстной целью устранения конкурентов, вкорячивают в примере куски HAL в перемешку cmsis, а может это вообще происки амереканских спец. служб или даже самого Байдена!. И таки да флэшь латэнси надо настраивать тоже-ибо у меня походу падал hse вместе с ФАПЧ и контроллер аварийно переходил на hsi. Боже! Когда ты это осознаëшь-это как понять, что дверь толкаемая тобой в течение полу часа, тупо открывается в другую сторону! Но мир был создан без дверей и люди сами всë усложняют! Поэтому ОГРОМНОЕ СПАСИБО за очередное видео!!! И да прибудет с вами вселенское хорошо! Ну и печеньки)))
Если у вас установлена среда keil uvision, рабочий пример настройки RCC на CMSIS можно дернуть с проекта созданного в этой среде. Так для bluepill, в файле sustem_stm32f10x.c находятся готовые пресеты для частот 24, 36, 48, 56 и 72 MHz. Но под другую ide код нужно будет адаптировать, например, в CMSIS cubeide не определен дефайн RCC_CFGR_PLLSRC_PREDIV1, нужно писать RCC_CFGR_PLLSRC.
Абсолютно верно.
@@olegp.3012 Да собственно какая IDE особо роли не играет... cmsis я так понял от ARM либа и куда ты еë прикрутишь там и норм. Проблема в незнании элементарных вещей, грубо говоря автор сего канала наверняка прочитав мой комент поулыбался над моей безграмотностью, а вот тот кто находится на адекватном со мной уровне наверняка впитал мой опыт ))) Поэтому, Мужики!-не расслабляемся! Учимся и читаем! Читаем и учимся! Спасибо таким каналам! Всем успехов!