cubeide常用设置(含1.8版本代码提示)
国内下载路径可以去安富莱的论坛下载,安富莱同样提供mdk等的链接,下载速度极快(最近好像没更新了)【安富莱】STM32CubeIDE,STM32CubeMX,STM32CubeProg,STLINK驱动,标准库等镜像下载(2021-02-27) - 开发环境 - 硬汉嵌入式论坛 - Powered by Discuz! (armbbs.cn)软件包管理因为默认包在c盘,如果cpan空间不够可以考虑
目录
1、下载与安装
国内下载路径
可以去安富莱的论坛下载,安富莱同样提供mdk等的链接,下载速度极快(最近好像没更新了)
软件包管理
因为默认包在c盘,如果cpan空间不够可以考虑下
选择从本地导入即可
那么这个包又是哪里来的呢,其实是cubemx下载的,hhh还是默认下载的,不过就是cubemx可以指定位置,这里我打开cubemx看下
打开选择更新设置
可以看到这里有下载文件夹,这里我们改到其他地方即可
打开文件夹就能看到包的位置,大概就是几个压缩包和对应的文件夹,另外就是几张广告,打开其实里面也有例程,算是比较官方的
可以看到F1的里面支持四块板子,下面还有个网页的概述
打卡就是例程了,可以看到后面支持的板子,还有库的类型,有hal库和LL库以及两种库的混合
2、下载与调试
调试选择
可以看到调试使用的是debug目录下的elf文件
调试器支持本地和远程,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即可其他的不变
调试结果,还是一样的
3、ITM调试
首先当然是调试这里选上swv的调试
可以看到需要接上SWO这个引脚
准备一段代码,这个是用来重定向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;
使能swv调试
添加这两个窗口
修改配置选项
如下配置
可以看到这里多了一个port0
点击开始
之后开启调试,可以看到打印信息
在图表这里看到变量变化情况
上面我用的是jlink,市面上买的小的st-link没有这种口,需要的要买st官方的st-link,都是标准jtack口,对着接就行
使用DAP调试
这里很遗憾我尝试结果是失败了,看到安富莱论坛有这个回答,可以参考下
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
4、添加文件,文件夹
项目文件夹处右键即可添加.c .h文件
如果我们需要移植某个库或者自己的文件夹,就需要一个文件夹
还是一样的右键新建,直接新建
就可以对新建的文件夹进行添加.c.h文件了
但是这个时候他还没有进入我们的工程目录,需要添加下,这里右击工程,进入工程属性
可以看到这里有一个路径的选项
点击添加选择文件系统即可
可以在包含中看到已加入
这样就能移植整个文件夹了,不过还有一个办法可以不用包含,就是直接使用文件路径
这样就可以了。
5、Cubeide1.8版本的代码提示
效果如下
将文件放到cubeide的安装目录下
复制替换即可
阿里云盘分享 这里我贴下我的网盘地址
6、修改主题:
如果窗口弄乱了需要复位,选择复位透视图即可
7、新建文件夹的说明
可以看到选择添加到路径就会这样
8、页面显示不正常?
点击后如下所示
如果是不小心把布局弄乱了,在这里选择复位透视图即可
还有就是大纲,如果没有打开,可以打开下
效果如下所示
9、汉化
选择安装新软件
然后点击添加,这里我选择本地导入,算了还是留邮箱吧,阿里云盘不让分享这个。
之后就是选择中文包,然后一路下一步就OK了,这个时候会没反应,注意不是没反应,是再安装,这个是需要一点时间的,观察右下角会有安装进度,安装完后重启就OK了,效果如下
10、1.8版本的老是炸掉
我用了1.8版本的提示报错,然后cubeide所有功能都用不了了,不太清楚,是用了一段时间后的现象,我怀疑是那个自动提示代码的锅,是报的java的错,没看懂,搜索也没人出现过,就先这样吧!
11、关于stlink报错的问题
报错信息如下,这个其实是一个很让我头疼的问题,因为我是从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的了!!!
12、修改库文件位置
cubeide和cubemx的文件默认是放在c盘的,这样会很不方便,因此我们可以修改位置放到其他我们想要的地方,而且也不用下两份文件
cubemx的地址如下,在帮助下选择更新设置
这里第一个就是位置了
cubeide的位置藏得比较深,窗口下面首选项
可以看到有个固件更新这一栏,是灰色的,他也提示了要关闭ioc,就是图形化配置的这个页面才可以更改,我们改到我们想要的位置,应用即可
下面可以查看库
可以看到我们之前的的库已经导入进去了
13、添加浮点数打印选项
右键进入属性->设置->MCU设置->勾选浮点数打印
14、修改文件编码
在其他中输入GBK即可
15、keil移植工程怎么弄
很多时候我们可能需要移植一个工程,但是又不想破坏原来的工程,应该怎么弄呢
之后我们在cubemx中进行修改即可,修改完成之后进行生成工程,这里如果直接编译会报错,报错信息如下:
这是因为我们缺少了启动文件,需要我们手动添加启动文件,添加的方法如下:
从别处复制一个启动文件过来,最好是原来的工程,只要保证芯片型号一致即可,之后添加进去,如下所示:
再次编译可以看到编译成功了
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)