解决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库