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,并生成工程:
2、打开SES for ARM,选择File -> Import Project... -> Import Eclipse Project,定位到STM32CubeIDE的工程文件所在的目录,选择.project文件。
3、选择Internal Toolchain并按OK确认,选择使用SES内置的GCC编译器。
4、等待生成SES的.emProject工程文件,完成后会提示如下的信息。
5、在Project Explorer选中Core文件夹,右键单击选择Setup编辑Exclude Specifications,输入Core/; syscalls.c;sysmem.c;startup_*.s,并按OK确认。
基本的项目导入和设置已经完成。通过使用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)
通过拖放将/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用在评估和教育用途完全免费,并且没有功能和时长的限制。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !