安装STM32Ardunino时,安装包的下载通过URL进行管理。在Arduino中会遇到网络受限时,无法成功安装组件的问题,可以通过下载需要安装的组件到本地进行安装。
其中对STM32duino的安装进行管理,以最新的2.12.0版本为例,文件中定义STM32duino的安装信息如下。
{
"name": "STM32 MCU based boards",
"architecture": "stm32",
"version": "2.12.0",
"category": "Contributed",
"url": "https://github.com/stm32duino/Arduino_Core_STM32/releases/download/2.12.0/STM32-2.12.0.tar.bz2",
"archiveFileName": "STM32-2.12.0.tar.bz2",
"checksum": "SHA-256:8d1ff26959c4cef55996f25b8403b029234264dc962793cff832e9ddc27e7544",
....
"toolsDependencies": [
{
"packager": "STMicroelectronics",
"name": "xpack-arm-none-eabi-gcc",
"version": "14.2.1-1.1"
},
{
"packager": "STMicroelectronics",
"name": "xpack-openocd",
"version": "0.12.0-6"
},
{
"packager": "STMicroelectronics",
"name": "STM32Tools",
"version": "2.4.0"
},
{
"packager": "STMicroelectronics",
"name": "CMSIS",
"version": "6.2.0"
},
{
"packager": "STMicroelectronics",
"name": "CMSIS_DSP",
"version": "1.16.2"
},
{
"packager": "STMicroelectronics",
"name": "CMSIS_NN",
"version": "7.0.0"
},
{
"packager": "STMicroelectronics",
"name": "STM32_SVD",
"version": "1.20.0"
}
]
},
{
"name": "xpack-arm-none-eabi-gcc",
"version": "14.2.1-1.1",
"systems":
[
{
"host": "i686-mingw32",
"url": "https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack/releases/download/v14.2.1-1.1/xpack-arm-none-eabi-gcc-14.2.1-1.1-win32-x64.zip",
"archiveFileName": "xpack-arm-none-eabi-gcc-14.2.1-1.1-win32-x64.zip",
"checksum": "SHA-256:0b2d496b383ba578182eb57b3f7d35ff510e36eda56257883b902fa07c3bba55",
"size": "323368593"
},
]
},
{
"name": "xpack-openocd",
"version": "0.12.0-6",
"systems":
[
{
"host": "i686-mingw32",
"url": "https://github.com/xpack-dev-tools/openocd-xpack/releases/download/v0.12.0-6/xpack-openocd-0.12.0-6-win32-x64.zip",
"archiveFileName": "xpack-openocd-0.12.0-6-win32-x64.zip",
"checksum": "SHA-256:c57724f87219bafde78f61b54fb7f303f456fed9826a3d0ee2d54d461ad58020",
"size": "3090548"
},
]
},
{
"name": "STM32Tools",
"version": "2.4.0",
"systems":
[
{
"host": "i686-mingw32",
"url": "https://github.com/stm32duino/Arduino_Tools/releases/download/2.4.0/STM32Tools-2.4.0-windows.tar.bz2",
"archiveFileName": "STM32Tools-2.4.0-windows.tar.bz2",
"checksum": "SHA-256:cb418380693f5b5774fb237f679d83cfb5fecf5dc66065b2424381794c84696d",
"size": "2439820"
},
]
},
{
"name": "CMSIS",
"version": "6.2.0",
"systems":
[
{
"host": "i686-mingw32",
"url": "https://github.com/stm32duino/ArduinoModule-CMSIS/releases/download/6.2.0/CMSIS-6.2.0.tar.bz2",
"archiveFileName": "CMSIS-6.2.0.tar.bz2",
"checksum": "SHA-256:e9dcf458a333cda8d4332bb3a4058e8c3de1626c4a567250c60151b590a1d8ce",
"size": "232576"
},
]
},
{
"name": "CMSIS_DSP",
"version": "1.16.2",
"systems":
[
{
"host": "i686-mingw32",
"url": "https://github.com/stm32duino/ArduinoModule-CMSIS/releases/download/6.2.0/CMSIS_DSP-1.16.2.tar.bz2",
"archiveFileName": "CMSIS_DSP-1.16.2.tar.bz2",
"checksum": "SHA-256:04f48ceed53eeecb1b37b9b8d06f6ff1ee1cf62073195e0cee312b824446c14c",
"size": "1525843"
},
]
},
{
"name": "CMSIS_NN",
"version": "7.0.0",
"systems":
[
{
"host": "i686-mingw32",
"url": "https://github.com/stm32duino/ArduinoModule-CMSIS/releases/download/6.2.0/CMSIS_NN-7.0.0.tar.bz2",
"archiveFileName": "CMSIS_NN-7.0.0.tar.bz2",
"checksum": "SHA-256:a99361b0f0352e1ca45610b451f06e24acd63643c88a2d2139caa4b6588493ec",
"size": "99943"
},
]
},
{
"name": "STM32_SVD",
"version": "1.20.0",
"systems":
[
{
"host": "i686-mingw32",
"url": "https://github.com/stm32duino/stm32_svd/releases/download/1.20.0/STM32_SVD-1.20.0.tar.bz2",
"archiveFileName": "STM32_SVD-1.20.0.tar.bz2",
"checksum": "SHA-256:453e4e5f699f246d3e9d712d85dd5acfa38663efcc0a9ec00e7b07455a6057d6",
"size": "14564369"
},
]
},
根据文件中资源连接,下载对应的文件到本地。

Arduino 安装路径的C:\Users\xdyma\AppData\Local\Arduino15\staging\packages是用于缓存下载安装包的位置,将下载的文件放到该文件夹。Arduino安装时会先检测该文件夹中是否有对应的文件,从而解决网络连接导致的安装不成功问题。

这样通过其他方式下载文件并添加到以上文件夹中,就可以成功安装STM32duino。