- Notifications
You must be signed in to change notification settings - Fork1k
Using git repository
To use theArduino_Core_STM32 git repository instead of the packaged version, follow those steps:
To get started with development onmain
branch, correct versions of the required dependencies have to be installed (see:platform.txt):
- CMSIS: ARM® Cortex® Microcontroller Software Interface Standard
- GNU Arm Embedded Toolchain: Arm Embedded GCC compiler, libraries and other GNU tools necessary for bare-metal software development on devices based on the Arm Cortex-M. Packages are provided thanksThe xPack GNU Arm Embedded GCC:https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack
- OpenOCD: the Open On-Chip Debugger provides on-chip programming and debugging support with a layered architecture of JTAG interface and TAP support. Packages are provided thanksThe xPack OpenOCD:https://github.com/xpack-dev-tools/openocd-xpack
- STM32Tools: upload tools for STM32 based boards and some other useful scripts
- stm32_svd: System View Description files. It is the description of the system contained in the stm32, in particular, the memory mapped registers of peripherals.
Important
Using the git repository requires sometimes to update tools dependencies.To check if you need to install new dependencies:
- open the dedicatedpackage index:package_stmicroelectronics_index.json of theBoardManagerFiles
dev
branch. - If a version is suffixed by
-dev
it means one or more dependencies have been updated else no change done since the last release, so no need to perform a new installation. Dependencies are already satisfied.
Example when the arm-none-abi-gcc toolchain or the CMSIS version are updated. New dependencies are added in this dedicatedpackage index:package_stmicroelectronics_index.json of theBoardManagerFilesdev
branch.
See theGetting Started page to see how to install the core and its tools dependencies except you have to use this link in the "Additional Boards Managers URLs" field instead of the one specified if a suffixed-dev
version exist to install the required dependencies for themain
branch of theArduino_Core_STM32:
Important
Here, it is expected you have the core and its tools dependencies installed.
Go to the installed package directory, seeWhere-are-sources to find it.
Then delete the stm32 version directory:
<Arduino IDE install directory>/packages/STMicroelectronics/hardware/stm32/<x.y.z>
.
or
<Arduino IDE install directory>/packages/STMicroelectronics/hardware/stm32/<x.y.z-dev>
.
Important
There must be no other directories along side the<x.y.z>
or<x.y.z-dev>
directory, so don't just rename the old one. If you want to keep it, move it somewhere else entirely.If you do not, in "Tools > Board" menu, you should have twice the "STM32 board" menu.
Directory of step 2 is now deleted.
In the<Arduino IDE install directory>/packages/STMicroelectronics/hardware/stm32/
do the clone:
git clone https://github.com/stm32duino/Arduino_Core_STM32.git <version>
where<version>
is the same one you deleted in step2.
For this example:2.8.1
:
git clone https://github.com/stm32duino/Arduino_Core_STM32.git 2.8.1
Tip
Of course you can use afork of theArduino_Core_STM32 to be able to contribute and easily createPull Requests
Tip
On Linux, It is possible to clone it elsewhere and create a symlink named <version>
Caution
Uninstalling from the boards managers will remove the git repository!