解决arduino安装stm32duino开发板库时下载慢下载不了的问题,安装其他开发板也可以使用类似的方法。
在利用arduino进行stm32开发的时候,需要安装对stm32开发板支持的库,但是正常情况下,由于网络问题,安装的时候容易出错,安装不了,这里采用一种手动离线的方式安装。
 参考了一些网上的方法:https://zhuanlan.zhihu.com/p/651075684
STM32_Programmer_CLI.exe not found.报错解决办法_please install stm32cubeprogrammer-CSDN博客
首先是下载arduinoIDE,然后是很重要的一步,这是上面博主提到的。我直接引用在这里:

1 添加开发板
安装好IDE2之后,就需要添加开发板,这里我们使用最广泛的STM32Duino,目前已经基本适配所有的STM32芯片
打开Arduino的开发板管理器:文件 -> 首选项 -> 其他开发板管理地址,增加如下并保存:
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

接着在开发板处安装STM32芯片包的支持,这里看到最新版是2.7.1

正常情况下点击安装INSTALL,等待自行安装就可以了,如下图:

但是,由于网络原因,这个过程非常漫长,而且还可能下载了大半天,最后蹦出个安装错误。
这里就尝试了一下一个变通的方法,手动下载所需的文件,然后再安装。
2 下载相关文件
直接关掉刚才的界面:

打开安装包所在的文件,我的是在这个位置:

如果找不到文件夹,可能是没有打开隐藏文件夹属性,在这里查看隐藏文件夹:

找到package_stmicroelectronics_index.json这个文件,用记事本打开它:

可以发现,里面有好多下载链接。其实他的工作原理就是从这些下载连接里面下载相应的包,进行安装。由于网络原因,下载总是出错,我们这里就手动下载下载下来,进行安装。
“platforms”
前面看到最新版本是2.7.1,我们就找这个版本相关的:

把地址先记下来https://github.com/stm32duino/Arduino_Core_STM32/releases/download/2.7.1/STM32-2.7.1.tar.bz2
后面还有其他一些要下载的,一一找到:
“tools”
“xpack-arm-none-eabi-gcc”
我的系统是win10 64位的,找到这一个地址:

记录下来
 https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack/releases/download/v12.2.1-1.2/xpack-arm-none-eabi-gcc-12.2.1-1.2-win32-x64.zip
“xpack-openocd”

记录下来
https://github.com/xpack-dev-tools/openocd-xpack/releases/download/v0.12.0-1/xpack-openocd-0.12.0-1-win32-x64.zip
“CMSIS”

记录下来
https://github.com/stm32duino/ArduinoModule-CMSIS/releases/download/5.9.0/CMSIS-5.9.0.tar.bz2
“STM32Tools”

记录下来
https://github.com/stm32duino/Arduino_Tools/releases/download/2.2.1/STM32Tools-2.2.1-windows.tar.bz2
用迅雷等进行下载
这里我是用的是迅雷下载,速度比较快。

三两分钟就下载完了。

下载好这五个文件之后,将他们放到下面文件夹里面:

如果有同名的,就直接替换。
3 手动安装
再一次打开arduinoIDE,点击安装,这时会跳过下载,直接安装。

三分钟左右就安装好了

4 测试一下
选择开发板

我的是stm32f103c8t6,找到这一个系列:

打开例程,找到点灯闪烁程序

配置一下编译参数
开发板具体型号的选择,我的是蓝色的那一款板子,

 选择bluepill

下载器我使用的这样的,

所以选择SWD模式

编译,没有问题

下载,可能会出现下面的问题,

 是因为前面安装那个stm32cubeprg没有配置到环境变量里面,arduinoIDE运行的时候,找不到这个程序。这参照网上方法进行修改。
添加后的环境变量如图:

添加完之后,重启IDE,下载,没有问题,LED已经开始闪烁了。
 
 参考了这篇文章,https://www.instructables.com/Programming-STM32-BluePill-Via-Arduino-for-Beginne/
 增加了safestring库
 


















