[MM32生态]在Windows下使用SEGGER Embedded Studio搭建MM32 MCU开发平台

1.简介

SEGGER Embedded Studio简称SES,是SEGGER开发的一款专业的嵌入式集成开发环境,支持ARM处理器架构,并支持跨平台,可在Window、Linux和MACOS操作系统上运行。SES内置了GCC和Clang工具链,以及基于Clang优化过的SEGGER工具链,也可以使用外部的工具链,如IAR和KEIL。灵动MM32系列的MCU目前已得到KEIL、IAR 和 SEGGER 开发工具的官方支持,MM32系列可在SEGGER Embedded Studio平台进行开发。

2.准备工作
2.1 系统环境

• Windows 10


2.2 软件环境

• 编译器环境:SEGGER Embedded Studio v7.20(SES)

• 仿真器驱动:J-Link Software & Pack

• 软件开发包:Lib/samples


2.3 硬件环境

• 开发板:MM32L073

• 仿真器:J-Link v11.0


MM32L073实物图 

MM32L073原理图


3. SES搭建环境流程
3.1 下载安装SES
SEGGER Embedded Studio for ARM 最新的版本已经更新到V7.20,选择对应的 Windows 系统下载,官网下载地址:https://www.segger.com/downloads/embedded-studio/

找到下载路径的.exe文件,双击打开准备安装。根据提示一直next,选择安装路径和默认的配置即可,直至安装结束选择Finish

在桌面生成图标后可双击打开,弹出对话框选择Accept

进入工程界面,默认新建了一个工程。



3.2 下载插件
SES 使用在线的 Packages 提供对不同厂家 MCU 的支持。用户可以直接从 SES “Tools” ->"Packages Manager" 在线下载对应的 MCU 支持包(和 KEIL 中的 Pack Installer 一样的作用)。

搜索灵动 MM32 系列的在线支持包,目前已支持MM32F031,MM32F103,MM32L0 系列的MCU。双击想要的package选择"NEXT" 按键,或右击package 选择 “Install Selected Packages” 进行安装。



点击“NEXT”,列出即将要安装的插件清单。安装结束后会提示安装成功的提示,点击 “Finish”


点击 "Tools"->"Show Installed Packages" 就会显示已经安装完成的pack包,并可以查看已经安装完成pack包的相关信息。


3.3 SES适配MM32开发环境

基于Embedded Studio平台可以创建新的工程,IAR,MDK(AC5),MDK(AC6),Eclipse,CMSIS,CMake 创建的工程也可以转换到SES平台使用,本章将实验以两种方式创建MM32L07工程环境。

3.3.1 KEIL 工程导入 SES 平台

点击 File,点击 Import Project,可选择导入 KEIL 工程。



选择MDK工程文件。


选择内核型号。


选择内部和外部编译工具,选择KEIL软件的安装位置到ARM级。

可看到工程导入成功。



此时将硬件开发板和JLINK连接好,与电脑连接后,在SESTarget选项选择连接J-Link


点击Build,进行编译。


出现Build complete则说明文件编译成功。


同时在KEIL平台编译文件,可以对照两个平台的编译时间,SES是比KEIL编译快很多的。


选择Debug->Go选项可进入调试模式。

在行号旁边点击,可以添加断点。SES 是配套 J-Link 的官方调试软件,所以其他专业软件有的功能 SES 都能做到,至此,环境搭建完成。也可以选择Debug with Ozone进行调试。



Ozone中选择Debug下的Debug & Reset Program

在调试时,只能看到 CPU 的寄存器(内核定义的寄存器),MCU 外设寄存器还是没有的。若看外设寄存器,需自行添加 SVD 文件。右击 Project,选择 Debug 下的 Debugger,确认目标芯片 Device,选择寄存器定义文件,添加 SVD 文件。



3.3.2 SES下新建工程
1.新建工程

点击 File 下的 new project,创建新的工程。



选择MM32的芯片系列,并配置工程名,默认工程名为 Executable_1


点击Target Processor,选择芯片的具体型号。


选择加载文件。


选择next,默认配置走下去,完成一个新的project创建。

移植MM32L073的库到我们的工程,需现在灵动官网下载该型号代码包,然后解压。

将Device下面的HAL_lib复制到我们的工程路径下,在SES工程中新建一个文件夹HAL_lib,并将HAL_lib中的文件添加到工程。



在SES工程中新建一个HAL_lib文件夹。


HAL_lib中的文件添加到SES工程。


用工程中的IOtogglemain.c替换原工程中的main.c文件。


在工程中新建BSP文件夹,将IOtoggle文件夹下,HARDWARE文件夹下的led.c复制到BSP文件夹下面。


SES工程中添加SYSTEM文件夹并添加文件,并在原工程位置添加到工程项目。

新建SYSTEM文件夹,在下面新建一个inc文件夹,将从官方库SYSTEM中移植过来的.h文件放在此文件夹下面。

在SES工程中添加3个文件。

添加MM32L07库的头文件,将官网Device文件夹下的CMSIS文件中的头文件,复制到我们工程CMSIS_5->CMSIS文件夹下面Include文件夹下。

添加头文件路径。右击Project->Options,在Code目录下的Preprocessor中,点击User Include Directories添加所有头文件路径。

最终我们SES界面可见如下。

编译工程。

(1)在delay.c \ uart.c中添加#include "HAL_conf.h"头文件,并在uart.c中注释FILE __stdout这行代码

(2)注释MM32L0xx_Startup.s文件中,SystemCoreClockUpdate这行代码

4.SES平台测评总结

SES 项目管理使用了 Solution + Project 的方式,KEIL 的项目管理为单 Project 项目管理,不支持文件夹嵌套。SES平台中一个 Solution 下可以有多个 Project,Project 下可以有个多个文件或者文件夹,文件夹下又可以有文件夹或文件。

SES 默认的项目文件是有好几种配置的,包括Solution,Project及以下文件的配置。其中 Solution 下还有 Public Configuration,Private Configuration 和 Loader Configuration 配置。Project 下还有 Public Configuration,Private Configuration 配置。配置范围由大到小依次为 Solution > Project > Configuration,后者可以继承前者的配置。

SES特点总结:

• 适用于嵌入式C/C ++编程的专业IDE解决方案

• 跨平台:可在Windows,macOS和Linux上运行

• SES自带简易串口终端,在调试时不再需要使用第三方串口工具

• 文本和二进制比较工具方便快速的对源码和编译生成的目标文件等进行对比

• 具有无缝J-Link集成的功能丰富的调试器

• 强大的项目管理器和源代码编辑器

• 免费用于任何非商业用途,例如教育和评估目的,没有任何限制

5.SES使用技巧

SES针对IDE提供了很细致的设置选项,从Tools > Options打开环境设置选项。可选择不同的主题样式。

在Text Editor中,将Ctrl + Left Click Action设置为“Go to Definition”,可实现类似“Ctrl+鼠标单击”的方式跳转函数定义

DebugDownloadActive(F8):下载当前工程。

EditGoToDeclaration(F11):跳转到函数声明。

SES的工程文件(*.emProject)是一个XML文件,某些场景下可以直接编辑它。点击Project --> Open Solution in Editor,即可打开emProject文件。

选择Edit->Column Tidy,即可自动按照等号对齐。

---------------------
作者:春娇霹雳娃
链接:https://bbs.21ic.com/icview-3306498-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值