STM32CubeIDE下载安装-GPIO基本配置操做-Debug调试(基于CMSIS DAP Debug)

一、在ST官网下载STM32CubeIDE而不是STM32CubeMX,而且STM32CubeIDE是免费的。(STM32CubeIDE不支持中文路径,否则编译会出错)html

二、若是你用的是keil开发环境那么 STM32CubeIDE =(STM32CubeMX + Keil)STM32CubeMX只是一个配置代码生成器服务器

三、STM32CubeIDE 软件下载连接:https://www.st.com/zh/development-tools/stm32cubeide.html#tools-softwareide

四、STM32CubeMX 软件下载连接:https://www.st.com/zh/development-tools/stm32cubemx.html函数

五、下载完成后开始安装,能够修改安装路径,其他所有按照默认便可(本次只安装 STM32CubeIDE )ui

 六、安装完成后打开软件,设置本身的工做环境路径,点击Launch(路径不能有中文,有中文会编译错误)操作系统

 

 

 七、点击 Start new STM32 project 建立一个新的工程项目,输入硬件上对应的芯片型号,点击Next,输入工程名称 BASIC_GPIO,点击Next 弹出对话框,点击Yes。debug

 

 

 八、建立完成以后,如下界面就是建立的新工程3d

 

 九、开始配置工程参数:1)配置SYS调试方式,2)配置系统时钟RCC,3)配置GPIO端口调试

十、配置调试方式(debug方式根据本身的硬件选择合适的选项,本次使用的是CMSIS DAP debug ,用的是野火指南者开发板选择 JTAG ( 5 pins ) htm

 

  十一、配置系统时钟RCC(采用外部晶振8MHz,最高主频为72MHz)

 

 

 十二、配置GPIO端口(本次硬件为野火指南者)以LED灯为例,硬件电路图以下

 1三、能够对每个GPIO参数进行修改(在图上对着对应引脚鼠标左右点击能够配置,具体操做本身多点几下就明白了)

 

 1四、由于配置了GPIO外设端口,在如下位置修改生成对应的H文件和C文件

 

 1五、点击保存会弹出是否生成代码,点击是生成响应的代码,在如下位置能够看到生成代码

 

1六、在位置1处右击鼠标选择 Build Project 编译工程项目程序,能够看到编译后的代码状况

 

 1七、如今开始编写代码控制LED灯的状态(本次使用的是HAL库 <<HAL通常指硬件抽象层。硬件抽象层是位于操做系统 内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操做系统提供虚拟硬件平台,使其具备硬件无关性,可在多种平台上进行移植>> )

1八、GPIO用的是HAL库,大部分函数都是以HAL开头的,在main程序中编写如下代码,并编译:(编辑代码的时候能够用代码补全功能快捷键: ALT+/ )添加的代码必定要在/* USER CODE BEGIN */和/* USER CODE END */之间,否则保存或者编译会把代码删除掉。

 

1九、编译经过,开始调试程序:经过软件调试来查看Debug_num值的变化,和GPIO寄存器值的变化

20、在位置1(参看上边第15步)右击鼠标->Debug As -> STM32 Cortex-M C/C++ Application

2一、因为本次使用的是CMSIS DAP Debug(秉火D普通DAP仿真器)STM32CubeIDE默认不支持DAP的,可是经过ST-Link(OpenOCD间接支持),重点::::::《选择链接到远程GDB服务器端口》

 

  2二、配置完成以后,显示没有没有ST-link

 

 2二、出现错误显示没有ST-Link,是电脑没有安装相应的驱动

2三、安装ST-LinkOCD驱动,下载连接:https://gnutoolchains.com/arm-eabi/openocd/  下载完成后解压打开文件夹

 

2四、在空白处按住Shift键右击鼠标打开PowerShell窗口,如下命令按回车:./openocd -f interface/cmsis-dap.cfg -f target/stm32f1x.cfg  若是不成功多试几回,在执行前最好把单片机和电脑都链接好。

 

 2五、回到STM32CubeIDE中,从新编译程序,点击瓢虫的那个按钮,到如下界面

 

  2六、根据LED灯的接口查看对应的GPIO端口的ODR寄存器,能够看到数值的变化,同时观察开发板的LED灯状态。

 

 2七、单击全速运行按钮,查看开发板LED灯闪烁状态。

 

 2八、因为本次初始化的时候默认设置端口是低电平,也就是灯默认是亮的状态,因此在LED_BLUUE闪烁的时候另外另个灯常亮,如何修改GPIO端口默认输出的是高电平仍是低电平,能够在如下位置修改。

相关文章
相关标签/搜索