目录
下载与安装
下载与调试
下面我们来体验下ITM调试
添加文件,文件夹
Cubeide1.8版本的代码提示
修改主题:
新建文件夹的说明
页面显示不正常?
汉化
1.8版本的老是炸掉
关于stlink抱错的问题
修改库文件位置
国内下载路径
可以去安富莱的论坛下载,安富莱同样提供mdk等的链接,下载速度极快(最近好像没更新了)
【安富莱】STM32CubeIDE,STM32CubeMX,STM32CubeProg,STLINK驱动,标准库等镜像下载(2021-02-27) - 开发环境 - 硬汉嵌入式论坛 - Powered by Discuz! (armbbs.cn)
软件包管理
因为默认包在c盘,如果cpan空间不够可以考虑下
选择从本地导入即可
那么这个包又是哪里来的呢,其实是cubemx下载的,hhh还是默认下载的,不过就是cubemx可以指定位置,这里我打开cubemx看下
打开选择更新设置
可以看到这里有下载文件夹,这里我们改到其他地方即可
打开文件夹就能看到包的位置,大概就是几个压缩包和对应的文件夹,另外就是几张广告,打开其实里面也有例程,算是比较官方的
打卡就是例程了,可以看到后面支持的板子,还有库的类型,有hal库和LL库以及两种库的混合
调试选择
调试器支持本地和远程,openocd以及st-link还有j-link
这里先用st-link下载,当然前提是安装st-link驱动
安装完成后会有这个提示,右键可以看到显示st-link, 配置页面如下
这里关注一点swv,后面可以来了解它的强大,这里我们点击应用之后关闭即可
如果提示需要更新,进入更新,拔掉再插入就进入dfu模式了,即可进行更新
更新完后会提示更新成功,之后点击小虫子就进入debuge模式了,主要关注一个是调试设置窗口,一个是观察窗口
这里我们在while循环中加入一小段代码,用来查看变量
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
HAL_Delay(1000);
i++;
if(i == 10)
i=0;
在前面的现场表达式这里添加我们需要观察的变量 ,点击全速运行,可以看到变量变化情况
使用jlink调试,选择jlink即可其他的不变
调试结果,还是一样的
首先当然是调试这里选上swv的调试
准备一段代码,这个是用来重定向printf用的
uint32_t _write(uint32_t file, char *ptr, uint32_t len)
{
uint32_t i = 0;
for(i = 0; i < len; i++)
{
ITM_SendChar((*ptr++));
}
return len;
}
下面我们加入while循环中的代码
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
HAL_Delay(1000);
i++;
printf("Hello world i = %d\n", (int)i);
if(i == 10)
i=0;
添加这两个窗口
修改配置选项
可以看到这里多了一个port0
点击开始
之后开启调试,可以看到打印信息
在图表这里看到变量变化情况
上面我用的是jlink,市面上买的小的st-link没有这种口,需要的要买st官方的st-link,都是标准jtack口,对着接就行
使用DAP调试
这里很遗憾我尝试结果是失败了,看到安富莱论坛有这个回答,可以参考下
STM32CubeIDE使用OpenOCD老是提示Could not verify ST Device - 开发环境 - 硬汉嵌入式论坛 - Powered by Discuz! (armbbs.cn)
openocd下载:Download OpenOCD for Windows (gnutoolchains.com)
下载完解压就ok,放到你想放的文件夹,没有其他操作
Cubeide大致操作如下,选择openocd的方式,会自动给你配好端口号
之后在下载的openocd的文件夹下面开启命令行,输入下面命令就可以启动了
openocd -f interface/cmsis-dap.cfg -f target/stm32f1x.cfg
可以看到开始监听这个端口,这里注意上面的cubeide部分一定要关闭现场表达式这块
之后debuge这里报错,验证芯片失败,原来我的芯片是盗版的hhh
openocd这里也报错
后面网上也找了一些方法,具体查看这个子标题最开端处,目前暂未解决
openocd另外两种方法:
就是向每次这样输命令太繁琐了,你就可以简化一点,第一种是采用bat命令,就是win的处理文件
比如我将我常用的几种 写成bat,每次要用直接双击就行了
里面的内容就是上面的话,放到openocd文件夹的bin目录下
另一种是使用cubeide的外部扩展工具,参见这篇博主文章,1.8的跑不动我就懒得跑了
通过External Tools在STM32CubeIDE下使用DAP-LINK_lone5moon的博客-CSDN博客_stm32cubeide使用dap
项目文件夹处右键即可添加.c .h文件
如果我们需要移植某个库或者自己的文件夹,就需要一个文件夹
还是一样的右键新建,直接新建
就可以对新建的文件夹进行添加.c.h文件了
但是这个时候他还没有进入我们的工程目录,需要添加下,这里右击工程,进入工程属性
可以看到这里有一个路径的选项
可以在包含中看到已加入
这样就能移植整个文件夹了,不过还有一个办法可以不用包含,就是直接使用文件路径
这样就可以了。
效果如下
复制替换即可
阿里云盘分享 这里我贴下我的网盘地址
如果窗口弄乱了需要复位,选择复位透视图即可
可以看到选择添加到路径就会这样
点击后如下所示
如果是不小心把布局弄乱了,在这里选择复位透视图即可
还有就是大纲,如果没有打开,可以打开下
效果如下所示
选择安装新软件
然后点击添加,这里我选择本地导入,算了还是留邮箱吧,阿里云盘不让分享这个。
之后就是选择中文包,然后一路下一步就OK了,这个时候会没反应,注意不是没反应,是再安装,这个是需要一点时间的,观察右下角会有安装进度,安装完后重启就OK了,效果如下
我用了1.8版本的提示报错,然后cubeide所有功能都用不了了,不太清楚,是用了一段时间后的现象,我怀疑是那个自动提示代码的锅,是报的java的错,没看懂,搜索也没人出现过,就先这样吧!
报错信息如下,这个其实是一个很让我头疼的问题,因为我是从2020年开始接触cubeide,然后那个时候下载的cubeide就有了这个问题,看了一些论坛说是盗版芯片什么的,但是关键是我所有的板子都有这个问题,就很奇怪,提供的解决方案是使用openocd来调试,反正我感觉支持st-link为啥要用openocd呢?
Error in final launch sequence:
Failed to start GDB server
Failed to start GDB server
ST-Link设备进行初始化时出错。
然后我终于发现只要改下这个端口号就行了,这里原来是61235,修改为6123即可
下载成功,之后进入调试也是OK的了!!!
cubeide和cubemx的文件默认是放在c盘的,这样会很不方便,因此我们可以修改位置放到其他我们想要的地方,而且也不用下两份文件
cubemx的地址如下,在帮助下选择更新设置
这里第一个就是位置了
cubeide的位置藏得比较深,窗口下面首选项
可以看到有个固件更新这一栏,是灰色的,他也提示了要关闭ioc,就是图形化配置的这个页面才可以更改,我们改到我们想要的位置,应用即可
下面可以查看库
可以看到我们之前的的库已经导入进去了