前言
SEGGER Embedded Studio 是轻量、高效、跨平台的嵌入式 IDE,配合 J-Link,构成业界顶级的开发调试组合,兼顾易用性与专业深度,深受嵌入式开发者的欢迎。其在Ubuntu系统下更是许多Windows专有软件的绝佳替代方案。本文介绍SEGGER Embedded Studio for ARM 5.42b在Ubuntu 22.04系统下的安装和验证方式。
一、硬件准备
- J-Link EDU Mini
- nRF52832开发板(XZ-DK1003)
二、下载并安装SEGGER Embedded Studio
1. 下载SEGGER Embedded Studio
打开SEGGER Embedded Studio的官方下载页面,可以看到最新版本的下载提示以及版本选择界面。由于SEGGER Embedded Studio从8.0版本开始合并了分别面向ARM和RISC-V的两个版本软件,因此我们想要更早版本时,需要继续下拉页面,找到Embedded Studio for ARM (legacy)这个部分,并在这里选择自己想要的版本,如这里我选择V5.42b:

选择这个版本是因为我的目标MCU是北欧半导体的nRF52832,其最后一版nRF5 SDK所采用的编译版本为5.42a,而5.42a是短周期支持的评估版,因此选择了与其最接近的长期稳定版5.42b作为开发环境以便最大程度减少因开发环境版本产生的问题。
点击Linux中的"64-bit TGZ Archive"来下载64位版,将得到一个压缩包。
2. 安装SEGGER Embedded Studio
右键点击压缩包,选择"提取到此处":

层层进入解压后的文件夹,一直到看到安装文件,在窗口空白处点击右键,选择"在终端中打开":

在终端中以管理员身份运行安装文件,输入指令:
bash
sudo ./install_segger_embedded_studio
可以看到安装程序被启动,稍后出现了安装界面。后面的内容就比较简单了,一步步来,点击"Next"到下一页:

同意协议:

这里需要注意一下:与Android Studio不同,SEGGER Embedded Studio安装在了/usr/share目录下,是系统软件的公共资源(图标、文档、字体等)存放区,其资源会被不同软件共用,删除时需要注意不要影响其他软件;而/opt目录主要存放独立运行的软件,软件之间的资源互不共享,完全独立,删除压缩包就删除了软件。如无经验,不要轻易尝试更改,保持默认的目录安装,点击"Next"继续运行:

由于我暂时不再需要使用SEGGER Embedded Studio调试其它MCU,这里安装默认的J-link驱动即可,需要根据实际情况选择是否勾选此默认版本:

点击"Install"按钮开始安装:

等待安装完成后,点击"Finish"退出安装程序:

二、验证SEGGER Embedded Studio
1. 启动并运行默认示例工程
在程序启动器中找到SEGGER Embedded Studio图标,点击启动:

启动后是关于软件许可证的提示信息。在未安装许可证的情况下,每次打开软件都会看到这个提示。由于软件在非商用情况下是免费的,所以我们选择接受协议先将软件运行起来:

之后,可以看到一个默认的示例工程,这是一个很好的练习C语言的工程范例。可以直接点击右上方的构建按钮,或直接按键盘上的"F7"键来构建工程:

由于工程比较简单,构建迅速就完成了。"Output"窗口将显示目标处理器的FLASH和RAM预估使用情况,点击右上方开始执行按钮可以运行工程:

由于这个示例工程不需要连接到任何硬件,所以软件直接就进入了调试运行状态,点击上方连续执行按钮可以开始运行这个工程:

运行后可以看到"Debug Terminal"窗口已经输出了预期的100个Hello World字符串,程序成功运行了。点击停止按钮可以退出调试界面:

2. 使用已有工程连接J-Link和nRF52832开发板测试
将已经准备好的好用的工程放到指定位置,然后在SEGGER Embedded Studio的菜单栏中,打开新的解决方案(Solution)文件:

找到准备好的工程文件,选定并点击"Open"按钮:

打开后看到了新的工程。右键点击左侧工程导航栏中的Solution名字的那一行,选择"Clean"先清理一下以前的工程:

完成后,点击右上角的构建按钮,重新构建工程:

可以看到工程已经成功构建通过了,这时,确保J-Link和nRF52832开发板已经连接到电脑,然后点击开始执行按钮:

编译好的工程镜像文件将被烧录进开发板,点击连续执行按钮可以让工程运行起来:

运行后,可以看到"Debug Terminal"窗口已经输出了启动Log,点击停止可以退出调试模式:

在手机上使用nRF Connect应用可以看到开发板正常运行,已经在广播了:

说明实机验证也已经通过了。
总结
在Ubuntu 22.04系统下安装和使用SEGGER Embedded Studio的基本过程,除了安装指令需要注意外,其余与Windows系统下差别不大。