欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

STM32CubeIDE 使用OpenOCD debug调试

程序员文章站 2022-06-18 15:42:55
STM32CubeIDE 使用OpenOCD debug问题解决问题针对手头的正点原子潘多拉(Pandora IoT)开发板在使用STM32CubeIDE时,提示ST-Link固件升级,不能下载,更不能debug。解决1.方法一:固件升级这里可以参考:暴力升级你的 ST-Link 及 STM32CubeIDE2.方法二使用OpenOCD首先安装OpenOCD(网上一大堆,不赘诉)cfg文件:Pandora的芯片时STM32L475VET6所以这里选择比较接近的stm...


STM32CubeIDE 使用OpenOCD debug


问题

针对手头的正点原子潘多拉(Pandora IoT)开发板在使用STM32CubeIDE时,提示ST-Link固件升级,不能下载,更不能debug。
STM32CubeIDE 使用OpenOCD debug调试
STM32CubeIDE 使用OpenOCD debug调试

解决

1.方法一:

2.方法二


  • cfg文件:

Pandora的芯片时STM32L475VET6
所以这里选择比较接近的stm32L4discovery.cfg
STM32CubeIDE 使用OpenOCD debug调试
最关键的两个文件 stlink.cfg & stm32l4x.cfg
说明stm32l4系列单片机和st-link调试大概都是这样设置的,其它型号以及调试自行组合(里面cfg那么多找个自己跟着改一改)

这样仿照着为Pandora 写一个 stm32l4Pandora.cfg
STM32CubeIDE 使用OpenOCD debug调试

source [find interface/stlink.cfg] transport select hla_swd

source [find target/stm32l4x.cfg] # reset_config srst_only 

最后一行重置有可能会影响后面的调试,没有影响的就不用注释,有影响就试试注释看一下能不能解决。

st-link 连接PC,启动OpenOCD

  • openocd -f “绝对路径.cfg文件”(默认路径在board/下)
openocd -f "board/stm32l4Pandora.cfg" 

STM32CubeIDE 使用OpenOCD debug调试
可以看到已经识别到了st-link 相关信息。

打开STM32CubeIDE 工程

  • 主函数随便写几行
int main(void) { /* USER CODE BEGIN 1 */ uint16_t count = 0; uint8_t pData[] = "hello mcu stm32 !\n"; uint8_t pData1[] = "I am pData1\n"; uint8_t pData2[] = "I am pData2\n"; /* USER CODE END 1 */ ... ... ... /* USER CODE BEGIN 2 */ HAL_UART_Transmit(&huart1, pData, sizeof(pData), HAL_MAX_DELAY); HAL_Delay(1000); HAL_UART_Transmit(&huart1, pData1, sizeof(pData1), HAL_MAX_DELAY); HAL_Delay(1000); HAL_UART_Transmit(&huart1, pData2, sizeof(pData2), HAL_MAX_DELAY); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { count++; HAL_Delay(1000); /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ } 
  • 配置OpenOCD
  1. 首先找到Run configurations
    STM32CubeIDE 使用OpenOCD debug调试STM32CubeIDE 使用OpenOCD debug调试
  2. 选择 ST-LINK(OpenOCD)
    STM32CubeIDE 使用OpenOCD debug调试
    STM32CubeIDE 使用OpenOCD debug调试
    STM32CubeIDE 使用OpenOCD debug调试
    这样就烧写进去了
    STM32CubeIDE 使用OpenOCD debug调试
  3. 点击debug
    STM32CubeIDE 使用OpenOCD debug调试
    STM32CubeIDE 使用OpenOCD debug调试
    以上就是全部内容,希望对你有所帮助

本文地址:https://blog.csdn.net/qq_37555002/article/details/107899292