SEGGER Embedded Studio如何导入STM32CubeIDE工程?

描述

SEGGER Embedded Studio(SES)是SEGGER公司开发的一款跨平台的ARM和RISC-V架构处理器集成开发环境(IDE),具有运行速度快,功能强等特点。SES内置Clang/LLVM和GCC编译器,使用SEGGER的运行时库,相比GCC的newlib,具有更小的代码空间占用和更高的运行效率。

SES可以导入其他IDE的工程,例如IAR、Keil和eclipse。STM32CubeIDE是基于eclipse的IDE,所以,通过STM32CubeMX生成的STM32CubeIDE工程也可以导入到SES,下面简述这一操作过程。

步骤

1、先准备好需要导入到SES的工程,可以是STM32CubeMX创建的或STM32CubeIDE直接创建工程。以CubeMX为例,在生成工程时选择Toolchain/IDE为STM32CubeIDE,并生成工程:

CubeMx

2、打开SES for ARM,选择File -> Import Project... -> Import Eclipse Project,定位到STM32CubeIDE的工程文件所在的目录,选择.project文件。

CubeMx

3、选择Internal Toolchain并按OK确认,选择使用SES内置的GCC编译器。

CubeMx

4、等待生成SES的.emProject工程文件,完成后会提示如下的信息。

CubeMx

5、在Project Explorer选中Core文件夹,右键单击选择Setup编辑Exclude Specifications,输入Core/; syscalls.c;sysmem.c;startup_*.s,并按OK确认。

CubeMx

基本的项目导入和设置已经完成。通过使用CPU支持包中的目标特定文件,可以为所选目标设备进一步调整项工程:

在嵌入式SES中通过Tools->Package Manager下载芯片的CPU支持包,选择芯片并安装包。(比如针对STM32F474RE安装STM32G4xx包);

接下来通过 File->Open Studio Folder...->Packages Folder,打开刚安装的“Packages”文件夹。(在这个例子中/STM32G4xx/);

在项目位置中创建一个新文件夹/ES/并进入

将以下特定于芯片的文件从包文件夹复制到此文件夹。(在这个例子中从$(PackagesDir)/STM32G4xx/到$(ProjectDir)/ES/);

启动代码, /Source/_Startup.s. (Source/STM32G4xx_Startup.s)

向量表, /Source/_Vectors.s. (Source/STM32G474_Vectors.s)

链接脚本, /Scripts/_Flash.icf. (Source/STM32G4xx_Flash.icf)

存储映射, /XML/_MemoryMap.xml. (/XML/STM32G474RETx_MemoryMap.xml)

寄存器文件, /XML/_Registers.xml. (/XML/STM32G474xx_Registers.xml)  

CubeMx

通过拖放将/ES/文件夹添加到项目资源管理器窗口中;

打开项目选项并将构建配置更改为Common

· 设置Code -> Linker -> Linker Script File 为.icf 文件

· 设置Debug -> Debugger -> Register Definition File 为 *_Registers.xml (如果有的话)

· 在项目资源管理器中删除内部文件中的通用启动代码Cortex_M_Startup.s

至此,已经完成了工程的导入和设置,并针对目标系统进行了调整。现在可以在SES中添加代码并调试应用程序了。硬件调试器可使用J-Link,或者支持GDB Server的任何其他硬件调试器。

SES用在评估和教育用途完全免费,并且没有功能和时长的限制。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分