ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ clion Π½Π° windows
Π¨ΠΊΠΎΠ»Π°179
MinGW β Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° GNU C/C++ Π΄Π»Ρ Windows. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΡΡΠ΅Π΄Π°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΡΠΎΠΌΠ΅ Visual Studio, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ. Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π° ΡΠ΅ΡΠ½ΠΎ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ MinGW ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ MinGW. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ MinGW ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΡΠ΅Π΄ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Code::Blocks.
ΠΠΎ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΠ΅Π΄Π° CLion ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ MinGW. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π·ΡΡΡ MinGW ΠΈΠ· Code::Blocks, ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ MinGW Π²Π½ΡΡΡΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΠΊΡΠ΄Π° Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Code::Blocks, ΡΠΎ Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ MinGW ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌ: C:\Program Files (x86)\CodeBlocks\MinGW\. ΠΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ β Π² Code::Blocks Π²Π΅ΡΡΠΈΡ MinGW, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΡΠ°ΡΠ°Ρ.
1. ΠΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ MinGW-w64
1. Π‘ΠΊΠ°ΡΠ°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ mingw-w64-install.exe ΠΎΡΡΡΠ΄Π° ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ next. Π£ΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ MinGW.
2. ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ MinGW ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ: Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° (ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π°Ρ Π±ΡΠ΄Π΅Ρ 7.2.0 Π½Π° Π½Π°ΡΠ°Π»ΠΎ 2018 Π³.), Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ (ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ 32-Π±ΠΈΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ i686 Π½Π° 64-Π±ΠΈΡΠ½ΡΡ x86_64), Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠ΅Π½ΡΡΡ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ.
3. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΏΡΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΡΠΎΡ ΠΏΡΡΡ ΠΈΠ»ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π΄ΡΡΠ³ΠΎΠΉ.
4. Π£ΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ. ΠΠ΄Π΅ΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
5. ΠΠ΄Π΅ΠΌ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ «Click Next to continue the installation» ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Next.
6. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ bin ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΠΊΡΠ΄Π° Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ MinGW, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ PATH.
2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Clion
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Clion Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ. ΠΠΌΡΠΌ «Next» Π½Π° Π²ΡΠ΅Ρ ΡΠΊΡΠ°Π½Π°Ρ . ΠΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° CLion ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ°.
1. ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠ°ΡΡ OK. ΠΠ° Π΄ΡΡΠ³ΠΈΡ
ΡΠΊΡΠ°Π½Π°Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ Π½ΠΈΠΆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ «Next».
file:clion1.png
2. ΠΠ΄Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Clion, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ ΠΎΡ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ° Π½Π° ΡΠ°ΠΉΡΠ΅ jetbrains.com. ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ https://www.jetbrains.com/student/, ΠΏΡΠΈ ΡΡΠΎΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π΄ΡΠ΅ΡΠ° ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π°Π΄ΡΠ΅Ρ Π² Π΄ΠΎΠΌΠ΅Π½Π΅ @179.ru β ΡΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π½Π° Π²ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ.
file:clion2.png
3. ΠΠ΄Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ MinGW. ΠΠ»ΠΈΠΊΠ°ΠΉΡΠ΅ Π½Π° ΡΡΡΠ»ΠΊΡ MinGW.
file:clion2.png
4. ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΊΡΠ°Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΡΡ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ, ΠΊΡΠ΄Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ MinGW («Use MinGW home»). ΠΠΎΠΆΠ΄ΠΈΡΠ΅ΡΡ, ΠΏΠΎΠΊΠ° clion ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ gdb.
file:clion4.png
5. ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΊΡΠ°Π½Π°Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΎΠ½ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½Ρ, ΠΏΡΠΎΡΡΠΎ ΠΆΠΌΠ΅ΠΌ Next.
3. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Code::Blocks
1. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ Code::Blocks, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ MinGW, Π° ΠΏΠΎΡΠΎΠΌ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ MinGW. Π‘ΡΡΠ»ΠΊΠ° Π΄Π»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ: https://sourceforge.net/projec[..]w-setup.exe/download
2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Code::Blocks Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΠΉ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ.
3. ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ Code::Blocks ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ Gnu GCC Compiler β ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ. ΠΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ MinGW. ΠΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΠΌΠ΅Π½Ρ «Settings β Compiler», ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «Toolchain exacutables» Compiler’s installation directory Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ MinGW (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, C:\soft\mingw-w64\i686-7.2.0-posix-dwarf-rt_v5-rev1\mingw32)
Tutorial: Configure CLion on Windows
On Windows, configuring CLion requires setting up the environment: Cygwin, MinGW, WSL, or Microsoft Visual C++. You can have several environments installed on your system and create separate CLion toolchains for each of them. As a determining part of a toolchain, the environment provides C and C++ compilers, the make utility, and the debugger (in case of using default tools).
For details on Remote Host toolchains, see Full Remote Mode.
MinGW
MinGW-w64 (64- and 32-bit)
Download and run the MinGW-w64 installer. It provides both 64- and 32-bit options.
In the MinGW-w64 installation wizard, make sure to select the required architecture. Note that the default suggested option is 32-bit.
CLion will attempt to detect the MinGW installation automatically. Check the detection result in the Environment field, and specify the path manually if required.
Wait until the tools detection finishes.
Select the Debugger : you can use either MinGW-w64 GDB or a custom GDB binary.
Click Apply when all the tools are set correctly.
MinGW (32-bit only)
Although MinGW-w64 provides both 64- and 32-bit options, you can also install MinGW, the 32-bit-only version.
In the Debugger field, you can choose between the bundled GDB, MinGW GDB, or your custom GDB executable.
The recommended option is bundled GDB, since it is guaranteed to include Python support required for CLion data renderers.
Cygwin
Download the Cygwin installer, version 2.8 or later.
To select a package, type its name in the Search field and set the version in the New column:
Select Cygwin from the Environment list. CLion will attempt to detect the Cygwin installation automatically. Check the detection result, and specify the path manually if required.
Windows Subsystem for Linux
You can use WSL, Windows Subsystem for Linux, as your working environment in CLion on Windows 10 (starting the Fall Creators Update version 1709, build 16299.15).
WSL toolchain enables you to build projects using CMake and compilers from Linux and run/debug on WSL without leaving CLion running on your Windows machine.
Refer to our WSL guide for details on setting up WSL on your system and configuring WSL toolchains in CLion.
Microsoft Visual C++
Install Visual Studio 2013, 2015, 2017, or 2019 on your system.
Check the Environment field. CLion will attempt to automatically detect the installed Visual Studio distribution. If the detection fails, set the path to Visual Studio manually.
Wait until the tools detection is finished:
MSVC compiler
CLion supports the Microsoft Visual C++ compiler that ships with Visual Studio 2013, 2015, 2017, and 2019.
Note that msbuild is not supported: CLion runs CMake with the NMAKE generator instead.
For the case when your code includes MSVC extensions, CLion provides the support for:
additional format specifiers, such as %I32 and %I64 ;
Clang-cl compiler
As an alternative compiler, you can use clang-cl- the MSVC-compatible compiler driver for Clang. CLion supports clang-cl version 8.0 and later.
Install clang-cl from the LLVM site or along with the Visual Studio tools.
When installed from the LLVM site, the clang-cl binary can be found at the standard location C:\Program Files\LLVM\bin\clang-cl.exe for the 64-bit version or C:\Program Files (x86)\LLVM\bin\clang-cl.exe for the 32-bit version.
In CLion, go to File | Settings | Build, Execution, Deployment | Toolchains and select the Visual Studio toolchain that you want to configure, or create a new one.
MSVC debugger
The MSVC toolchain debugger is implemented on top of LLDB, and it can work with native visualizers from the Visual Studio installation or from your project.
To enable native visualizers support and set the desired diagnostics level, select the Enable NatVis renderers for LLDB checkbox in Settings | Build, Execution, Deployment | Debugger | Data Views | C/C++ :
If you have custom native visualizers in your project, CLion will use them as well.
Clang compiler on Windows
With CMake 3.15, it has become possible to use the Clang compiler on Windows with the MinGW-w64/MinGW toolchain.
However, the LLVM Clang for Windows is built using Microsoft Visual Studio, and all the built-in macros and include search paths are set up for use with Visual Studio. So if you take Clang from the LLVM repository, it will not work correctly when configured with the MinGW toolchain. One of the possible workarounds is described below.
Set up the Clang compiler for MinGW
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° IDE Clion ΠΈ Cmake Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ STM32 ΠΈ C++
ΠΠ΅ΡΠ΅Π΄ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΌΠΎΠ΅ΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΠΈΠΊΠΈ.
ΠΠ°Π²Π½ΠΎ Ρ ΠΎΡΠ΅Π» ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ , Π²Π΅ΡΠ½Π΅Π΅ Π±ΡΠ»ΠΈ ΠΈΠ΄Π΅ΠΈ Ρ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ. Π‘Π½Π°ΡΠ°Π»Π° Π½Π°ΡΠ°Π» Ρ PIC32 β ΠΎΠ³ΠΎΠ½Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ. Π’Π°ΠΊ ΠΏΠΎΠ»ΡΡΠ°Π»ΠΎΡΡ, ΡΡΠΎ ΠΏΠΎΠ½Π°ΡΠ°Π»Ρ ΠΈ ΠΊΠΎΡΠΎΡΠΈΠ» ΠΈΡ ΠΏΠΎΡΡΡ, ΠΈ Ρ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π·Π°Π²ΡΡΠ°Π» β Π½Π΅ΡΠ±ΠΈΠ²Π°Π΅ΠΌΡΠ΅ (Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΠΎΡΡ ΠΏΡΠ°Π²Π΄Π° ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ ΡΠ³ΠΎΡΠ΅Π», Π½ΠΎ ΡΠ°ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π» ΡΠ°Π±ΠΎΡΡ). IDE MplabX Π½Π΅ΠΏΠ»ΠΎΡ Π°, ΠΏΠΎΠ΄ΠΊΡΠΏΠ°Π» Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π±Π»ΠΎΠΊ Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ RAM/Flash Π½Π° Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ ΠΠ β ΡΠ΄ΠΎΠ±Π½ΠΎ, Π½ΠΎ ΡΠ°ΠΌ NetBeans ΠΊΠ°ΠΊ IDE ΡΡΠΎ ΠΆΠ΅ΡΡΡ, Π½Ρ Π½Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π½ΠΈ ΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Idea. ΠΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° Π½Π΅ Π² ΡΡΠΎΠΌ β ΠΊΠ°ΠΊ ΠΏΠΎΡΠΎΠΌ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, PIC’ΠΈ ΡΡΠΆΠ΅Π»ΠΎ Π΄ΠΎΡΡΠ°ΡΡ, ΠΌΠ°Π»ΠΎ ΠΊΡΠΎ ΠΈΡ Π²ΠΎΠ·ΠΈΡ, Π° Π΅ΡΠ»ΠΈ ΠΈ Π²ΠΎΠ·ΠΈΡ, ΡΠΎ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠ΅Π½Π΅.
ΠΠ°Π»ΡΡΠ΅ ΡΠ΅ΡΠΈΠ» ΠΊΠΎΠΏΠ½ΡΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ STM32 β ΠΎΠ½ΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΡ
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π°Ρ
, Π·Π° Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΡ ΠΏΡΠΎΡΡΡ Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ β ΡΡΠΎ Π΄ΠΎΡΡΠ°Π²Π°Π΅ΠΌΠΎΡΡΡ. (ΠΠΎ ΠΊΠΎΠ΄ΠΎΠ³Π΅Π½Π΅ΡΠ°ΡΠΎΡ STM’Π° Ρ
ΡΠΆΠ΅ Microchip’a β Π²Π΅ΡΡ ΡΠ°ΠΉΠ» Π·Π°Π³Π°ΠΆΠ΅Π½ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΡΡΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΠ³ΠΎΡΡΠΈΠ»ΠΎ. Π£ Microchip’Π° Π²ΡΠ΅ ΡΠ³Π΅Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ½Π΅ΡΠ΅Π½Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ main.c ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΡΡ β ΠΏΡΠ΅Π»Π΅ΡΡΡ).
(UPD: Π²ΠΎΡ ΡΡΡ ΠΏΡΠΈΠ·Π½Π°ΡΡΡ ΠΎΡΠΈΠ±Π°Π»ΡΡ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ golf2109, ΠΎΠ½ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Π», ΡΡΠΎ ΠΎΡ Π·Π°Π²Π°Π»ΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΡΠ°ΠΉΠ»Π° main.c ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΠΎΠΏΡΠΈΡ Π΄Π»Ρ Π²ΡΠ½Π΅ΡΠ΅Π½ΠΈΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π½ΠΎ Ρ Π²ΡΠ΅ ΠΆΠ΅ Π² Π½Π΅Π΄ΠΎΡΠΌΠ΅Π½ΠΈΠΈ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π½Π΅ Π΄Π΅ΡΠΎΠ»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°, Π²ΡΠΎΠ΄Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ)
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ± IDE Π΄Π»Ρ STM32.
ΠΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Ρ Π²Π°Π»Π΅Π½ΡΠΉ Keil β ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΡΠ΅ Π±Π»ΠΎΠΊΠ½ΠΎΡΠ°, Π½ΠΎ ΡΠΆΠ°ΡΠ½ΠΎ Π½Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΉ (Π½ΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ, Π½ΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠ»Π΅ Idea Π² ΠΎΠ±ΡΠ΅ΠΌ Π½Π΅ ΡΠΎ ΠΏΠ°Π»ΡΡΠΎ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Ρ ΡΠ°ΠΊ ΠΈ Π½Π΅ ΠΏΠΎΠ½ΡΠ» ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΎΡΡΠΎ Π² ΠΎΠΊΠΎΡΠΊΠ΅ ΡΠΊΠ½ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ β ΠΌΠ°ΡΡΠ³Π°ΡΡΡΡ Ρ ΠΎΡΠ΅ΡΡΡ).
ΠΠΎΡΠΎΠΌ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» CooCox β Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅ ΠΈ ΠΏΡΠΈΡΡΠ½Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Ρ ΠΎΡΠΎΡΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΏΡΡΠΌ ΠΏΠΎΡΠ°Π΄ΠΎΠ²Π°Π»Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΌΠ΅ΡΠΎΠ΄Π°Ρ , Π΄Π° ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΡΠ΅Π½Ρ ΠΊΡΡΠ°ΡΠΈ), Π½ΠΎ ΠΎΠΏΡΡΡ ΠΆΠ΅ Π½Π΅ Ρ Π²Π°ΡΠ°Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΠ»ΡΡΠ΅ΠΊ ΠΎΡ Idea ΠΈ ΠΎΠΏΡΡΡ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
ΠΡΠ΅ ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β Π΄Π΅Π±Π°Π³Π³Π΅Ρ, ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ Π² Π±Π»ΠΎΠ³Π΅, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π»ΠΈ Π² Ozone, Π΅Π³ΠΎ Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ΡΡΠΈΠ», ΠΏΠΎΠ·ΠΆΠ΅ ΠΎΡΠΏΠΈΡΡΡΡ.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΠ²Π΅ΡΠ»ΠΈΠ²ΡΠ°Ρ ΠΌΠΎΠ·Π³. ΠΡΠ΅Π½Ρ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΠΠΠ, Π½ΠΎ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΠ»ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π΅ΡΠ»ΠΈ Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ» C++ ΡΠ°ΠΉΠ», ΠΊΡΡΠ° ΠΎΡΠΈΠ±ΠΎΠΊ Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, _exit, _sbrk ΠΈ ΠΏΡ.). ΠΠ΄Π΅ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π±ΡΠ»ΠΎ 2:
Π Π°Π±ΠΎΡΠ°ΡΡ ΡΡΠ°Π»ΠΎ ΠΏΡΠΈΡΡΠ½ΠΎ, Π½ΠΎ ΠΏΠΎΠΊΠ° Π·Π°Π»ΠΈΠ²Π°Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΡΠ΅ΡΠ΅Π· STM’ΠΎΠ²ΡΠΊΡΡ ΡΡΠΈΠ»ΠΈΡΡ, ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΡ Π½Π°ΠΊΡΡΡΠΈΡΡ OZONE. ΠΠ° Π²ΠΎΠΏΡΠΎΡΡ ΠΎΡΠ²Π΅ΡΡ (Π΅ΡΠ»ΠΈ ΡΠΌΠΎΠ³Ρ).
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° IDE CLion
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΠ°ΠΉΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ JetBrains ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠ΅Π΄Ρ CLion https://www.jetbrains.com/clion/download/
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ STM32:
ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠ΅Π΄Ρ, Π³Π΄Π΅ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ MinGW (Π²ΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ).
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²Π΅Π·Π΄Π΅ Π² Toolchains ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π²ΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΡΠΎΠΌΠ΅ Debugger.
ΠΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π² Debugger ΠΏΡΡΡ Π΄ΠΎ arm-none-eabi-gdb.exe
ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π² ΡΠ°Π·Π΄Π΅Π» Embedded Development
Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ OpenOCD https://gnutoolchains.com/armeabi/openocd/
ΠΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π² OpenOCD Location ΠΏΡΡΡ Π΄ΠΎ openocd.exe
ΠΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π² STM32CubeMX Location ΠΏΡΡΡ Π΄ΠΎ STM32CubeMX.exe
ΠΠ° ΡΡΠΎΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Clion Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ STM32 Π·Π°Π²Π΅ΡΡΠ΅Π½Π°.
Π Π°Π±ΠΎΡΠ° Ρ Clion Π΄Π»Ρ STM32
Π‘ΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ Π² STM32CubeMX Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
Π Project Manager ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΈΠΏ IDE STM32CubeIDE ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Π² Clion
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Clion ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ CMakeList
ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π΄Π»Ρ OpenOCD Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ST-LINK v.2 ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ STM32F103C8T6 (bluepill)
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° ΠΈΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· Assistant Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ OpenOCD ΠΈΠ»ΠΈ Π² (..OpenOCD-20191216- 0.10.0\share\openocd\scripts\board\).
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, Π½Π° ΡΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°.
ΠΠ΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π°Π»ΠΈΡΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² *.h ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΊΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ.
Π ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ FreeRTOS ΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ CMakeLists_template.txt ΡΠ½ΠΈΠΌΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΡΠΎΠΊ.
ΠΈ ΠΏΠ΅ΡΠ΅Π³Π΅Π½Π΅ΡΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ (ΡΠΌ. Π°Π±Π·Π°Ρ Π²ΡΡΠ΅).
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° IDE Clion Π² Linux Ubuntu 20.10
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ΅ΡΠ΅Π· Jetbrains ToolBox Clion
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ Clion ΠΈ Π·Π°Ρ
ΠΎΠ΄ΠΈΠΌ Π² Π΅Π³ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΡΠΎ Toolchains Ρ Π½Π°Ρ Π½Π°ΡΡΡΠΎΠ΅Π½ ΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΡΠΎ Embedded Development ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π²ΠΈΠ΄ΠΈΡ Π²ΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅. Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ΄ΡΠΎΠ²ΡΠ²Π°Π΅ΠΌ Π΅ΠΌΡ ΠΏΡΡΠΈ ΠΊΡΠ΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
Π‘ΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ Π² STM32CubeMX Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π Project Manager ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΈΠΏ IDE STM32CubeIDE ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ STM32CubeMX
ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ OpenOCD ΠΏΠΎΠ΄ Π²Π°ΡΡ ΠΏΠ»Π°ΡΡ ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ OpenOCD ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΠ»Π°ΡΡ.
ΠΠ° ΡΡΠΎΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΠΎΠ»ΡΠ΅Π±Π½ΡΡ
ΠΊΠ½ΠΎΠΏΠΎΡΠ΅ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ±ΠΈΡΠ°ΡΡ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΠ»ΠΈ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ.
ΠΠ° ΡΡΠΎΠΌ Π²ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°. Π£Π΄Π°ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ!
IAR + Clion = Π΄ΡΡΠΆΠ±Π°
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π·Π΄ΡΠ°Π²ΠΈΡ Π²ΡΠ΅ΠΌ!
ΠΠ°ΡΠ°Π½ΡΠΈΠ½ Π·Π°ΡΡΠ°Π²ΠΈΠ» ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π²ΡΠ΅ ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΠΌΠ°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΈ Ρ ΠΎΡΡ Π΄ΠΎΠΌΠ° Π΅ΡΡΡ ΠΊΡΡΠ° Π΄Π΅Π», Ρ ΡΠΌΠ΅Π»ΠΎ ΡΠΏΠΈΡ Π½ΡΠ» ΠΈΡ Π½Π° ΡΡΠ½Π°, Π° ΡΠ°ΠΌ ΡΠ΅ΡΠΈΠ» Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ Π΄ΠΎΠΈΠ·ΡΡΠ°ΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Clion ΠΎΡ JetBrains, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅, ΡΡΠΎ Π² ΡΠ΅Π»ΠΈΠ·Π΅ 2020.1 ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° IAR toolchain.
ΠΡΠ΅ ΠΊΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΉ Π³Π°ΠΉΠ΄ ΠΈ ΠΊΡΡΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ Π²Π΅Π»ΠΊΠΎΠΌ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅, Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄Π°ΡΡΠΈΠΊΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ C++ IAR Workbench ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ·Π΄Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½ΠΎΠ²ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² Π‘++, Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ Π±Π°Π³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΈ, Π½ΠΎ Π² ΡΠ΅Π»ΠΎΠΌ Ρ Π»ΡΠ±Π»Ρ Π΅Π³ΠΎ.
ΠΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ Π·Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΊ IAR, ΠΏΠΎΠΏΡΠΎΡΠΈΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅, ΡΡΠΎ Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΎ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π° ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Ρ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡΡΡ Π½Π° ΡΡΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΠ ΠΊ Π½Π΅ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠ΅Π½Π·ΠΈΠΉ.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΌΠΎΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ (ΠΊΠΎΠ³Π΄Π° Ρ Π²ΡΠ·Π²Π°Π» Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ assert Ρ IAR ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ ΠΎΠ½ Π²ΡΠ΄Π°Π» ΠΌΠ½Π΅ ΠΏΡΠΎΡΡΡΠ½Ρ ΠΈΠ· ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ) Π³ΠΎΠ²ΠΎΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ΄Π΅Π»Π°Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Clang, ΡΡΠΎ ΡΠ°Π΄ΡΠ΅Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ.
ΠΠΎ Π΅ΡΡΡ Ρ IAR ΠΎΠ΄Π½Π° ΠΎΡΠ΅Π½Ρ Π½Π°ΠΏΡΡΠ³Π°ΡΡΠ°Ρ Π²Π΅ΡΡ β ΡΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ. ΠΠ½ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ, Π² Π½Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΡΡ ΠΊΡΠΈΠ²Π΅Π½ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅Π»ΠΈΡΠ΅Π½Ρ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΡΠΊΠΈ ΠΈΠ· ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ, Π½ΠΎ Π² ΡΠ΅Π»ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΡΠ°Π·ΠΎΠΉ β «Powered by notepad».
ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΈ Π΄Π»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² Ρ ΠΈΡΠΊΠ°Π» ΡΡΠΎ-ΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅, ΠΌΠΎΠ΄Π½ΠΎΠ΅, ΠΌΠΎΠ»ΠΎΠ΄Π΅ΠΆΠ½ΠΎΠ΅, Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΎΠ΅ (Π° Π΄Π»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² ΠΈ ΠΏΠΎΠ΄Π°Π²Π½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ΅).
ΠΠΎΠΉ Π²ΡΠ±ΠΎΡ ΠΏΠ°Π» Π½Π° Clion ΠΎΡ JetBrains.
ΠΠ±ΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
Clion ΡΡΠΎ ΡΡΠ΅Π΄Π° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Π‘/Π‘++. ΠΠΎ Ρ Π½Π΅ Π±ΡΠ΄Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ Π΅Π³ΠΎ ΠΏΡΠ΅Π»Π΅ΡΡΠΈ, ΠΎΠ½ΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ, Ρ ΠΏΠΎΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ IAR ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ. ΠΠΏΠΈΡΠ°ΡΡ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ ΠΊΠ°ΠΊ Π²ΡΠ΅ ΡΡΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΡΠΎΡΡΠΎ Π±ΡΠ΄Ρ Π²ΡΡΠ°Π²Π»ΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡΠΌΠΈ.
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ ΡΠΊΠ°Π·Π°Π», Π² Π²Π΅ΡΡΠΈΠΈ 2020.1 Π±ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° IAR ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΡΠΎ ΠΠ»ΡΠ΅ ΠΠΎΡΠΎΡΠ½ΠΎΠΌΡ Π°ΠΊΠ° Elmot, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 2020.1 ΡΠ°Π±ΠΎΡΠ° Ρ IAR Π±ΡΠ»Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π³Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΉ.
ΠΠ½ ΡΠΆΠ΅ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π» Π·Π΄Π΅ΡΡ ΡΡΠ°ΡΡΡ ΠΏΡΠΎ ΡΠ²ΠΎΠΉ ΠΏΠ»ΡΠ³ΠΈΠ½ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΠ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ST Cube, Π° ΡΠ΅ΠΉΡΠ°Ρ Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠ» ΡΡΠΊΡ ΠΈ Π³ΠΎΠ»ΠΎΠ²Ρ ΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ IAR. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΡΠ°ΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π», ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΡΠΆΠΈΡΡ Cube, IAR ΠΈ Clion Π·Π΄Π΅ΡΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°Π±ΠΎΡΡ Clion Π»Π΅ΠΆΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ±ΠΎΡΠΊΠΈ CMAKE, ΠΈ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π΄Ρ CMAKE. ΠΠΎΡΡΠΎΠΌΡ ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ Π³Π΄Π΅ Π±ΡΠ΄ΡΡ Π»Π΅ΠΆΠ°ΡΡ Π²Π°ΡΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ. ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΆΠ΅ ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ², Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Clion Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ, Π½Π°ΠΉΠ΄Π΅Ρ Π²ΡΠ΅ c ΠΈ cpp ΡΠ°ΠΉΠ»Ρ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ (CMAKELIST) Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ.
ΠΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Ρ Π½ΡΠ»Ρ, ΡΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΡΡΠΊΠ°ΠΌΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ File->NewProject
ΠΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ Π‘++17 ΠΈ ΡΠΈΠΏ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° C++ Executable. ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½Π°Π΄ΠΎ.
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ», Π²ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ Ρ Clion ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ CMAKE, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΡΠ±ΠΎΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ CMakeList.txt, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ, ΡΠΏΠΈΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ, ΡΠΏΠΈΡΠΊΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π΅ΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ.
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ°ΠΉΠ» Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π²ΠΎΡ ΡΠ°ΠΊ:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅ Π² Π½Π΅ΠΌ ΡΠΊΠ°Π·Π°Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΠ΅Π±ΡΠ΅ΠΌΠ°Ρ Π²Π΅ΡΡΠΈΡ CMAKE +
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° +
Π‘ΡΠ°Π½Π΄Π°ΡΡ Π‘++, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π²ΡΠ±ΡΠ°Π»ΠΈ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅+
Π Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ β main.cpp
Π‘ΠΊΠΎΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΡΠ΄Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, Π° ΠΏΠΎΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ toolchain
ΠΡΠ±ΠΎΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Toolchain
Clion Π² ΡΠ΅ΠΎΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π»ΡΠ±ΡΠΌ toolchain.
Toolchain β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠ΄Π° Π²Ρ ΠΎΠ΄ΠΈΡ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, Π»ΠΈΠ½ΠΊΠΎΠ²ΡΠΈΠΊ, Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π²Π΅ΡΠΈ.
ΠΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ Clion ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΡΠ»ΡΠ΅ΠΉΠ½Ρ β MinGW, CygWin, Visual Studio
Π ΡΠΏΠΈΡΠΊΠ΅ Π½Π΅Ρ IAR toolchain, Π½ΠΎ ΡΡΠΎ Π½Π΅ Π±Π΅Π΄Π°, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΡΠ±ΠΎΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ, Ρ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Ρ MinGW ΠΈ Visual Studio Ρ ΠΎΠ±ΠΎΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ.
ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ toolchain, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Clion.
C Visual Studio Π²ΡΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ Ρ Microsoft ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π‘++ ΠΏΠ°ΠΊΠ΅Ρ (ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π³Π°Π»ΠΎΡΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ C#).
ΠΠΎΡΡΠΎΠΌΡ ΡΡΠ°Π·Ρ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Ρ MinGW, ΡΠΊΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΡΠ΄Π° http://www.mingw.org/.
ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ: Π½ΡΠΆΠ΅Π½ installer, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΠΏΡΠ°Π²Π° Π½Π° ΡΡΡΠ»ΠΊΠ°Ρ
Popular ΠΈΠ»ΠΈ All time :
ΠΠ°Π»Π΅Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ MinGW ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ, ΠΊΡΠ΄Π° ΡΡΠΎ Π²ΡΠ΅ Π΄Π΅Π»ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ:
ΠΡΠ΅ ΡΡΠΎ Π΄Π΅Π»ΠΎ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΌΠΈΠ½ΡΡΡ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° MinGW toolchain Π·Π°Π²Π΅ΡΡΠ΅Π½Π°. ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ°
Π‘ΡΠ°Π·Ρ ΡΠΊΠ°ΠΆΡ, Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π² Clion Π½Π΅ΠΌΠ΅ΡΠ΅Π½ΠΎ, Ρ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎ Π²ΡΠ΅, ΡΠ΅Π»Ρ ΡΡΠ°ΡΡΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ IAR toolchain.
ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
toolchain MinGW, Π½Ρ ΠΈΠ»ΠΈ Visual Studio, Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π΅Π³ΠΎ. Π ΠΆΠ΄ΡΠΌ ΠΏΠΎΠΊΠ° Clion ΡΠ°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, make ΡΡΠΈΠ»ΠΈΡΡ, ΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°.
ΠΠΎΠΎΠ±ΡΠ΅ ΠΆΠ΄Π°ΡΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΡ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΡΠ²ΠΎΠΈΠΌ π
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Π²ΡΠ΅ Π½Π° Π½ΡΠΆΠ½ΡΠΉ Π½Π°ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ. ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π‘ ΠΈ Π‘++ ΡΠ°ΠΉΠ»ΠΎΠ² IAR ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΡΠΎ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ.
Π Π²ΠΎΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π»ΠΈΠ±ΠΎ Π½Π° ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ (Bundled) Ρ Clion, Π»ΠΈΠ±ΠΎ Π½Π° ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° GNU ARM (ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΎΡΡΡΠ΄Π° https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads)
Π‘Π°ΠΌΠΎΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ Ρ Clion:
ΠΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²Π°Ρ toolchain Π² IAR, ΡΡΠΎΠ±Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ MinGW.
Π£ΡΠΈΠ»ΠΈΡΡ make ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° MinGW, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠ΅ΡΡΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π΅Ρ Π½Π° Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ clearmake, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ ClearCase (Π½Π΅ ΡΠΏΡΠ°ΡΠΈΠ²Π°ΠΉΡΠ΅, ΠΏΠΎΡΠ΅ΠΌΡ β ΡΠ°ΠΊ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ»ΠΎΠΆΠΈΠ»ΠΎΡΡ)
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ make ΡΠ±ΠΎΡΠΊΡ Π½Π° ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΡΡΠ³ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ninja, Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π·Π΄Π΅ΡΡ.
ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° CMAKE
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ CMAKE, Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ±ΠΎΡΠΎΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Release ΠΈΠ»ΠΈ Debug. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ±Π΅.
ΠΠ»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠΈΠΏΠ° ΡΠ±ΠΎΡΠΊΠΈ Debug ΠΈΠ»ΠΈ Release Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Build Type.
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΏ ΡΠ±ΠΎΡΠΊΠΈ Release.
ΠΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Apply Clion Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ CMAKE, ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠΈ Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ Π²ΡΠ±ΠΎΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ±ΠΎΡΠΎΠΊ:
ΠΡΠ΅ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ Π½Π΅ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ ΠΊΠ»ΡΡΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΡΠΈΠΊΠ°. ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΡ CMake.
IAR Π²ΡΠ»ΠΎΠΆΠΈΠ» ΠΏΡΠΈΠΌΠ΅Ρ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ Π΄Π»Ρ CMake, ΠΎΠ½ Π»Π΅ΠΆΠΈΡ Π·Π΄Π΅ΡΡ.
ΠΡΠ΅ ΡΡΠΎ Ρ ΡΠ΄Π΅Π»Π°Π», ΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π΄Π²Π΅ Π²Π΅ΡΠΊΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π΄Π»Ρ Π΄Π²ΡΡ
ΡΠΈΠΏΠΎΠ² ΡΠ±ΠΎΡΠΎΠΊ Debug ΠΈ Release.
ΠΠ° Π΅ΡΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΠ» ΠΈΠΌΡ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π° *.elf ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ set(CMAKE_EXECUTABLE_SUFFIX «.elf»)
ΠΡΡΠ°Π»ΠΎΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π² CMakelist.txt:
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ Cmakelist.txt ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΡ toolchanin Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΡ Cmake ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π΄Π΅Π»Π°Π»Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½ΠΎ Π»ΡΡΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΡΠΊΠ°ΠΌΠΈ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Reload Cmake, Π° Π²ΠΎΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΆΠ΅ΡΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΡΠ°ΡΡ Cmake ΠΏΡΠΎΠ΅ΠΊΡ, Π»ΡΡΡΠ΅ ΠΏΠΎΠΉΡΠΈ Π² toolbox Cmake ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΌ ΠΏΡΠ½ΠΊΡ Reset Cache and Reload Project
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π½Π°ΠΆΠ°Π² Π½Π° ΠΌΠΎΠ»ΠΎΡΠΎΠΊ. ΠΡΠ»ΠΈ Π²Ρ ΠΎΠΏΡΡΡ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ β Π²Π°Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ±ΡΠ°ΡΡΡΡ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°
ΠΠ»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Ρ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ OpenOCD gdb ΡΠ΅ΡΠ²Π΅Ρ, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Jlink gdb ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠ»ΠΈ ST-Link gdb ΡΠ΅ΡΠ²Π΅Ρ.
Π‘ΠΊΠ°ΡΠ°Π΅ΠΌ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ, Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ ΡΡΠΎ Π±ΡΠ»Π° Π²Π΅ΡΡΠΈΡ 0.10.0: https://sourceforge.net/projects/openocd/files/openocd/0.10.0/ ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ ΡΠΎΠ±ΡΠ°ΡΡ ΡΠ°ΠΌΠΎΠΌΡ. ΠΠΎ Π΅ΡΠ»ΠΈ Π»Π΅Π½Ρ Ρ ΡΡΠΈΠΌ Π²ΠΎΠ·ΠΈΡΡΡΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ±ΠΎΡΠΊΡ ΠΏΠΎΠ΄ Windows: http://www.freddiechopin.info/en/download/category/4-openocd.
ΠΡΠ°ΠΊ, Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΡΠΎΠΈΡ gdb ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈΠ· ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ File->Settings->Build,Execution,Deployment->Toolchains->Debugger: Bundled GDB
Π ΡΠ°Π±Π»ΠΎΠ½Π΅ Π½Π΅Ρ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π΅Π³ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ, Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½, ΡΡΠΎΠ±Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
ΠΠ°ΡΡΡΠΎΠΈΠΌ ΡΡΠ°Π·Ρ ΡΠ°Π±Π»ΠΎΠ½:
Π ΠΎΠΏΡΠΈΠΈ Download executable ΠΏΠΎΡΡΠ°Π²ΠΈΠΌ Π³Π°Π»ΠΎΡΠΊΡ, Π½Π° Update Only β ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΎΠ±ΡΠ°Π· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π±ΡΠ»ΠΈ Π±ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
OpenOCD ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ tcp ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ, Ρ.Π΅. Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ ΠΏΠΎ IP Π°Π΄ΡΠ΅ΡΡ ΠΈ ΠΏΠΎΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 3333 (ΠΏΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ, Π½ΠΎ Π½Π°ΠΌ ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ). Π’Π°ΠΊ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ OpenOCD Π±ΡΠ΄Π΅Ρ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΡΠΎ ΠΈ Π² ΠΎΠΏΡΠΈΠΈ target remote args Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ tcp:127.0.0.1:3333
Π ΠΎΠΏΡΠΈΠΈ GDB Server ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ ΠΊ OpenOCD, ΡΡΠ΄Π° ΠΊΡΠ΄Π° Π²Ρ ΡΠΆΠ΅ Π΅Π³ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΠΈ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΠ°Π³Π°Ρ .
-c «reset_config none separate» β ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ±ΡΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΡΠ΅Π· SWD Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π½ΠΎΠΆΠΊΠΈ ΡΠ±ΡΠΎΡΠ° (Π° Ρ ΠΌΠ΅Π½Ρ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΠ°ΠΊΠΎΠΉ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ).
-c «init» β Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ «init», ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΠ΅ OpenOCD ΡΠΊΡΠΈΠΏΡΡ ΠΏΠΎΠ΄ Π²Π°Ρ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ
-c «reset halt»_ β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ ΡΠ±ΡΠΎΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΏΠΎΡΠ»Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π²ΡΠ΅. ΠΠΎΠ»ΡΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ. Π£ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½
ΠΡΡΠ°Π»ΠΎΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ:
ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π½Π°Ρ Template. ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅ΠΌ ΠΊΠ°ΠΊ-ΡΠΎ ΠΏΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΡΡΠΈ
Π ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΡ, ΠΆΠΌΠ΅ΠΌ Π½Π° ΠΆΡΠΊΠ° ΠΈ ΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠ°Π²Π΅ΡΡΠ°ΡΡΠΈΠΉ ΡΡΠ°ΠΏ
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» startup.cpp Π² ΠΏΠ°ΠΏΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ±ΠΎΡΠΊΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π³ΠΎΡΠΎΠ² ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ Π·Π΄Π΅ΡΡ: ΠΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ Π΄Π»Ρ IAR
ΠΠ»Ρ ΠΎΡΠΊΡΡΡΠΈΡ Π² Clion Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΉΡΠΈ Π² ΠΌΠ΅Π½Ρ File->Open ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠ°ΠΏΠΊΡ Π² ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π΅Π³ΠΎ ΡΠ°Π·Π°ΡΡ
ΠΈΠ²ΠΈΡΠΎΠ²Π°Π»ΠΈ.
ΠΠ° ΠΎΡΡΠ°Π»ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ:
Π£Π±ΡΠ°ΡΡ Π³Π°Π»ΠΎΡΠΊΡ Enable clangd server.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² IAR IDE ΠΏΠΎΡΠ»Π΅ Clion ΠΊΠ°ΠΊ ΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠ΅ΡΡΡ. Π₯ΠΎΡΡ Π΄Π»Ρ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π²ΡΠ΅ ΡΠ°ΠΊΠΈ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ IAR, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠ°ΠΌ ΡΠ²Π½ΠΎ ΠΎΠ±ΡΠΈΡΠ½Π΅Π΅. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΊ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ Ρ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ΅Π΄ΠΊΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡ, ΡΠ°Π·Π²Π΅ ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠ΄ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Clion Π±Π΅ΡΠΏΠ»Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Ρ Π½ΠΈΡ Π±ΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ, Π½ΠΎ ΠΈ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ ΡΠΎΠΆΠ΅ Π½Π΅ Π΄ΠΎΡΠΎΠ³Π°Ρ. ΠΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΡΠ΄Π΅Π½ΡΠ°ΠΌ Clion ΡΠ΅ΡΡΠ΅Π·Π½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠΈΡ ΠΆΠΈΠ·Π½Ρ ΠΈ ΠΏΡΠΈΠ²Π½Π΅ΡΠ΅Ρ ΠΏΠ΅ΡΡΠΈΠ½ΠΊΡ ΡΠ°Π΄ΠΎΡΡΠΈ Π² ΠΈΡ ΡΠ³ΡΡΠΌΡΡ ΠΆΠΈΠ·Π½Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π±ΠΎΠ»ΡΠ½ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΠΈΡ ΠΌΡΠΊΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠ°, ΡΡΠΎ ΡΠ°ΠΈΡΡ ΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎΠΆΠ΅.
Π Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Clion ΠΏΡΠΈΡΡΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²ΡΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡ ΡΡΠ°ΡΡΡ Ρ ΠΏΠΈΡΡ ΡΠΎΠΆΠ΅ Π² Clion ΠΈ ΡΡΠ°Π·Ρ Π²ΠΈΠΆΡ Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
Π Π²Π΅Π΄Ρ Π΅ΡΡΡ Π΅ΡΠ΅ ΠΊΡΡΠ° Π²ΡΡΠΊΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»ΡΡΠ΅ΠΊ, ΠΏΡΠΎ ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ Π±ΡΠ΄Ρ, ΠΎΠ½ΠΈ ΠΎΠΏΠΈΡΠ°Π½Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ JetBrains. ΠΡΠΎΡΡΠΎ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠΉ Π³ΠΈΡΡΠΈΠΊ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ: