МногиС ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с сСмСйством ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² STM32, Π·Π°Π΄Π°ΡŽΡ‚ΡΡ вопросом ΠΎ Ρ‚ΠΎΠΌ, с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ настройку ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ. РаньшС СдинствСнным ΠΏΡƒΡ‚Π΅ΠΌ Π±Ρ‹Π»ΠΎ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ сотСн страниц Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ написаниС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, Ρ‡Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΎ Π½Π΅Π΄Π΅Π»ΠΈ. БСгодня процСсс ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ измСнился благодаря появлСнию спСциализированного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ STMicroelectronics.

STM32CubeMX β€” это графичСская ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°, которая позволяСт Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ C ΠΈ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ внСшниС прСрывания. Π­Ρ‚ΠΎ Π½Π΅ просто Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ΄Π°, Π° полноцСнная срСда для создания Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, которая интСгрируСтся с популярными IDE, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ STM32CubeIDE, Keil MDK ΠΈΠ»ΠΈ IAR Embedded Workbench.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» инструмСнта, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ мСняСт ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ встраиваСмых систСм. Π’Ρ‹ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ использованиС STM32CubeMX стало стандартом индустрии для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Π±Π°Π·Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ARM Cortex-M.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ инструмСнта

Главная Ρ†Π΅Π»ΡŒ создания STM32CubeMX Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² устранСнии Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… ошибок ΠΏΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΌ прописывании рСгистров. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдоставляСт ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный интСрфСйс, Π³Π΄Π΅ Π²Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ модСль Ρ‡ΠΈΠΏΠ° ΠΈΠ· ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π·Π°Ρ‚Π΅ΠΌ настраиваСтС Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· графичСскиС мСню. Π­Ρ‚ΠΎ позволяСт ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ΅ прилоТСния, Π° Π½Π΅ Π½Π° Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… опСрациях Π² рСгистрах.

Π‘Ρ€Π΅Π΄ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ стоит Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ HAL-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Hardware Abstraction Layer). Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° HAL обСспСчиваСт ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ сСмСйствами ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ для ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π’Π°ΠΌ большС Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ адрСса рСгистров для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, достаточно ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ.

  • πŸ› οΈ Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ настройка ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ: UART, SPI, I2C, ADC, Timers ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.
  • βš™οΈ ГСнСрация ΠΊΠΎΠ΄Π° C/C++ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ IDE для быстрой ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.
  • πŸ”Œ Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ вСрсий Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· встроСнный ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€.

Π Π°Π±ΠΎΡ‚Π° с Pinout & Configuration ΠΈ Clock Configuration

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈ самым Π²Π°ΠΆΠ½Ρ‹ΠΌ шагом Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ являСтся Π²ΠΊΠ»Π°Π΄ΠΊΠ° Pinout & Configuration. Π—Π΄Π΅ΡΡŒ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ схСматичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ корпуса вашСго ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° с ΠΏΠΈΠ½Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, GPIO ΠΈΠ»ΠΈ USART, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° автоматичСски ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡ… использованиС для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ, прСдотвращая ошибки Π½Π° этапС проСктирования.

Вторая критичСски ваТная Π²ΠΊΠ»Π°Π΄ΠΊΠ° β€” Clock Configuration. Частота Ρ€Π°Π±ΠΎΡ‚Ρ‹ ядра ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ опрСдСляСт ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ энСргопотрСблСниС устройства. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ автоматичСски рассчитываСт значСния Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ для PLL, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ частоту, исходя ΠΈΠ· Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ внСшнСго ΠΊΠ²Π°Ρ€Ρ†Π΅Π²ΠΎΠ³ΠΎ Ρ€Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Ошибка здСсь ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ всСго устройства.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частоты ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ пСрифСрия Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΌΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ сбои Π² ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ шинам SPI ΠΈΠ»ΠΈ UART.

Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ частоты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° допустимыС ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹, систСма подсвСтит ΠΏΠΎΠ»Π΅ красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ. Π­Ρ‚ΠΎ наглядный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ STM32CubeMX Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΎΡ‚ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ошибок ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

  • πŸ•’ Настройка PLL для достиТСния ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… частот Ρ€Π°Π±ΠΎΡ‚Ρ‹ ядра.
  • πŸ”‹ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ энСргопотрСблСния Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π±ΠΎΡ€ низкочастотных Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² для ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ.
  • πŸ“‰ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ошибок ΠΏΡ€ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π΅ источников тактирования.
πŸ“Š Какой инструмСнт Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
  • STM32CubeMX
  • Ручная настройка рСгистров
  • Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Ρ‹
  • НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Middleware ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ встраиваСмыС систСмы Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с "ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ", Π½ΠΎ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ слоТных ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ интСрфСйсов. Π’ STM32CubeMX Π·Π°Π»ΠΎΠΆΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Middleware β€” Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой, сСтСвыми стСками ΠΈ графичСскими интСрфСйсами.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ LwIP для TCP/IP стСка, FATFS для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с SD-ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ ΠΈΠ»ΠΈ USB Device/Host для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ хоста ΠΈΠ»ΠΈ устройства USB. Π­Ρ‚ΠΎ избавляСт ΠΎΡ‚ нСобходимости ΠΏΠΈΡΠ°Ρ‚ΡŒ слоТныС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ с нуля. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° автоматичСски добавляСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² структуру ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ настраиваСт зависимости.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Middleware?

Middleware β€” это ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Ρ€Ρ… HAL-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ прСдоставляСт высокоуровнСвыС API для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ спСцифичСских Π·Π°Π΄Π°Ρ‡, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π° с ΡΠ΅Ρ‚ΡŒΡŽ, Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈΠ»ΠΈ графичСским интСрфСйсом.

Для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этими модулями Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с прСрываниями ΠΈ Π±ΡƒΡ„Π΅Ρ€Π°ΠΌΠΈ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ позволяСт Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² прямо Π² интСрфСйсС, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ.

  • 🌐 Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ стСки: интСграция LwIP для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ethernet ΠΈ WiFi.
  • πŸ’Ύ Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° FATFS для чтСния ΠΈ записи Π½Π° носитСли.
  • πŸ–₯️ ГрафичСскиС интСрфСйсы: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° STM32GUI ΠΈ TouchGFX для дисплССв.

ГСнСрация ΠΊΠΎΠ΄Π° ΠΈ Π²Ρ‹Π±ΠΎΡ€ IDE

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ всСх настроСк наступаСт этап Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ†Π΅Π»Π΅Π²ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE) Π² ΠΎΠΊΠ½Π΅ экспорта. STM32CubeMX создаСт структуру ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹. Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ оставляСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·ΠΎΠ½Ρ‹ Π² ΠΊΠΎΠ΄Π΅, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ коммСнтариями, ΠΊΡƒΠ΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ свой ΠΊΠΎΠ΄.

ΠŸΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² STM32CubeMX инструмСнт Π½Π΅ Π·Π°Ρ‚Π΅Ρ€Π΅Ρ‚ ваши ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ измСнСния, Π° лишь ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ части. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈ бСзопасным. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ, ΠΏΠ΅Ρ€Π΅ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½Π΅ опасаясь ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ прилоТСния.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ практичСски всС соврСмСнныС компиляторы. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ STM32CubeIDE, Keil MDK-ARM, IAR EWARM, Makefile для GCC ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ System Workbench. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌ Ρ€Π°Π·Π½Ρ‹Π΅ инструмСнты.

IDE Π’ΠΈΠΏ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ
STM32CubeIDE БСсплатная Полная нативная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°, встроСнная ΠΎΡ‚Π»Π°Π΄ΠΊΠ°
Keil MDK ΠŸΠ»Π°Ρ‚Π½Π°Ρ Π¨ΠΈΡ€ΠΎΠΊΠΎ распространСна, отличная оптимизация
IAR Embedded Workbench ΠŸΠ»Π°Ρ‚Π½Π°Ρ Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ компилятора
Makefile (GCC) БСсплатная Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ для Linux-срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π Π°Π±ΠΎΡ‚Π° с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² STM32CubeMX Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ созданиС, Π½ΠΎ ΠΈ сохранСниС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ² .ioc. Π­Ρ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ содСрТат ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ настройках ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² систСмах контроля вСрсий, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Git. Π­Ρ‚ΠΎ позволяСт ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΆΠ΅Π»Π΅Π·Π° Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ измСнСния ΠΊΠΎΠ΄Π°.

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄ сСмСйством совмСстимых устройств, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ пСрСнСсти ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‡ΠΈΠΏΠ° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ Π½ΠΎΠ²ΡƒΡŽ модСль. Π­Ρ‚ΠΎ экономит ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ².

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ пСрСносС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ Ρ‡ΠΈΠΏ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ раскладку ΠΏΠΈΠ½ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ совмСстимая пСрифСрия ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ располоТСна Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Ρ‹Π²ΠΎΠ΄Π°Ρ… корпуса.

Π’Π°ΠΆΠ½ΠΎ рСгулярно ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π΄ внСсСниСм Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ быстро ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ Π½Π°Π·Π°Π΄, Ссли новая конфигурация ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅.

πŸ’‘

Π€Π°ΠΉΠ»Ρ‹ .ioc ΡΠ²Π»ΡΡŽΡ‚ΡΡ СдинствСнным источником истины для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΆΠ΅Π»Π΅Π·Π°, ΠΈΡ… нСльзя Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Π±Π΅Π· риска ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°

ПослС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ пСрСноса Π΅Π³ΠΎ Π² IDE начинаСтся этап ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. STM32CubeMX прСдоставляСт инструмСнты для Π°Π½Π°Π»ΠΈΠ·Π° использования рСсурсов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ стСк ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ стСка для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ прСрывания, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ пСрСполнСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся частой ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ зависаний.

Для ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ позволяСт Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ памяти ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с прСрываниями Π½Π° Ρ€Π°Π½Π½ΠΈΡ… этапах. ИспользованиС ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ критичСских участков ΠΊΠΎΠ΄Π°.

  • πŸ” Анализ стСка: расчСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° памяти для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°.
  • ⚑ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ компилятора: Π²Ρ‹Π±ΠΎΡ€ уровня ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π² настройках ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  • 🐞 ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ² ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ.
πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· UART для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ² ΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, это самый простой способ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит Π²Π½ΡƒΡ‚Ρ€ΠΈ систСмы Π±Π΅Π· использования Π΄ΠΎΡ€ΠΎΠ³ΠΎΠ³ΠΎ оборудования.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

НуТно Π»ΠΈ Π·Π½Π°Ρ‚ΡŒ C++ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с STM32CubeMX?

НСт, Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ создаСт ΠΊΠΎΠ΄ Π½Π° языкС C. Однако, Ссли Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ C++ Π² своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ IDE для компиляции Ρ„Π°ΠΉΠ»ΠΎΠ² с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .cpp, ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° HAL Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ STM32CubeMX для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ?

НСт, Π΄Π°Π½Π½Ρ‹ΠΉ инструмСнт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² сСмСйства STM32 ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ STMicroelectronics. Для Π΄Ρ€ΡƒΠ³ΠΈΡ… сСмСйств (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, AVR ΠΈΠ»ΠΈ PIC) ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ свои собствСнныС инструмСнты ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ отсутствуСт Π² спискС?

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ выбранная модСль ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΈΠ»ΠΈ трСбуСтся ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ вСрсии STM32CubeMX. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ Π½Π° Ρ‡ΠΈΠΏ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ (Package) Π² мСню Help.

Как ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ HAL Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅?

Для обновлСния Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ мСню Help β†’ Manage Embedded Software Package. Π—Π΄Π΅ΡΡŒ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ список доступных ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ сСрии ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ обновлСния, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° скачаСт ΠΈ установит Π½ΠΎΠ²Ρ‹Π΅ вСрсии Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ².

ΠŸΠΎΡ‡Π΅ΠΌΡƒ сгСнСрированный ΠΊΠΎΠ΄ Π½Π΅ компилируСтся?

Π§Π°Ρ‰Π΅ всСго это связано с отсутствиСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ IDE. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ всС сгСнСрированныС Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈ Ρ‡Ρ‚ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ HAL ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π² настройках компилятора.