一、概述

1、说明

  笔者已经写了一篇Linux下STM32开发环境的搭建 ,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改变。鉴于此,本文没有必要对windows下搭建STM32开发环境的详细过程进行阐述,读者可以结合Linux下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还不能正常运行,因为Eclipse要运行在Java虚拟机上,所以还需要安装JDK或者JRE,以创建Java虚拟机,给Eclipse的运行提供一个环境。

2、安装JDK

  参考安装JDK,安装JDK成功之后,重新启动Eclipse就可以看到能够成功运行了。

3、安装交叉编译链arm-none-eabi-gcc

  • 双击安装,注意在安装的最后选择不要把安装路径添加到环境变量中(否则将会把安装路径添加到用户的环境变量PATH中,当将来安装其他版本的工具链时,有可能发生名字冲突)

  • 测试安装是否成功

  参考:Toolchain install

4、安装编译工具(make & rm)

  make 和 rm 是Linux和OS X下的工具,windows上没有这样的工具,但是使用交叉编译链时需要调用Makefile脚本,其中使用了这些工具。所以,在windows上还需要安装这样的工具。

  • 添加此编译工具的目录到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’.

参考:Build tools (make & rm) on Windows

5、安装JLink软件

  JLink软件包含:GDB Server、JLink驱动等等工具

注意:JLinkGDBServer.exe、JLinkGDBServerCL.exe其实是相同的工具,都是GDB调试服务器。区别在于前者是图形界面,而后者是命令行界面。在windows上使用的话,推荐使用命令行模式的工具。

6、安装GNU ARM Eclipse插件包

  此插件包包含了6个插件,能实现不同的功能。其中第一个插件是为了使Eclipse支持交叉编译,最后的两个是硬件调试的支持。

  参考:Plug-ins install

7、新建一个LED_Test工程并配置、编译

  参考1:Linux下STM32开发环境的搭建

  参考2:STM32开源开发环境的搭建

  另外,倘若交叉编译工具链找不到的话,可以看看下边的选项是否配置正确

  倘若想要生成反汇编、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调试环境并启动调试

  参考:Linux下STM32开发环境的搭建

四、使用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

                    参考:The J-Link hardware debugging Eclipse plug-in

2、安装GDB SEGGER J-Link Debugging插件

  在我们安装GNU ARM Eclipse插件包的时候,已经将这个插件安装了

3、配置Eclipse调试环境并启动调试

1> 将Jlink软件的安装目录添加到Eclipse的环境变量中,此环境变量再接下来的配置中会用到

2> 设置Debug Configurations

3> 启动调试

本章参考:The J-Link hardware debugging Eclipse plug-in

五、直接使用arm-none-eabi-gdb进行调试

1、创建系统环境变量HOME

  变量的值为当前登陆用户目录,例如管理员目录:C:\Documents and Settings\Administrator

2、在用户目录中创建.gdbinit文件

  在winows上创建以“.”开头的文件方法是在Windowx下创建以点开头的.hatccess文件。该文件的内容为:

set auto-load safe-path /

3、在工程的Debug目录中创建.gdbinit文件

target remote :
set mem inaccessible-by-default off
monitor speed auto
monitor endian little
monitor reset
monitor flash device = STM32F103ZE
monitor flash breakpoints =
monitor flash download =
load
monitor reg sp = (0x08000000)
monitor reg pc = (0x08000004)
break ResetHandler
break main
continue

4、启动JlinkGDBServerCL

  进入Jlink软件的安装目录,启动JlinkGDBServerCL

5、启动调试

  打开命令终端(win徽标+R-->cmd),进入工程的Debug目录,输入调试命令

  调试结果如下:

  此时JlinkGDBServerCL的情况如下:

windows下STM32开发环境的搭建的更多相关文章

  1. Linux下STM32开发环境的搭建

    目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse ...

  2. windows下vue开发环境的搭建

    一 介绍: vue.js是什么? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库 ...

  3. windows下php开发环境的搭建

    环境搭建软件组合为:Apache2.2.9+mysql5.2.32+php5.2.6  下载地址如下 http://download.csdn.net/detail/xttxqjfg/5670455 ...

  4. 2-3 Windows下一站式开发环境anaconda搭建

    D:\Users\ZHONGZHENHUA\Anaconda3\Scripts\activate.bat https://www.geforce.com/hardware/notebook-gpus/ ...

  5. windows系统下ruby开发环境的搭建方法

    ruby是一种简单快捷的面向对象的脚本语言,非常直观.下面说一下windows系统下ruby开发环境的搭建方法. 工具/原料 rubyinstaller.exe 方法/步骤 1 到如下网站去下载最新的 ...

  6. 【Objective-C】Windows下Objective-C开发环境配置

    [Objective-C]Windows下Objective-C开发环境配置 ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/   最近打 ...

  7. windows下spark开发环境配置

    http://www.cnblogs.com/davidwang456/p/5032766.html windows下spark开发环境配置 --本篇随笔由同事葛同学提供. windows下spark ...

  8. Linux环境下Android开发环境的搭建

    本文主要介绍在Ubuntu下Android开发环境的搭建,所使用的IDE为Eclipse(Android Studio同理,且可省去配置SDK以及安装adt插件的步骤). 1.安装JDK (1)JDK ...

  9. Ubuntu 14.04下java开发环境的搭建--3--Tomcat及MySQL的安装

    前面两篇文章,已经说明了JDK和Eclipse 的安装方法,下面简单说一下,Tomcat及MySQL的安装方法. Tomcat的安装. 在合适的地方解压apache-tomcat-6.0.39.tar ...

随机推荐

  1. c#_delegate_异步调用_BeginInvoke

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. global 用法

    <?php//$GLOBALS['he']="hechunhuae";function Test(){ //global $he; $GLOBALS['he']=" ...

  3. Java + MongoDB Hello World Example--转载

    原文地址:http://www.mkyong.com/mongodb/java-mongodb-hello-world-example/ A simple Java + MongoDB hello w ...

  4. Database ORM

    Database ORM Introduction Basic Usage Mass Assignment Insert, Update, Delete Soft Deleting Timestamp ...

  5. 基于ArcGIS的栅格图像平滑处理(转)

    基于ArcGIS的栅格图像平滑处理 栅格数据获取的途径多种多样,造成了栅格数据质量的很大差异,一些质量较差的栅格数据存在大量“噪音”象元,即在表达同类型的地理要素时,出现个别像元值与周边像元不一致的情 ...

  6. 设置N秒后执行某个方法或函数

    设置N秒后执行一个函数,最常用的是设置一个定时器,今天刚看到有这样一个函数,感觉还是比较简单实用的,就先记下来,免得忘记了. 5秒后执行pushSecondController这个函数 [self p ...

  7. 自定义异常以及runtime类

    一.自定义异常: 1.自定义异常的概念:在java编程中,我们会遇到很多问题,但是这些问题异常,java并没有给我们定义好,那么我们就要自己定义这些异常,这就是自定义异常: 2.throws 是声明异 ...

  8. JFace中的表格型树TableTreeViewer

    表格型树是用TableTreeViewer来实现,自从SWT下的TableTree被废弃之后,其扩展TableTreeViewer也成了鸡肋,不再被建议使用,既然Tree可以实现表格型树,那么其扩展T ...

  9. app测试点

    手机上的app分为基于HTML5的app(类似于pc上的b/S应用)和本地app(类似于C/S结构). 所以测试上我们也可以充分吸收web的b/s和c/s测试经验.但是不同于pc上的应用测试,手机上的 ...

  10. Cordova+angularjs+ionic+vs2015开发(五)

    欢迎加群学习:457351423 这里有4000多部学习视频,涵盖各种技术,有需要的欢迎进群学习! 一.创建侧边菜单和导航项目 1.使用VS创建一个Ionic空项目,同时创建一个Ionic SideM ...