解决arduino安装stm32duino开发板库时下载慢下载不了的问题

news2024/11/18 1:34:12

解决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库
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1687779.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

双边滤波去雾算法

目录 1. 简介 2. 步骤 3. 优点 4. 代码 5. 运行结果 1. 简介 本文介绍了双边滤波图像去雾算法,旨在消除雾霾对图像质量的影响,能够保留边缘信息并去除噪声,有效提高图像的清晰度和对比度。双边滤波(Bilateral Filtering&…

【Java】全套云HIS(医院信息管理系统)可对接医保 采用云端SaaS模式部署

【Java】全套云HIS(医院信息管理系统)可对接医保 采用云端SaaS模式部署 SaaS 模式的云 HIS 更适用于基层医疗机构,而传统的 HIS 已经在大中型医疗机构大规模应用。过去,国内的大中型医疗机构投入了大量的资金来进行信息化系统建设…

esp32(8266)如何在platformio中上传文件到单片机

本来认为这是基础内容,不用我来介绍,结果,在个人的单片机字库开源项目 GitHub - StarCompute/tftziku: 这是一个通过单片机在各种屏幕上显示中文的解决方案 中有两个人问到了,就特别来说明一下: 在platformio中新建一…

指针数组与数组指针的理解

typedef struct vexnode {int key;struct arcnode *next; }vexnode, adjlist[MVNUM]; void init(adjlist *list); void init(adjlist *list) {for(size_t i 0; i < MVNUM; i){list[i].key i;list[i].next NULL;} }上述代码编译的时候没有报错&#xff0c;但是运行的时候&…

爱因斯坦CG大揭秘:从“纸片人”到“数字巨星”

AMV BBDO和Smart Energy GB携手&#xff0c;他们不仅是为了推广一个产品&#xff0c;更是为了传达一种理念。他们委托了业界翘楚The Mill&#xff0c;以精湛的技术与创意&#xff0c;打造了一个超越现实的数字形象——爱因斯坦。 这个逼真的CG形象&#xff0c;不仅是对科学巨匠…

python写页面自动截图

from selenium import webdriver def take_screenshot(url, file_path):driver webdriver.Chrome()driver.get(url)driver.save_screenshot(file_path)driver.quit() if __name__ __main__:take_screenshot(http://baidu.com, D:\桌面\wang.png)要安装selenium还要安装google…

Java编程语言,使用自定义二元组对象替代map集合实现Key-Value格式的数据存储

一、背景 url请求地址&#xff0c;后面使用&把多个请求参数拼接起来&#xff0c;例如&#xff1a;?p1v1&p2v2&p3v3 它们的key分别是p1/p2/p3&#xff0c;对应的value分别是v1/v2/v3。 也许很多人都会通过map集合来存储&#xff0c;算比较通用的做法了&#xff1…

「Safari浏览器使用new Date() 显示NAN」

一、问题描述 &#x1f951; &#x1f914;️ 项目中用 new Date&#xff08;&#xff09;展示时间&#xff0c;在谷歌浏览器上显示正常&#xff0c;但是在Sarfari浏览器上显示NAN 1、代码部分 &#x1f353;&#x1f353;&#x1f353;&#x1f353; 2、Chrome浏览器 &#…

Dijkstra算法求最短路径 c++

目录 【问题背景】 【相关知识】 【算法思想】 【算法实现】 【伪代码】 【输入输出】 【代码】 【问题背景】 出门旅游&#xff0c;有些城市之间有公路&#xff0c;有些城市之间则没有&#xff0c;如下图。为了节省经费以及方便计划旅程&#xff0c;希望在出发之前知道…

集合、Collection接口特点和常用方法

1、集合介绍 对于保存多个数据使用的是数组&#xff0c;那么数组有不足的地方。比如&#xff0c; 长度开始时必须指定&#xff0c;而且一旦制定&#xff0c;不能更改。 保存的必须为同一类型的元素。 使用数组进行增加/删除元素的示意代码&#xff0c;也就是比较麻烦。 为…

必应bing国内广告开户首充和开户费是多少?

微软必应Bing作为国内领先的搜索引擎之一&#xff0c;其广告平台凭借其精准的投放、高效的数据分析和广泛的用户覆盖&#xff0c;已成为众多企业的首选。 根据最新政策&#xff0c;2024年必应Bing国内广告开户预充值金额设定为1万元人民币起。这一调整旨在确保广告主在账户初始…

奥德彪的幸福VS码农的幸福

奥德彪的幸福 非洲国家布隆迪是一个全球最不发达国家之一&#xff0c;大部分居民以农业为生&#xff0c;其中包括香蕉&#xff0c;人们拿香蕉用来做饭也用来酿酒。 香蕉产地距离布隆迪首都布琼布拉很远&#xff0c;而这个国家又缺乏规模化的物流企业&#xff0c;于是就诞生了…

如何用java做一个模拟登录画面

要求&#xff1a; 实现registerAction方法中的注册逻辑。实现login方法中的登录逻辑&#xff0c;确保只有当用户名和密码都正确时才返回true。实现好友管理功能&#xff0c;包括添加好友、删除好友、查看好友列表。确保所有的文件操作&#xff08;如读取和写入credentials.txt…

Java类

一.什么是类&#xff1f; 在src文件夹下面用一个Text类&#xff0c;这个Text就是这一个类的类名&#xff0c;所以说&#xff0c;一个Java文件里面就存在一个类&#xff0c;&#xff08;在Java中有一个习惯&#xff0c;一个Java文件里面&#xff0c;只写一个类&#xff09;。 &…

SSMP整合案例第三步 业务层service开发及基于Mybatis的接口功能拓展

业务层开发 对于业务层的制作有个误区 Service层接口定义与数据层接口定义具有较大差别 不要混用 业务层接口关注的是业务名称 数据层接口关注的是数据层名称 操作是不难 但是有些东西还是要掌握的 业务层接口如果是业务方法 就按照业务名称来代替 如果是数据操作 直接用…

pytorch文本分类(四)模型框架(模型训练与验证)

关卡四 模型训练与验证 本文是在原本闯关训练的基础上总结得来&#xff0c;加入了自己的理解以及疑问解答&#xff08;by GPT4&#xff09; 原任务链接 目录 关卡四 模型训练与验证1. 训练1.1 构建模型结构1.2 模型编译1.3 模型训练1.4模型超参数调试 2. 推理2.1 模型准确性…

UDP协议与TCP协议1.2

UDP UDP数据报UDP报头UDP载荷 UDP的报文格式&#xff1a; 这里的UDP长度&#xff0c;描述了整个UDP数据报&#xff0c;占多少个字节&#xff0c;这里整个UDP长度最多是64kb 在UDP中校验和就是使用CRC的方式来完成的 数据在网络传输中是可能会出现错误的&#xff0c;例如比特翻…

四信云-设备维保管理系统上线,实现设备全生命周期管理

在当今的制造业中&#xff0c;设备是企业生产的核心要素&#xff0c;是企业竞争力的基石。 随着企业发展规模不断扩大&#xff0c;设备数量急速增长&#xff0c;传统的手工管理方式已经无法满足企业需求&#xff0c;设备管理系统的出现则填补了市场需求空白&#xff0c;其目标…

翻译《The Old New Thing》- How do I mark a shortcut file as requiring elevation?

How do I mark a shortcut file as requiring elevation? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20071219-00/?p24103 Raymond Chen 2007年12月19日 如何将快捷方式标记为需要提升权限 简要 文章介绍了如何通过设置SLDF_RUNAS_US…

echarts-坐标轴2

刻度的间隔 类目轴的间隔 interval xAxis: {type: "category",name: "x轴",axisLine: {},axisLabel: {show: true,color: "yellow",backgroundColor: "blue",interval: 5,},data: [11, 22, 322, 422, 522, 622, 722, 822, 229, 1220,…