Windows下搭建Eclipse STM32 MCU开发环境

1. 安装Eclipse IDE for C/C++ Developers

下载下来是一个.zip格式压缩包,直接解压到无中文及空格路径下即可使用。

image.png

下载下来是一个.zip格式压缩包,直接解压到无中文及空格路径下即可使用。版本信息:

image.png

 

2. 安装 GNU MCU Eclipse IDE for C/C++ Developers  

2.1 Eclipse Marketplace在线安装GNU MCU Eclipse

 

1.双击刚解压的eclipse路径根目录下eclipse.exe,启动eclipse,如下图,打开Help->Eclipse Marketplace

image.png

 

2.搜索GNU MCU,如下图,第一个就是,点击install进行安装

image.png

 

3.全选,点击confirm。

大概浏览一下,发现其中包含STM32、Freescale、RISC-V架构、Cortex-M架构等工程例程,还有j-link仿真插件,以及OpenOCD(后面会用它完成ST-LINK的配置)、PyOCD、QEMU等仿真工具,以及Packs支持(后面可能会被xPacks取代),详细见https://gnu-mcu-eclipse.github.io/

image.png

 

4.选择接受许可证,点击Finish,此时Eclipse右下角会出现安装

image.png

4.1  如果出现下图报错,查看详情可能是网络有问题,点击OK再试几次,或者打开你的代理,实在不行请移步至下一小节2.2 离线安装GNU MCU Eclipse

image.png

image.png

4.2如果中途出现提示未签名,不必理会,Install anyway

image.png

 

 

  1. 点击Restart Now重启软件image.png
  2. 这时新建C/C++工程就会看到一些MCU工程样板了(如何新建工程会在后面章节说明)

image.png

image.png

image.png

 

2.2 离线安装GNU MCU Eclipse

  1. 下载 GNU MCU Eclipse plug-ins v4.5.1-201901011632,我已下载好,传至附件,如下?ilg.gnumcueclipse.repository-4.5.1-201901011632.zip

image.png

 

  1. Help->Install New Software...

image.png

 

  1. Add->Archive...->ilg.gnumcueclipse.repository-4.5.1-201901011632->打开,Add

image.png

注:此处Archive...前的Location填入GNU MCU ECLIPSE插件的链接地址也可完成在线安装

  • go to the Eclipse menu → Help → Install New Software
  • Add... → Location: http://gnu-mcu-eclipse.netlify.com/v4-neon-updates/

 

  1. 全部勾选,Next

image.png

  1. Next

image.png

 

  1. 接受许可证,Finish。后续步骤与在线安装一致,参见Eclipse Marketplace在线安装章节

image.png

 

3. xPack包管理工具安装

xPack详细安装过程请参见https://github.com/xpack/xpm-js,路线图为:node.js->npm安装xpm

3.1 安装node.js

先决条件是安装node.js

Prerequisites

A recent Node.js (>=8.x), since the ECMAScript 6 class syntax is used.

$ node --version

image.png

下载安装,打开Git Bash,查看node版本,显示版本号,说明安装成功

image.png

3.2 npm安装xpm

 

On Windows, by default, global node packages are installed in the user home folder, in %APPDATA%\npm (like C:\Users\ilg\AppData\Roaming\npm), and managing packages does not require administrative rights.

C:\>npm install --global xpm

如果执行上述指令时速度下载速度慢,请将npm镜像修改为淘宝镜像或安装cnpm通过淘宝镜像下载。

安装cnpm:

npm i -g cnpm --registry=https://registry.npm.taobao.org

如果使用cnmp安装xpm,那么命令则改为:

C:\>cnpm install --global xpm

如下图,xpm --version能成功返回版本号,则安装成功,如果不返回版本号,请将xpm加入环境变量:

C:\>setx Path "%Path%;%APPDATA%\npm"

image.png

3.3 使用xpm安装gun mcu配套工具链

参见https://gnu-mcu-eclipse.github.io/install/

gcc工具链安装:

image.png

image.png

 

windows 编译工具安装

image.png

 

image.png

 

安装好工具链之后重启Eclipse,Window->Preferences->MCU中,各个工具链及编译工具都自动识别了路径,并且xPack按键也可以点了(在安装xpm之前,此按键是灰色的,因为gnu mcu未在环境变量中找到xpm)

image.png

 

4. MCU包安装

  1. 点击Packs按钮,点击reflash,eclipse会自动从eclipse下载相关mcu包,这个过程只是下载pdsc文件,里面是xml格式,作为各个厂家包的索引文件,还不是真正的包。

image.png

  1. 经过漫长的下载,devices目录出现了

image.png

接下来跟操作跟keil mdk包管理器操作方法一样了,选中需要的包,右键install。不过此处同样会遇到跟mdk一样的问题,就是下载速度极其缓慢。

在这里提供一个快速安装mcu包的方法:首先找到目标包的下载链接,如STM32F4的下载地址是

image.png

使用浏览器直接下载与使用mdk或eclipse下载速度一样很慢,复制该链接,使用迅雷下载,速度非常快(当然,也取决于本地网速)。下载完之后,将下载好的.pack文件复制到eclipse的包管理路径%packs_path%的.cache下

%packs_path%/.cache/

如果不知道自己电脑%Pack PATH%,那么打开

eclipse->Windiw->Preferences->C/C++->MCU Packages

image.png

将包文件拷贝到.cache下后,在devices列表中找到对应包的版本号,右键install,这时包管理器发现该文件已存在,就直接进行解压部署。

5. 创建STM32F4项目

  1. New->Project...->C/C++->C/C++ Project,点击Next

image.png

 

  1. 选择C Managed Build或C++ Managed Build,Next

选择C还是C++取决于使用者,C++会生成main.cpp等格式应用层文件,我们通常选择C

image.png

 

  1. 输入项目名称,选择对应芯片系列,Next

image.png

 

  1. 选择目标芯片配置参数,默认外部晶振频率是8M,这来自于ST官方discovery评估板,请按照自己手中电路板实际频率填写,不然会导致MCU运行错误出现Invalid ROM Table报错,进而导致ST-Link无法连接,仿真失败问题,Next

 

image.png

如果新建项目时外部晶振频率填写错误,项目右键 -> Properties -> C/C++ General -> Paths and Symbols -> Symbols选项卡中,修改对应宏。注意:其中根据语言分别有汇编,C,C++,根据各自情况进行修改。

image.png

  1. 保持建议文件夹配置即可,Nextimage.png

 

  1. 在Select Configurations  页面中,  选中建议的Debug / Release配置,然后单击  Next>  按钮

image.png

 

  1. 选择工具链,因为前面已用xPacks安装过,此处自动识别,默认,完成

image.png

 

  1. 点击“锤子”标志进行构建,获得.elf文件

此项目例程功能是时LED灯以1s周期闪烁,硬件是基于st官方discovery评估板,所以需要根据手中的电路板修改代码。

image.png

 

构建过程创建的文件保留在由配置名称命名的文件夹中,例如  Debug  或  Release

image.png


如上所示,  Debug  中包含:

  • 所有make构建所需的文件(makefile  和各种  * .mk  文件,由CDT生成),
  • 构建期间生成的目标文件和依赖项文件(main.o  和  main.d
  • 带有所有调试符号的最终可执行文件,对调试会话很有用(blinky.elf
  • 可写入flash中的二进制可执行文件(blinky.hex
  • 程序映射,包含所有符号及其相关地址(blinky.map

 

  1. 给项目配置目标芯片类型

项目名右键 -> Preferences -> C/C++ Build ->Setting -> Devices

image.png

 

image.png

 

6. OpenOCD安装配置

通过前4部分的安装配置,就可以创建工程并编译了,但是仅仅这些并不够,我们还需要下载仿真,OpenOCD全称Open On-Chip Debugger,免费的片上调试,编程,边界扫描测试插件,它可用来控制包含ST-LINK等多种JTAG硬件仿真器对目标芯片进行烧写调试。此处介绍ST-LINK的配置及使用

  1. 配置Debug
  • 在  Eclipse  菜单中,点击  Run  →  Debug Configurations ...  或选择bug图标右侧的向下箭头
  • 双击GDB OpenOCD Debugging组,或选择它并单击最左上方的  New  按钮

image.png

 

  1. 单击名为Debugger的第二个选项卡,  其中包含启动GDB服务器和GDB客户端所需的配置选项

这里需要两个配置文件,一个是告诉OpenOCD,仿真器是ST-LIN;一个是指定目标芯片。两个顺序不可交换,-f的含义是use configuration file。

 -f "interface/stlink-v2.cfg" -f "target/stm32f4x.cfg"

 

image.png

 

选择  Common  选项卡,将Save as字段设置为  Shared file ,点击Apply,此时项目路径下会出现调试配置文件blinky Debug.launch,这样设置是为了将调试配置文件放置在项目路径下,而非工作空间下,跟随项目走。

点击关闭按钮

image.png

image.png

6. 使用ST-LINK调试

1. 添加ST-LINK工具

Run -> Extern Tools -> Extern Tools Configurations 

双击Program或点击新建,填写名称ST-LINK,Location中是ST-LINK_CIL.exe的路径。

Arguments参数栏中填写

-P "Debug\blinky.hex" -V -Rst

-P,-V,-Rst分别表示编程(烧写),校验,复位。 这段参数表示将项目目录下Debug路径下的blinky.hex文件烧写到MCU并校验成功后复位MCU。

image.png

 

Common选项卡中点选Shared file,选择项目根目录。将STLINK配置文件保存到项目根目录下,不要保存在工作空间,以免混淆

image.png

配置好之后点击右下角Run,注意:要先Run,然后再Debug,不然GDB会找不到STLINK而报错。

2. 添加Debug配置

启动调试前请确认:

  • 已在eclipse中添加ST-LINK工具配置
  • ST-LINK已连接指电脑
  • JTAG接头已连接到目标设备
  • 目标设备已上电

确保上述操作后,在Eclipse菜单中:

Run -> Debug Configurations... -> GDB OpenOCD Debug 

选择项目新定义的配置,单击Debug按钮

image.png

或者点击Debug图标向下箭头,快速找到项目调试配置并单击

image.png

首次调试可能会出现该窗口,告诉用户将会切换至一个便于调试的界面,点击switch

image.png

image.png

 

 

  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值