一、概述

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. Objective-C /iphone开发基础:分类(category,又称类别)

    在c++中我们可以多继承来实现代码复用和封装使程序更加简练.在objective-c中只能单继承,不能多继承,那么除了协议protocol之外,我们可以实现类似多继承的一个方法就是,分类(catego ...

  2. smartctl工具应用(转载整理)

    转载:https://linux.cn/article-4682-1.html Smartctl(S.M.A.R.T 自监控,分析和报告技术)是类Unix系统下实施SMART任务命令行套件或工具,它用 ...

  3. msp430f149的低功耗模式

    430的低功耗确实很强啊,虽然和VR单片机比起来速度慢了好多.在CPU进行工作时,如果没有什么事情干,就得进入低功耗模式啦,LMPX(0~4)这几种模式的具体事项就是如下的,得记住了. 一,运行模式M ...

  4. MSP430矩阵及独立键盘

    在学习MSP430的时候,总是有很多东西记不住,同时又是英文的资料,好多东西也是没怎么看透,英文虽过六级但是看英文资料还是有一种想睡的冲动啊,在学习键盘的时候,我的这块板子有些不同,矩阵键盘和独立键盘 ...

  5. 【转载】Java的四种引用

    在Java中,虽然不需要程序员手动去管理对象的生命周期,但是如果希望某些对象具备一定的生命周期的话(比如内存不足时JVM就会自动回收某些对象从而避免OutOfMemory的错误)就需要用到软引用和弱引 ...

  6. 用js操作表格

    效果图: 任务: 1. 鼠标移到不同行上时背景色改为色值为 #f2f2f2,移开鼠标时则恢复为原背景色 #fff var tr=document.getElementsByTagName(" ...

  7. IIS经典模式和集成模式在管道模型中的不同

    问题: 有时候我们配置IIS后可能运行提示以下错误: HTTP 错误 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设置. 其中由 ...

  8. Plugin with id 'android-apt' not found

    解决路径: 1.查看miniSDK最外面的build.gradle 添加这句.具体参考一下demo.谢谢

  9. phpize php扩展模块安装

    安装(fastcgi模式)的时候,常常有这样一句命令:/usr/local/webserver/php/bin/phpize一.phpize是干嘛的?phpize是什么东西呢?php官方的说明:htt ...

  10. Mysql 创建联合索引注意事项

      当一个表有多条索引可走时,  Mysql  根据查询语句的成本来选择走哪条索引, 联合索引的话, 它往往计算的是第一个字段(最左边那个), 这样往往会走错索引. 如: 索引Index_1(Crea ...