SEGGER Embedded Studio使用体验与常用设置

浏览:6791来源:本站时间:2021-08-18

SEGGER Embedded Studio简称SES,是SEGGER开发的一款专业的嵌入式集成开发环境(IDE),支持ARM和RISC-V两种处理器架构。跨平台,支持Window、Linux和macOS操作系统。SES内置了GCC和Clang工具链,以及基于Clang优化过的SEGGER工具链,也可以使用外部的工具链,如IAR、Keil。

SES最主要的特点就是:快!不论是软件的启动速度,操作的响应,进入调试环境都是极其迅速的。一下进入调试的操作速度,仿佛感受不到任何响应上的延迟。


功能强大的编辑器

SES的编辑器几乎可以与VSCode相媲美,支持众多语言加亮,其中包括链接器脚本语言、工程文件、汇编语言都可以加亮显示。

图片图片


此外,编辑器的代码补全功能很完善,输入响应速度和提示做的都很好,不再需要Vscode这类编辑器来编写代码了。这是很多IDE编辑器的弱项,但在SES这里不存在。并且SES还提供了不同风格代码样式可以选择,可以一键将现有源码格式化为所选择的风格。

支持加载ELF可执行和链接格式文件,以及二进制文件,不再需要第三方工具来查看。

图片

项目管理的方式

SES采用解决方案(Solution)对项目进行管理。一个解决方案下可以创建多个项目,且设置是向下继承的:Solution >Project>Floder>File,且下一级可以进行独立设置,覆盖掉继承的配置。

图片

支持导入其他项目

SES支持导入其他IDE的项目,包括Eclipse、IAR和Keil。成功导入之后源码的组织结构还保持一致,并且在导入时可以选择SES内置的编译器或者外部的编译器(如IAR),如果选择的是外部的编译器,导入之后工程设置项可能都不需要任何改动就能编译成功。

但如果是从IAR和Keil导入的项目里面包含有汇编文件,这就需要修改,因为SES使用的是GCC或者Clang工具链,采用GCC汇编。如果是包含RTOS的项目,RTOS移植部分的代码可以直接替换成GCC工具链的移植。

导入项目时SES会自动添加适用的启动汇编文件。

图片

编译器和语言标准

进入项目的设置选项中,在Compiler中选择SEGGER的内置编译器,包括GCC、Clang和SEGGER。在Compiler中设置C和C++的语言标准,从C89到C17,C++98到C++20。

图片

如果要使用外部编译器,在设置项Build > External Compiler中进行选择,并在External build中设置外部工具链所使用的编译、汇编和链接的命令。

图片

SEGGER链接器

在创建项目之后,SES会自动创建memory描述和链接器脚本文件并在Linker设置项中进行指定。如果是硬件上有外扩的RAM和Flash,打卡xxxx_MemoryMap.xml内存映射文件,添加MemorySegment,设置memory的名称,起始地址、大小和类型,Flash的类型是“ReadOnly”,RAM的类型是“Read/Write”。

图片

如果需要对代码段进行控制,则需要修改链接脚本文件(*.icf)。SEGGER开发了全新的链接器,链接器脚本语法简单,易于阅读和修改。

调试器支持

SES与J-Link无缝集成,使用J-Link非常方便。也支持使用GDB Server的硬件调试器,如ST-Link和OpenOCD。也可以使用软件仿真(Simulator),在没有硬件的情况下通过仿真执行代码。

图片

自动串口终端和文件比较工具

SES自带简易串口终端,在调试时不再需要使用第三方串口工具。文本和二进制比较工具方便快速的对源码和编译生成的目标文件等进行对比。

图片

图片

SES使用设置

1、设置项目浏览器信息显示

在Project Explorer中点击“Options”图标,在弹出来的页面可以对项目浏览器进行一系列设置。例如,在目录上显示其中的文件数,编译后显示每个文件和目录占用的存储空间大小。

图片

2、设置多线程构建

在项目浏览器的Options中可以设置构建项目时多线程数量,一般根据CPU的硬件线程数来设定,加快编译的速度。

图片

测试:当启用4个线程时,项目的重构建时间是9.8s。

图片

启动8个线程时,项目的重构建时间是5.1s,速度提升很多。但实际与PC当前运行的软件数量,内存的使用情况不同会有差别。

图片

3、芯片支持包安装

SES通过支持包来对器件提供支持,从tools > Package Mangner直接选择对应的支持包进行安装。

图片

4、环境设置

SES针对IDE提供了很细致的设置选项,从Tools > Options打开环境设置选项。并且提供了不同的主题样式,可以自定义主题的颜色项。

图片

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

图片

小结

SES提供了强大的源码编辑器,完善的代码加亮和补全功能,能直接查看ELF格式和二进制格式文件。优化过的SEGGER编译工具链,结合SEGGER自己开发的runtime library 运行时库和浮点库,能编译出性能和代码大小都比较理想的程序。并且提供了很多的个性化设置,用户可以针对自己的习惯和喜好设置,提高代码编写和调试的效率。

SES对于学习和评估都是免费的,可以访问SEGGER官网下载和尝试:

https://www.segger.com/products/development-tools/embedded-studio/

京ICP备:京ICP备05011254号-1 版权归北京麦克泰软件技术有限公司所有
北京麦克泰软件技术有限公司