Size: a a a

2019 December 07

s

stD in STM32
📖 Обязательно прочтите 📖

Просьба к участникам
:

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

Бессмысленные высказывания и посты не имеющие отношения к обсуждаемой в группе теме будут удаляться без объяснения.

То же самое касается обсуждения "кряков" и прочей противозаконной деятельности.

Особо непонятливвые участники будут подвержены суровым репрессиям.

Предложения различных услуг только с разрешения  администрации.

Если хочется поболтать на отвлечённые темы, то для этого есть специальная группа https://t.me/STM_AVR_free_speach

---------------------------------------------------------------------

Так же есть группа для вопросов по языку СИ, в целом, не только относительно МК - https://t.me/c_prog

Группа про Arduino - https://t.me/arduinostD

Группа про Linux - https://t.me/linux_times

Это круг моих интересов в области IT, поэтому с удовольствием поболтаю.

Ещё есть канал https://t.me/istarik, в которой приходит инфа о появлении новых статей на моём сайте.

---------------------------------------------------------------------

Для вставки больших кусков кода используйте https://pastebin.com/ https://pastebin.com/  (ссылку в чат)

Спасибо
. 🖖

Ниже идёт несколько постов с полезной и нужной информацией по теме...
источник

s

stD in STM32
источник

s

stD in STM32
⚙️ REFERENCE MANUALS ⚙️

------------------------------------------------------

stm32H7

Reference manual (RM0433)

Programming manual (PM0253)

-------------
stm32F7

Reference manual F72x, F73x (RM0431)

Reference manual F74x, F75x (RM0385)

Reference manual F76x, F77x (RM0410)

Programming manual (PM0253)

-------------
stm32F4

Reference manual F401xB/C, F401xD/E  (RM0368)

Reference manual F410  (RM0401)

Reference manual F413/423  (RM0430)

Reference manual F405/415, F407/417, F427/437, F429/439 (RM0090)

Reference manual F446 (RM0390)

Reference manual F469, F479 (RM0386)

Programming manual (PM0214)

-------------
stm32F3

Reference manual F301x6/8, F318x8  (RM0366)

Reference manual F302xB/C/D/E, F302x6/8  (RM0365)

Reference manual F303xB/C/D/E, F303x6/8, F328x8, F358xC, F398xE (RM0316)

Reference manual F334x (RM0364)

Reference manual F37x (RM0313)

Programming manual (PM0214)

-------------
stm32F2

Reference manual F2xx  (RM0033)

Programming manual (PM0056)

-------------
stm32F1

Reference manual F100  (RM0041)

Reference manual F101, F102, F103, F105, F107  (RM0008)

Programming manual (PM0056)

-------------
stm32F0

Reference manual F030x4/x6/x8/xC, F070x6/xB   (RM0360)

Reference manual F0x1, F0x2, F0x8  (RM0091)

Programming manual (PM0215)

-------------
stm32G0

То же самое что L0

-------------
stm32L5

-------------
stm32L4

Reference manual L41x, L42x, L43x, L44x, L45x, L46x   (RM0394)

Reference manual L4x5, L4x6   (RM0351)

Programming manual (PM0214)

-------------
stm32L1

Reference manual L100, L151, L152, L162   (RM0038)

Programming manual (PM0056)

-------------
stm32L0

Reference manual L0x0 (RM0451)

Reference manual 0x1 (RM0377)

Reference manual L0x2 (0376)

Reference manual L0x3 (RM0367)

Programming manual (PM0223)

-------------------------------------------------------------

❗️ ERRATA Sheet ❗️

F10xxC/D/E

F40x, F41x

F42xx,  F43xx

F76xxx,  F77xxx

-------------------------------------------------------------

📝 Application note 📝

System memory BOOT - AN2606
источник

s

stD in STM32
🛠 IDE 🛠

STM32CubeMX (Win, Linux, Mac).  Программа для инициализации периферии и генерации первичного кода в графическом режиме. Разработана компанией ST специально для stm32. Генерирует код основаный на библиотеке HAL, либо LL. Очень удобный, полезный и бесплатный инструмент. Генерирует код для различных IDE представленных ниже, а так же Makefile для поклонников "хардкора" 😉

Atollic TrueSTUDIO (Win, Linux). Среда основанная на Eclipse. Выкуплена компанией ST и распространяется бесплатно. С недавнего времени поддержка прекращена в пользу STM32CubeIDE. Тем не менее, лично я всё ещё пользуюсь TrueSTUDIO так как STM32CubeIDE пока ещё сыроват.

STM32CubeIDE (Win, Linux, Mac). Собственная разработка компании ST объединяющая в себе TrueSTUDIO и STM32CubeMX. Как говорилось выше, среда ещё сыровата, но есть все основания полагать, что копания ST будет её развивать.

Keil MDK (Win). Популярная среди разработчиков среда. Является бесплатной отчасти. Если написаный код не превышает 30Кб, то бесплатно, если больше, то надо покупать лицензию.

SW4STM32 (Win, Linux, Mac). Эта среда так же основана на Eclipse, и похожа на TrueSTUDIO. Думаю в дальнейшем Alexey или ещё кто-нибудь расскажет о ней больше.

IAR (Win). Простая (в плане количества надстроек) и мощная среда, с собственным компилятором, но при этом не самым удобным редактором кода. Очень быстрая сборка и отладка.


Не задавайте вопрос, - "какая среда лучше?" - все хороши и выполняют свою задачу на 100%. Что же касается мнения людей, то они конечно же важны, но, как говорится, - "Каждый кулик хвалит своё болото". Пробуйте и решайте какая вам больше по душе.

Помимо этого, есть ещё различные среды типа Clion, PlatformIO и Arduino IDE.

------------------------------------------------------------------

🔩 УТИЛИТЫ 🔩

STM32CubeProg (Win, Linux, Mac)

ST-LINK utility (Win)

------------------------------------------------------------------

🛠 Мануалы для IDE 🛠


AtollicTrueStudio


Установка TrueStudio и STM32CubeMX

Atollic_Serial_wire_viewer_realtime_tracing

Загрузка без Debug

Добавление ссылки на файл

Проект на CMSIS в TrueStudio
источник

s

stD in STM32
📚 Библиотеки 📚

CMSIS - низкоуровневая библиотека, разработаная компанией ARM, для работы с микроконтроллерами на базе Cortex, в том числе и для stm32. Использование CMSIS позволяет получить самый быстрый и компактный код, но требует от разработчика высокого уровня понимания "железа". Крутые "гуру" пишут на CMSIS.

HAL - высокоуровневая библиотека разработаная компанией ST для программирования микроконтроллеров stm32. По сути, это обёртка над CMSIS, сильно упрощающая разработку, и снижающая уровень вхождения. Однако как говорится, за всё нужно платить, код на HAL довольно таки "тяжёлый" и занимает много памяти.

Все необходимые функции HAL'а генерируются в STM32CubeMX, поэтому не требуется ничего устанавливать и подключать. В общем очень удобно, снижает уровень вхождения до минимума, и сильно облегчает жизнь не только начинающим падаванам, но профессиональным разработчикам. Так же HAL обеспечивает переносимость кода с камня на камень. То есть написав программу для F1 вы практически "безболезненно" сможете использовать её на F3.

Как говорилось выше, HAL это фактически обёртка над CMSIS, а значит изучая HAL вы можете проследить что делают функции и тем самым изучать CMSIS, и постепенно прокачивать "скилы".

Примеры на HAL


LL - это набор драйверов (функций), которые можно описать как "низкоуровневый HAL". Эти функции выполняются быстрее чем HAL, но работают не со всей приферией. Код опять же генерируется в STM32CubeMX (там есть выбор, HAL или LL).

SPL - эта библиотка нечто среднее между CMSIS и HAL. Можно сказать, что HAL пришёл на смену SPL. Многие разработчики продолжают её использовать, но она постепенно уходит в прошлое. Например разрабатывать программы для современных камней (F7, H7, L4) с помощью SPL вы уже не сможете. Так что браться за её изучение не стоит.

Если есть какой-то старый код на SPL, то его вроде как можно перенести на LL, и даже вроде как есть специальные конверторы, но я за это ничего не знаю - не интересно.
источник

s

stD in STM32
источник

s

stD in STM32
Резерв.
источник

s

stD in STM32
### ТЕГИ ###

Понимание этого механизма ещё не до конца сформировалось. Пока что идея такова: когда появляется решение вопроса заданного ранее, то оно озаглавливается соответствующим тегом.

Теги типа...

#таймер #dma #i2c #spi #freertos
и т.д.

В дальнейшем по этому тегу можно искать ответы чтоб не повторяться.

Небходимые теги я буду добавлять по просьбам участников.
источник

s

stD in STM32
Резерв.
источник

s

stD in STM32
источник

s

stD in STM32
Резерв.
источник

s

stD in STM32
Резерв.
источник

КБ

Константин Буланов in STM32
Понимаю что сейчас не много не время про ботов напомнить. Но можно прилепить бота кторый будет отдавать ссылки и группы темы и т.д. по запросам.
источник

А

Артем in STM32
А как так получилось что удалили старый , по ошибке ?
источник

s

stD in STM32
Да, делал кое-что и накосячил. В общем как всегда, банальная невнимательность.
источник

v

vyacheslav@deepin:~$ in STM32
stD
Резерв.
И вопрос и ответ нужно, если ответ без ссылки на вопрос или цитаты
источник

AS

Andrey Spirin in STM32
stD
Да, делал кое-что и накосячил. В общем как всегда, банальная невнимательность.
Жесть)
источник

ВЛ

Владимир Лапшин in STM32
stD
Резерв.
Идея хорошаю...
но может материалы да страницку со сылками в облаке похранить?
а тут ссылку на облако?
источник

v

vyacheslav@deepin:~$ in STM32
или на статью из телеграфа, где составить список всего
источник

YL

Yury Lyushnevsky in STM32
stD
### ТЕГИ ###

Понимание этого механизма ещё не до конца сформировалось. Пока что идея такова: когда появляется решение вопроса заданного ранее, то оно озаглавливается соответствующим тегом.

Теги типа...

#таймер #dma #i2c #spi #freertos
и т.д.

В дальнейшем по этому тегу можно искать ответы чтоб не повторяться.

Небходимые теги я буду добавлять по просьбам участников.
Да, жаль. В той группе много было написано и рассказано. Можно было вернуться и почитать заново.
источник