此文为原创,转载或引用请注明出处!
https://blog.csdn.net/qcmyqcmy/article/details/128126014
目录
Arduino是一个开放性很好的开源软件平台,可以支持开发者通过底层内核开发组件,并可以将这个组件安装到Arduino平台,从而让它支持更多的第三方的芯片和开发板。下面介绍一下如何在Arduino平台上支持全系列的STM32芯片开发。
剧透一下:使用文中的方法,无需忍受在外网Github下载时的龟速网络,如果你不想下载,也可以使用网盘中给出的离线文件。已经多次测试,本方法完美使用!
一、为STM32准备Arduino开发环境。
根据个人习惯,您可以使用Vscode,也可以使用Arduino IDE进行开发。
ARDUINO 团队在2022年9月14日发布了正式版的Arduino IDE 2.0。此后又数次更新。Arduino IDE 2的强大功能,已经让我不再想在VScode中配置Arduino了,关于新版的具体功能,大家自己检索或到Arduino官网研究。
新版Arduino IDE 百度网盘下载:
链接:https://pan.baidu.com/s/1EjCWJrhWEk9BW4kmQoo0Zw
提取码:hcgv
二、准备支持包
下面是官方提供的三方平台:
Unofficial list of 3rd party boards support urls · arduino/Arduino Wiki · GitHub
-
STM32 core (official): https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
- Provide support of the following STM32 series:
- STM32F0, STM32F1, STM32F2, STM32F3, STM32F4, STM32F7
- STM32G0, STM32G4
- STM32H7
- STM32L0, STM32L1, STM32L4, STM32L5,
- STM32MP1 (Cortex-M)
- STM32U5
- STM32WB, STM32WL
-
List of current supported boards here【点击此处获取支持的开发板】
- Provide support of the following STM32 series:
-
STM32F1xx/STM32F4xx/STM32F3xx Series: http://dan.drown.org/stm32duino/package_STM32duino_index.json
- STM32 Discovery F407
- STM32Stamp F405
- Netduino2 F405
- STM32F3Discovery
- Maple Mini
- Maple (Rev 3)
- Maple (RET 6)
- Microduino Core STM32 to FLASH
- STM Nucleo F103RB (STLink)
- Generic STM32F103C series
- Generic STM32F103R series
- Generic STM32F103T series
- Generic STM32F103V series
- Generic STM32F103Z series
- Generic GD32F103C series
三、安装支持包(自动下载安装)
将STM32板支持添加到Arduino
运行Arduino IDE。点击“文件”菜单,然后点击“首选项”。点击"首选项"对话框将其打开,然后添加以下链接到"附加开发板管理网址"字段:
我添加的是官方支持包:https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
上面链接有时从国内访问错误,连不了时,可以从下面的网盘中下载json文件,放到目录“C:\Users\Evan\AppData\Local\Arduino15”(将Evan替换为您的用户名)中,重启Arduino。
点击“工具”菜单,以此选择“板>板管理器”打开;您将看到已安装和可用的板列表。选择“已贡献”类型进行筛选,选“STM32 MCU主板”,点击安装。
四、手动安装支持包
因资源在国外,网络下载速度很慢,可以在已下载的电脑上取回支持包,手动安装,下面介绍方法。
【本节以2.7.1版为例说明,由于版本迭代,第五节中有离线库的网盘下载链接,根据版本自取即可】
在目录“C:\Users\Evan\AppData\Local\Arduino15”(将Evan替换为您的用户名)中,打开索引json文件【package_stmicroelectronics_index.json,此处以安装Windows系统中的STM32的官方包为例,其他支持包做法相似。】,下图说明了所需的安装包:
注意:分析库文件后发现,2.7.1版本与2.7.0版只差一个文件(STM32-2.7.1.tar.bz2),其他文件相同。
第一个文件:STM32-2.7.1.tar.bz2
2.7.0版STM32-2.7.1.tar.bz2文件
https://github.com/stm32duino/Arduino_Core_STM32/releases/download/2.7.0/STM32-2.7.0.tar.bz2
2.7.1版STM32-2.7.1.tar.bz2文件
https://github.com/stm32duino/Arduino_Core_STM32/releases/download/2.7.1/STM32-2.7.1.tar.bz2
依次下载上图标号中的4个文件:
找到"host": "i686-mingw32"下的下载路径,注意,信号要对应,不能下载成STM8的了!如“xxxx.zip”见下图:
复制下载地址:
复制下载地址:
复制下载地址:
https://github.com/stm32duino/Arduino_Tools/releases/download/2.2.1/STM32Tools-2.2.1-windows.tar.bz2
复制下载地址:
https://github.com/stm32duino/ArduinoModule-CMSIS/releases/download/5.9.0/CMSIS-5.9.0.tar.bz2
使用下载工具下载。
备注:Arduino IDE 2.2.1的板支持包json文件目录:“C:\Users\Evan\AppData\Local\Arduino15”(将Evan替换为您的用户名)。如果您的STM32支持包的json文件也下载错误,可以从下文中我提供的网盘中直接下载。
将下载后的4个文件放到目录“C:\Users\用户名\AppData\Local\Arduino15\staging\packages”下:
温馨提示:为了节省C盘空间,博主将Arduino15文件夹转移到了“D:\ProgramData\”,这样即使系统重装,也不会影响Arduino库文件了!如果你也想修改库路径,请参考博文:
按下图手动添加库【注意:安装此库以前,须确认最新版的文件“package_stmicroelectronics_index.json”在您的目录C:\Users\用户名\AppData\Local\Arduino15”中,如果你的IDE中下载错误,请从下文的网盘中自取】:
因库已经准备好了,安装进程非常快,安装成功后的界面如下:
说明:如果在安装新版前,你的库中存在旧版,新版安装后会自动卸载旧版支持包。
至此,STM32的Arduino库安装成功,此方法使用多个版本的ArduinoIDE测试通过(包括Arduino IDE 2.2.1)。查看一下,可以看到开发板了:
五、网盘提供的STM32全系列基本库的版支持包
百度网盘下载地址:
链接:https://pan.baidu.com/s/171KNtN7ltdfYgnKYrO433w
提取码:r8ky
重要提醒:
使用网盘中的新版库文件时,一定要用网盘中的“package_stmicroelectronics_index.json”文件(如下图),
去替换你的Arduino15目录下的同名json文件,否则新版不可用,该json文件一般位于目录“C:\Users\Evan\AppData\Local\Arduino15”(将Evan替换为您的用户名)中:
温馨提示:为了节省C盘空间,博主将Arduino15文件夹转移到了“D:\ProgramData\”,这样即使系统重装,也不会影响Arduino库文件了!如果你也想修改库路径,请参考博文:
六、ArduinoIDE下,STM32下载报错处理方法
一些朋友在用ArduinoIDE下载STM32时,会遇到报错信息:
STM32CubeProgrammer not found (STM32_Programmer_CLI.exe).
出现该错误的原因是无法找到STM32CubeProgrammer,参考下文配置环境变量就可以解决该问题:
Enjoy! ☺
【此文为原创,转载或引用请注明出处!https://blog.csdn.net/qcmyqcmy/article/details/128126014】