Π Π°Π±ΠΎΡ‚Π° с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ STM32 Π² срСдС Eclipse ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности для ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ встраиваСмых систСм. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ стандартного STM32CubeIDE, Eclipse ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с внСшними инструмСнтами. Однако Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ настройка ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ слоТности β€” особСнно Ρƒ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ сталкиваСтся с GCC, OpenOCD ΠΈ систСмой сборки Makefile.

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π²ΠΎ всСх Π½ΡŽΠ°Π½ΡΠ°Ρ…: ΠΎΡ‚ установки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ПО Π΄ΠΎ Ρ‚ΠΎΠ½ΠΊΠΎΠΉ настройки ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°. ΠœΡ‹ рассмотрим Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ вСрсии инструмСнтов (Π½Π° 2026 Π³ΠΎΠ΄), ΠΎΠ±ΠΎΠΉΠ΄Ρ‘ΠΌ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс. ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΌΠΈΠ³Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ с Π΄Ρ€ΡƒΠ³ΠΈΡ… IDE.

1. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° систСмы: Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎ Eclipse

ΠŸΠ΅Ρ€Π΅Π΄ настройкой самой Eclipse Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму. Π‘Π΅Π· этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² срСда просто Π½Π΅ смоТСт Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ. Бписок ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ПО:

  • πŸ“¦ Java JDK 17+ β€” Eclipse Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Java (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· java -version)
  • πŸ”§ GNU Arm Embedded Toolchain β€” компилятор для ARM Cortex-M (вСрсия 12.2.Rel1 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅)
  • πŸ”Œ OpenOCD β€” инструмСнт для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· ST-Link ΠΈΠ»ΠΈ J-Link
  • πŸ“„ STM32CubeMX β€” для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, Π½ΠΎ рСкомСндуСтся)

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ окруТСния. ПослС установки GNU Arm Toolchain Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠ°ΠΌ Π² PATH. НапримСр, для Windows это Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ C:\Program Files (x86)\GNU Arm Embedded Toolchain\12.2 rel1\bin. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ установки ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

arm-none-eabi-gcc --version
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Windows, установитС MinGW ΠΈΠ»ΠΈ WSL для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ make. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ make ΠΈΠ· Git Bash ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².
πŸ“Š Какой ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для STM32?
  • ST-Link
  • J-Link
  • Π”Ρ€ΡƒΠ³ΠΎΠΉ (ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² коммСнтариях)
  • Π•Ρ‰Ρ‘ Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π»

2. Установка Eclipse ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для STM32

Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ Eclipse IDE for C/C++ Developers с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта. Π’Π°ΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Π½Π΅ ΡΡ‚Π°Ρ€ΡˆΠ΅ 2023-12, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π΅Π»ΠΈΠ·Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ совмСстимости с ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ для встраиваСмых систСм. ПослС установки:

  1. ЗапуститС Eclipse ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (workspace).
  2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Help β†’ Eclipse Marketplace.
  3. НайдитС ΠΈ установитС ΠΏΠ»Π°Π³ΠΈΠ½ GNU ARM Eclipse (Π°Π²Ρ‚ΠΎΡ€ Liviu Ionescu).
  4. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ установитС Embedded Systems Register Viewer для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ просмотра рСгистров.

ПослС установки ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Eclipse. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² мСню появились Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹: GNU ARM ΠΈ OpenOCD. Если ΠΈΡ… Π½Π΅Ρ‚ β€” пСрСустановитС ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π»ΠΎΠ³ ошибок (Window β†’ Show View β†’ Error Log).

УстановлСн GNU ARM Eclipse|Π’ΠΈΠ΄Π΅Π½ ΠΏΡƒΠ½ΠΊΡ‚ GNU ARM Π² мСню|Доступна конфигурация OpenOCD|НСт ошибок Π² Error Log-->

3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° для STM32

Π•ΡΡ‚ΡŒ Π΄Π²Π° основных способа ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚: с нуля ΠΈΠ»ΠΈ Π½Π° основС ΠΊΠΎΠ΄Π°, сгСнСрированного Π² STM32CubeMX. Рассмотрим ΠΎΠ±Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°.

Бпособ 1: Π ΡƒΡ‡Π½ΠΎΠ΅ созданиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ File β†’ New β†’ C Project. Π’ мастСрС создания:

  1. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, STM32_BlinkLED).
  2. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Cross ARM GCC Π² качСствС ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ.
  3. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Configurations Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Debug ΠΈ Release.

Бпособ 2: Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠΈΠ· STM32CubeMX

Если Π²Ρ‹ сгСнСрировали ΠΊΠΎΠ΄ Π² CubeMX:

  1. ЭкспортируйтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊ Makefile (Π½Π΅ Eclipse!).
  2. Π’ Eclipse Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ File β†’ Import β†’ Existing Projects into Workspace.
  3. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ ΠΈΠ· CubeMX ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ Makefile ΡƒΠΊΠ°Π·Π°Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ arm-none-eabi-gcc. Часто CubeMX подставляСт Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ машинС.

ПослС создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ свойства (Right-click β†’ Properties) ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

  • πŸ”§ Π’ C/C++ Build β†’ Settings β†’ Tool Settings ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ компилятор.
  • πŸ“ Π’ Paths and Symbols Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΡƒΡ‚ΠΈ ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ STM32 (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это Drivers/CMSIS/Include ΠΈ Drivers/STM32Fxxx_HAL_Driver/Inc).

4. Настройка компилятора ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠ°

ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Π°Ρ конфигурация GCC β€” Π·Π°Π»ΠΎΠ³ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ сборки. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ свойства ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² C/C++ Build β†’ Settings.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ компилятора

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ GCC C Compiler β†’ Miscellaneous Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π»Π°Π³ΠΈ (для STM32F4):

-mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -std=gnu11

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π»ΠΈΠ½ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠ°

Π’ GCC C Linker β†’ General ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ скрипту Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, STM32F407VGTx_FLASH.ld). Π’ Miscellaneous Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅:

-T"${ProjDirPath}/STM32F407VGTx_FLASH.ld" -Wl,-Map="${BuildArtifactFileBaseName}.map" --specs=nosys.specs

Для Π΄Ρ€ΡƒΠ³ΠΈΡ… сСмСйств (STM32F1, STM32H7) ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. НапримСр, для STM32H7 потрСбуСтся:

-mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -std=gnu11
БСмСйство STM32 ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -mcpu ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -mfpu ABI
STM32F1 cortex-m3 β€” soft
STM32F4 cortex-m4 fpv4-sp-d16 hard
STM32H7 cortex-m7 fpv5-d16 hard
STM32L4 cortex-m4 fpv4-sp-d16 hard
πŸ’‘

Для ускорСния сборки Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ„Π»Π°Π³ -j4 Π² Build command (Ρ€Π°Π·Π΄Π΅Π» C/C++ Build β†’ Builder Settings). Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 4 ядра процСссора для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ компиляции.

5. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ OpenOCD для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

OpenOCD β€” ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ST-Link ΠΈ J-Link. Π•Π³ΠΎ настройка Π² Eclipse состоит ΠΈΠ· Π΄Π²ΡƒΡ… частСй: ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ интСграция с IDE.

Π¨Π°Π³ 1: Установка ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для вашСго ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. НапримСр, для STM32F4 Discovery ΠΈ ST-Link ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚:

source [find interface/stlink.cfg]

source [find target/stm32f4x.cfg]

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ этот Ρ„Π°ΠΉΠ» ΠΊΠ°ΠΊ stm32f4_discovery.cfg Π² ΠΏΠ°ΠΏΠΊΠ΅ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

Π¨Π°Π³ 2: Настройка Π² Eclipse

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Run β†’ Debug Configurations ΠΈ создайтС Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ GDB OpenOCD Debugging. Π’ΠΊΠ»Π°Π΄ΠΊΠΈ для заполнСния:

  • πŸ“Œ Main: ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмому Ρ„Π°ΠΉΠ»Ρƒ (*.elf).
  • πŸ”— Debugger: Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ arm-none-eabi-gdb.
  • πŸ“ Startup: ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ openocd.exe ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· J-Link ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³:

source [find interface/jlink.cfg]

source [find target/stm32f4x.cfg]

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если ΠΏΡ€ΠΈ запускС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Eclipse Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Error: libusb_claim_interface() failed, Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ всС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ST-Link (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, STM32CubeProgrammer ΠΈΠ»ΠΈ ST-Link Utility).
РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с "Error

unable to find CMSIS-DAP device":

Π­Ρ‚Π° ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Ссли Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ST-Link Π½Π΅ установлСн ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ устройствами. РСшСния:

1. ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ST-Link с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта STMicroelectronics.

2. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ USB-устройства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹ CH340).

3. Π’ ДиспСтчСрС устройств Windows ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ST-Link опрСдСляСтся ΠΊΠ°ΠΊ "ST-Link/V2-1" (Π° Π½Π΅ ΠΊΠ°ΠΊ Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½ΠΎΠ΅ устройство).

6. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°

Когда ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ собран, Π° OpenOCD настроСн, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅. Π’ Eclipse это дСлаСтся Ρ‡Π΅Ρ€Π΅Π· Run β†’ Debug Configurations:

  1. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Ρ€Π°Π½Π΅Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.
  2. НаТмитС Debug β€” начнётся процСсс ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°.
  3. ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΠΊΠ½ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ с рСгистрами ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.

Для простой ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π±Π΅Π· ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ STM32CubeProgrammer ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

st-flash write build/your_project.bin 0x08000000

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π° этом этапС:

  • 🚨 Ошибка Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΊ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΡƒ.
  • πŸ”„ ЗависаниС Π½Π° этапС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ: ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ ST-Link Ρ‡Π΅Ρ€Π΅Π· STM32CubeProgrammer.
  • ⚠️ НСсовпадСниС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы: очиститС Ρ„Π»Π΅Ρˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΎΠΉ (st-flash erase).
πŸ’‘

ВсСгда провСряйтС, Ρ‡Ρ‚ΠΎ Π² настройках ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΡƒΠΊΠ°Π·Π°Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ адрСс Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 0x08000000 для основной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ 0x20000000 для RAM). Ошибка Π² адрСсС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ нСработоспособности ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ.

7. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, настройтС Π² Eclipse ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты:

ГорячиС клавиши

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ сочСтания для часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄:

  • πŸ”₯ Ctrl+Shift+B β€” сборка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  • 🐞 F11 β€” запуск ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.
  • πŸ” Ctrl+H β€” поиск ΠΏΠΎ Ρ„Π°ΠΉΠ»Π°ΠΌ.

Π¨Π°Π±Π»ΠΎΠ½Ρ‹ ΠΊΠΎΠ΄Π°

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… конструкций (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, инициализация HAL_GPIO ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ прСрывания). Для этого ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Window β†’ Preferences β†’ C/C++ β†’ Code Style β†’ Code Templates.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Git

УстановитС ΠΏΠ»Π°Π³ΠΈΠ½ EGit для контроля вСрсий. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Π² ΠΊΠΎΠ΄Π΅ ΠΈ быстро ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ вСрсиям. Настройка:

  1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Window β†’ Perspective β†’ Open Perspective β†’ Git.
  2. ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ.
  3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· Team β†’ Share Project.

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ рСкомСндация: всСгда фиксируйтС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ вСрсии ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Π°ΠΏΠ΄Π΅ΠΉΡ‚ΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ HAL ΠΈΠ»ΠΈ CMSIS. ОбновлСния часто вносят нСсовмСстимыС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слоТно ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ.

FAQ: ЧастыС вопросы ΠΏΠΎ настройкС Eclipse для STM32

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Eclipse Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ arm-none-eabi-gcc?

Π­Ρ‚ΠΎ происходит, Ссли ΠΏΡƒΡ‚ΡŒ ΠΊ компилятору Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния PATH. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

  1. Π“Π΄Π΅ установлСн GNU Arm Toolchain (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ C:\Program Files (x86)\GNU Arm Embedded Toolchain\...).
  2. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ bin Π² PATH Ρ‡Π΅Ρ€Π΅Π· ПанСль управлСния β†’ БистСма β†’ Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.
  3. ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ Eclipse.
Как ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ "undefined reference to `HAL_Init'"?

Π­Ρ‚Π° ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Ссли:

  • НС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° HAL (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡƒΡ‚ΠΈ Π² Properties β†’ C/C++ Build β†’ Settings β†’ Libraries).
  • НС ΡƒΠΊΠ°Π·Π°Π½ скрипт Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΠ½ содСрТит ошибки.
  • Π€Π°ΠΉΠ»Ρ‹ stm32f4xx_hal.c ΠΈ system_stm32f4xx.c Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² сборку.

РСшСниС: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ всС ΠΏΡƒΡ‚ΠΈ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΏΠ°ΠΏΠΎΠΊ Drivers/STM32F4xx_HAL_Driver/Src ΠΈ Drivers/CMSIS/Device/ST/STM32F4xx/Source.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Eclipse для STM32 Π½Π° macOS?

Π”Π°, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π½ΡŽΠ°Π½ΡΡ‹:

  • УстановитС GNU Arm Toolchain Ρ‡Π΅Ρ€Π΅Π· brew install arm-none-eabi-gcc.
  • Для OpenOCD ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ· brew install openocd.
  • Π”Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для ST-Link ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· STSW-LINK009 (трСбуСтся ручная настройка ΠΏΡ€Π°Π² доступа ΠΊ USB).

На macOS Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ openocd для ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ бСзопасности (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ codesign).

Как пСрСнСсти ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ· STM32CubeIDE Π² Eclipse?

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠΉ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ:

  1. Π’ STM32CubeIDE экспортируйтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊ Makefile.
  2. Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² Eclipse Ρ‡Π΅Ρ€Π΅Π· File β†’ Import β†’ Existing Projects.
  3. НастройтС ΠΏΡƒΡ‚ΠΈ ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ (ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ).
  4. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ скрипт Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠΈ β€” CubeIDE ΠΈΠ½ΠΎΠ³Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ STM32CubeIDE ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ GCC, поэтому ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ пСрСсборка всСх Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

ΠšΠ°ΠΊΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Eclipse Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для STM32?

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ вСрсии (Π½Π° 2026 Π³ΠΎΠ΄):

  • Eclipse IDE 2023-12 β€” Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ для встраиваСмых систСм.
  • Eclipse Theia β€” Ссли Π½ΡƒΠΆΠ½Π° Π²Π΅Π±-вСрсия (ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°).

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ вСрсий Π½ΠΎΠ²Π΅Π΅ 2026-03 β€” ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ совмСстимости с ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ GNU ARM Eclipse. Для максимальной ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Eclipse CDT (C/C++ Development Tooling).