vs gdb调试visualgdb stm322怎么配置环境

FPGA/CPLD开发板
查看: 1849 | 回复: 1
本教程主要介绍如何配置和来调试STM32L0开发板的固件,使微控制器进入睡眠模式。
我们将创建一个的基本工程,并介绍当CPU进入休眠模式时为什么默认配置不能正常工作,以及如何在调试设置中使用特殊的复位模式来解决该问题。
1、&&首先启动Visual Studio并打开VisualGDB Embedded Project Wizard:
01-prjname3.png (55.16 KB, 下载次数: 0)
11:01 上传
2、&&选择“Create a new project -& Embedded binary”,然后单击“Next”:
02-prjtype.png (52.58 KB, 下载次数: 0)
11:03 上传
3、&&从列表中选择ARM工具链和器件型号。 本教程中使用的NUCLEO-L031K6开发板采用的是STM32L031K6微控制器:
03-device1.png (43.64 KB, 下载次数: 0)
11:03 上传
4、&&使用默认的“LEDBlink”示例继续下一步:
04-sample1.png (33.29 KB, 下载次数: 0)
11:03 上传
5、&&在最后一页选择“OpenOCD”,通过USB连接开发板,然后单击“Detect”自动检测调试设置:
05-debug3.png (39.92 KB, 下载次数: 0)
11:03 上传
6、&&按“Finish”生成项目。 将main()函数的内容替换为以下内容:int main(void)
{
& & HAL_Init();
& &
& & __GPIOB_CLK_ENABLE();
& & GPIO_InitTypeDef GPIO_InitS
& & GPIO_InitStructure.Pin = GPIO_PIN_3;
& & GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
& & GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;
& & GPIO_InitStructure.Pull = GPIO_NOPULL;
& & HAL_GPIO_Init(GPIOB, &GPIO_InitStructure);
& &
& & for (;;)
& & {
& && &&&HAL_PWR_EnterSLEEPMode(PWR_LOWPOWERREGULATOR_ON, PWR_SLEEPENTRY_WFI);
& && &&&HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_3);
& & }
& &
}复制代码该段代码将使器件进入睡眠模式,直到发生SysTick中断。
06-build.png (106.01 KB, 下载次数: 0)
11:03 上传
7、&&按F5开始调试。 调试应该会正常启动,并且你应该能够单步调试代码:
07-debug.png (84.55 KB, 下载次数: 0)
11:03 上传
8、&&按Shift-F5停止调试,然后尝试重新启动。 现在调试会失败,并且OpenOCD显示以下错误:Error: timed out while waiting for target halted复制代码
08-problem.png (69.94 KB, 下载次数: 0)
11:03 上传
发生错误的原因是,当器件处于睡眠模式时,OpenOCD无法通过JTAG正确连接到它。
9、&&现在我们将演示如何通过编辑OpenOCD配置来解决这个问题。 打开VisualGDB项目属性的Debug Settings页面,并切换到Manual setup模式:
09-debugsetting.png (104.64 KB, 下载次数: 0)
11:03 上传
10、 单击“Target”字段中的“Open”按钮,复制原始文件(例如,复制为stm32l0_reset.cfg),然后在编辑器中打开:
11-reset.png (134.67 KB, 下载次数: 0)
11:03 上传
11、 找到以reset_config开头的行,并使用以下行将其替换:reset_config trst_and_srst srst_nogate connect_assert_srst复制代码
12-reset.png (42.36 KB, 下载次数: 0)
11:03 上传
connect_assert_rst标志将强制OpenOCD在初始连接期间重置CPU,使其脱离睡眠模式并确保调试通信成功。
12、 保存该新脚本并确保在VisualGDB项目属性中选择它:
13-newcfg.png (105.09 KB, 下载次数: 0)
11:03 上传
13、 按F5开始调试。 不管固件是否进入睡眠模式,现在调试应该可以正常工作:
14-debug.png (87.46 KB, 下载次数: 0)
11:03 上传
参考链接:Debugging STM32L0 Firmware with Sleep Mode with OpenOCD:
呵呵你真厉害,佩服哦
微信扫一扫 转发朋友圈
Powered by206被浏览86,594分享邀请回答2添加评论分享收藏感谢收起194 条评论分享收藏感谢收起你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
首先呢,你需要安装VS2010----2015都可以版本随便,然后呢肯定要安装visual assist x神器的。这部分自己百度去。
然后呢你需要visualgdb各项工具,我已经整理好了,网盘奉上:
安装俄罗斯版的visualgdb的安装程序,这个版本比较新,而且已经破解了,没有限制!!记得在vs关闭的情况下安装这个程序,到此,你的visualgdb我默认已经安装完成,接下来安装编译器了,以stm32为例,需要使用网盘中的工具链文件夹下的:arm-eabi-gccx--xxxx--x.exe这个类型的编译器,其他的还有msp430版本的gcc等。
以默认路径安装这个编译器,不要修改安装路径,不然后面需要重新设置,比较麻烦。
到此,你的visualgdb和gcc编译器都已经安装完成啦!这个时候你打开vs2015时,会提示辅助插件选择项,大体意思就是需要使用哪个去智能提示代码,选择visual assist x(前提是你安装了)。
这个时候他会提示你下载bsp设备支持包,在网盘里已经有了,直接按下图安装就行了。
选择文件安装stm32的支持包
到此, 使用vs2015创建STM32工程编译,下载就可以调试了,但是,这是使用的visualgdb自带的hal库和freertos系统,不能兼容我们stm32cubemx生成的工程。后面的教程我会尽快写出来!!!
楼主你网盘失效了....
已经修正啦
求cube啊楼主,我屏幕高分屏的,早就想换了keil了,可惜没合适的
咋下载啊,一直提示没找到jlink
期待楼主的更新!!
可是编译的时候报错显示&select processor does not support Thumb mode 'vstmdbeq r0!,{s16-s31}'&
J-Link下載一直提示失敗,怎麽破?
需要注意的是,STM32F1系列对于使用JLINK-V7/V8且使用SWD模式的话是有缺陷的,其他型号都可以,所以你是STM32F1系列的话就更换ST-LINK就可以了
&&& 有没有本地安装&install support for additonal debug methods的方法呢,谢谢老大,老大可以建立一个群;
请问OPENOCD 楼主是怎么安装的呢???自动加载???
安装debug method的时候一直出错,并且在安装列表中只有openOCD诶
这神器太牛逼,必须得赞啊
下载后单片机没有反应啊
百度云有视频啦!!!&
有个小工具叫IAR_Gen,它可以将IAR项目转换成Visual Studio项目。虽然转换后的项目不可以在Visual Studio中编译和调试。但相比IAR和MDK,仅在Visual Studio中写代码就已经是一种享受了。
-----欢迎大家加入VS GDB for STM32交流群学习交流如何使用VS GDB开发STM32 项目 -----------------群号:
要回复文章请先或查看: 4181|回复: 8
使用VS2015+VAX+visualgdb编写STM32程序的环境搭建
主题帖子精华
中级会员, 积分 371, 距离下一级还需 129 积分
在线时间122 小时
本帖最后由 dingyi4000 于
11:58 编辑
首先需要下载VS2015,因为VAX和visualgdb都是VS2015的插件,只有安装好VS2015后才能安装VAX和visualgdb,这里推荐社区版的2015,因为社区版是免费的正版软件,另两个需要破解,VAX中文名叫番茄助手,是用来强化VS2015编辑功能的一个插件,visualgdb是一套GCC的编译工具链是用来生成STM32程序用的插件。
安装过程就省略,直接进入CUBEMX生成的工程导入到vs2015中的过程。在vs2015中兴建一个项目:
第一步.jpg (143.49 KB, 下载次数: 1)
10:51 上传
如图所示安装好visualgdb后就会有visualgdb的选项如果没有说明没有安装visualgdb。
第二步选择是新建一个项目还是导入一个项目,这里我们选择导入,并且把拷贝所有文件的勾给勾上:
第二步.jpg (120.25 KB, 下载次数: 1)
10:54 上传
第三步要下载一个嵌入式芯片的一个文件包用来确定你要在那种芯片上编程,这个过程有点漫长慢慢下吧:
第三步.jpg (173.01 KB, 下载次数: 1)
10:59 上传
下完并且安装好以后是这样:
第四步完成后的样子.jpg (181.3 KB, 下载次数: 1)
11:13 上传
在筛选器里写入stm32f407zg后就剩下了一个stm32f407zg的选项:
第四步完成后的样子在筛选完后的样子.jpg (130.46 KB, 下载次数: 1)
第四部筛选
11:14 上传
然后下载STM32F407zg的支持包:
第五步.jpg (141.22 KB, 下载次数: 1)
11:18 上传
如果觉得下载太慢可以点开Details查看详细里面有个网址复制粘贴到下载工具里面去下载,这样速度会快很多,如图:
第五步太慢的话.jpg (107.57 KB, 下载次数: 1)
第五步太慢
11:20 上传
下载安装好以后,最下面出现了3个选择框,分别是程序保存到哪里,有2个选项一个是FLASH一个是ROM;浮点支持,有3个选项一个是支持,一个不支持,还有一个不知道说明意思;第三个是C语言库的类型有四个选项,我还没分清这4个有什么区别:
第五步安装完成后的样子.jpg (148.3 KB, 下载次数: 1)
11:21 上传
选择好后点击下一步,如图:
第六步.jpg (119.98 KB, 下载次数: 1)
11:17 上传
在这里需要选择你要导入的工程文件夹,也就是用CUBEMX生成的工程的路径,选择好以后,点击下一步:
第七步.jpg (69.99 KB, 下载次数: 1)
11:27 上传
这里就是选择调试工具了,因为我用的是STLINK所以要选择openODC这个选择项,然后等待下载安装完成,完成后如图:
第七步完成.jpg (91.13 KB, 下载次数: 1)
11:28 上传
选择V2.0版本的STLINK,因为我用的就是v2.0的stlink,点击测试,如果没有安装stlink的驱动(如我),就会提出需要安装stlink驱动的要求,如图:
第八步.jpg (139.92 KB, 下载次数: 1)
11:34 上传
完成下载安装,并测试成功,如图:
第八步完成.jpg (182.19 KB, 下载次数: 1)
11:31 上传
如果没有测试成功,请检查开发板是否通电,没通电就不成功。
完成后VS2015开始生成工程,工程生成好后如图:
第九步.jpg (54.88 KB, 下载次数: 1)
11:37 上传
则说明工程生成成功,然后在工程名上点右键,选择GDB属性,如图:
第十步.jpg (74.32 KB, 下载次数: 1)
11:38 上传
弹出GDB的属性对话框,如图:
第十步内容.jpg (201.45 KB, 下载次数: 1)
11:39 上传
在include directions里面填入Inc,如图:
第十步完成.jpg (203.98 KB, 下载次数: 1)
11:41 上传
这一步是用来导入包含路径用的,没有这一步编译时找不到包含路径就会出错。
然后选择IntelliSence settings选项,如图:
第十一步完成.jpg (223.62 KB, 下载次数: 1)
11:40 上传
在IntelliSence settings engin选项中选择中间一项,这个就是用来启动VAX的,否则VAX不会起作用。
到此VS2015+VAX+visualgdb的环境就搭建完成了,这样就可以享受使用vs2015编程所带来的便利了。
主题帖子精华
中级会员, 积分 286, 距离下一级还需 214 积分
在线时间38 小时
帮顶&&看有人已经用17版的VS编译了
主题帖子精华
初级会员, 积分 109, 距离下一级还需 91 积分
在线时间22 小时
能帮忙看下这个问题不?折腾了好久,板子是有电的,外供电源的,可是就是识别不了
(64.08 KB, 下载次数: 5)
12:27 上传
主题帖子精华
初级会员, 积分 134, 距离下一级还需 66 积分
在线时间23 小时
能帮忙看下这个问题不?折腾了好久,板子是有电的,外供电源的,可是就是识别不了
楼主解决没,我也遇到这个问题了。
主题帖子精华
金牌会员, 积分 1694, 距离下一级还需 1306 积分
在线时间196 小时
楼主解决没,我也遇到这个问题了。
在选择仿真器的时候,选择低速SWD,不要选高速,然后点test就可以了
主题帖子精华
新手入门, 积分 2, 距离下一级还需 18 积分
在线时间0 小时
楼主在visualGDB上有没有用过原子的CMSIS-dap 仿真器
主题帖子精华
金牌会员, 积分 1403, 距离下一级还需 1597 积分
在线时间265 小时
以后这样就可以写上位机跟嵌入式,一起了
主题帖子精华
新手入门, 积分 4, 距离下一级还需 16 积分
在线时间0 小时
学习了学习了
主题帖子精华
初级会员, 积分 102, 距离下一级还需 98 积分
在线时间17 小时
-----欢迎大家加入VS GDB for STM32交流群学习交流如何使用VS GDB开发STM32 项目 -----------------群号:
路漫漫其修远兮,吾将上下而求索
Powered by随笔 - 331&
文章 - 0&评论 - 21&trackbacks - 0
  笔者已经写了一篇&,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改变。鉴于此,本文没有必要对windows下搭建STM32开发环境的详细过程进行阐述,读者可以结合和本文进行windows下STM32开发环境的搭建。
2、开发环境描述
硬件开发板:野火STM32开发板
Cortex-M3型号:STM32F103VET6
下载器与调试接口:Jlink + JTAG
操作系统:windows XP
集成开发环境平台:eclipse IDE for C/C++ developers
交叉编译链:arm-none-eabi-gcc
调试服务器:JLink GDB Server
二、搭建步骤
1、安装eclipse IDE for C/C++ developers
下载地址: 
选择安装包:eclipse IDE for C/C++ developers(windows 版本)
  安装之后,Eclipse还不能正常运行,因为Eclipse要运行在Java虚拟机上,所以还需要安装JDK或者JRE,以创建Java虚拟机,给Eclipse的运行提供一个环境。
2、安装JDK
  参考,安装JDK成功之后,重新启动Eclipse就可以看到能够成功运行了。
3、安装交叉编译链arm-none-eabi-gcc
下载地址:
选择版本:Windows installer
双击安装,注意在安装的最后选择不要把安装路径添加到环境变量中(否则将会把安装路径添加到用户的环境变量PATH中,当将来安装其他版本的工具链时,有可能发生名字冲突)
测试安装是否成功
  参考:
4、安装编译工具(make & rm)
  make 和 rm 是Linux和OS X下的工具,windows上没有这样的工具,但是使用交叉编译链时需要调用Makefile脚本,其中使用了这些工具。所以,在windows上还需要安装这样的工具。
下载地址:
解压后就可以使用,在使用前先进行重命名,去掉"cs-&前缀
添加此编译工具的目录到Eclipse的环境变量中,Eclipse的环境变量都在选项Window-&Preference中
The echo command
The archive also contains an executable for the&echo&command. It is not mandatory for the build to succeed, but it is recommended to have it in the build path, to avoid an annoying CDT bug, that triggers an error during the first build of a new project, claiming that&&Program &gcc& not found in PATH&.
5、安装JLink软件
  JLink软件包含:GDB Server、JLink驱动等等工具
下载地址:
注意:JLinkGDBServer.exe、JLinkGDBServerCL.exe其实是相同的工具,都是GDB调试服务器。区别在于前者是图形界面,而后者是命令行界面。在windows上使用的话,推荐使用命令行模式的工具。
6、安装GNU ARM Eclipse插件包
  此插件包包含了6个插件,能实现不同的功能。其中第一个插件是为了使Eclipse支持交叉编译,最后的两个是硬件调试的支持。
  参考:
7、新建一个LED_Test工程并配置、编译
  参考1:
  参考2:
  另外,倘若交叉编译工具链找不到的话,可以看看下边的选项是否配置正确
  倘若想要生成反汇编、Map文件等,可以在Build Steps中添加命令
三、使用GDB Hardware Debugging进行硬件调试
1、安装GDB调试插件--C/C++ GDB HardWare Debugging
Eclipse--&Help--&Install new software--&ADD
名字:CDT Juno
地址:http://download.eclipse.org/tools/cdt/releases/juno
选中插件C/C++ GDB HardWare Debugging
一路Next,完成安装
2、设置Eclipse调试环境并启动调试
  参考:
四、使用GDB SEGGER J-Link Debugging调试
1、GDB SEGGER J-Link Debugging优于GDB Hardware Debugging
transparent integration of the GDB server, automatically started/stopped for each debug session
advanced graphical user interface to configure most GDB client and GDB server SEGGER specific options
transparent integration of the semihosting and Serial Wire Viewer (SWV) window as a standard Eclipse console
a functional restart button, to reset the target and restart the debugging session, without having to rewrite the executable image
direct use of project toolchain definition (prefix, suffix, path) to simplify configuration of the GDB client
macro based J-Link folder path definition, for simplified management of the GDB server location when upgrades to new SEGGER versions are released
support for SWO registers configuration to match a given system clock frequency
                    参考:
2、安装GDB SEGGER J-Link Debugging插件
  在我们安装GNU ARM Eclipse插件包的时候,已经将这个插件安装了
3、配置Eclipse调试环境并启动调试
1& 将Jlink软件的安装目录添加到Eclipse的环境变量中,此环境变量再接下来的配置中会用到
2& 设置Debug Configurations
3& 启动调试
本章参考:
五、直接使用arm-none-eabi-gdb进行调试
1、创建系统环境变量HOME
  变量的值为当前登陆用户目录,例如管理员目录:C:\Documents and Settings\Administrator
2、在用户目录中创建.gdbinit文件
  在winows上创建以&.&开头的文件方法是。该文件的内容为:
set auto-load safe-path /
3、在工程的Debug目录中创建.gdbinit文件
target remote :2331
set mem inaccessible-by-default off
monitor speed auto
monitor endian little
monitor reset
monitor flash device = STM32F103ZE
monitor flash breakpoints = 1
monitor flash download = 1
monitor reg sp = (0x)
monitor reg pc = (0x)
break ResetHandler
break main
4、启动JlinkGDBServerCL
  进入Jlink软件的安装目录,启动JlinkGDBServerCL
5、启动调试
  打开命令终端(win徽标+R--&cmd),进入工程的Debug目录,输入调试命令
  调试结果如下:
  此时JlinkGDBServerCL的情况如下:
阅读(...) 评论()}

我要回帖

更多关于 stm32 openocd gdb 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信