Espressif IDE 是乐鑫基于 Eclipse CDT,专为乐鑫物联网开发框架 ESP-IDF 打造的独立集成开发环境 (Integrated Development Environment, IDE),支持用户使用 ESP-IDF 实现端到端物联网应用开发。
Espressif IDE 附带最新的 ESP-IDF Eclipse 插件、基本的 Eclipse CDT 插件、OpenOCD 插件以及其他来自 Eclipse 平台的第三方插件,以支持构建 ESP-IDF 应用程序。
Espressif IDE 启动画面
在最近发布的 v2.4.0/2.4.1 版本中,我们推出了一系列新功能,并对现有功能和 Bug 进行了优化与修复。新版本大大提升了插件的质量,能够有效提高用户的工作效率。
IDE 中提供了 ESP-IDF 的集成组件。用户在创建 ESP-IDF 项目时,所有相关的 ESP-IDF 组件(基于 compile_commands.json)都将被链接到项目中,并存放在名为 esp_idf_components 的文件夹下。
该功能具备如下两个优点:首先,用户得以直接在 eclipse 项目资源管理器下浏览 ESP-IDF 源代码;其次,只需按下 F3 或 ctrl + 点击函数名(在 macOS 系统中则为 command + 点击函数名),即可导航到函数定义。
源代码导航
之前,IDE 存在无法解析头文件和索引器的问题。尽管可以成功编译项目,但 eclipse 插件的作用仅限于显示源代码编辑器中的错误。在 v2.4.0 版本中,我们对索引器进行了优化,使其能够根据 compile_commands.json 定义的组件找到头文件并解析这些功能。
现在,项目构建完成后,插件将链接 ESP-IDF 组件,并对其中列出的所有文件进行索引,整个过程会耗费数秒的时间(根据主机系统的不同而有所差异)。组件在 esp_idf_components 文件夹下的文件会被链接到 esp-idf components 文件夹中。每次编译后,文件列表都会刷新。
ESP-IDF 为用户提供应用层跟踪功能,以分析应用程序的行为。用户可以在 IDE 的用户界面中,使用启动跟踪或停止跟踪命令,并处理收到的数据。使用 app_trace_to_host 项目即可快速上手此代码库。
在开始使用应用层跟踪之前,首先需要为项目创建调试配置。为确保成功启动 OpenOCD 服务器,请在这一步选择您所使用的开发板。
调试配置创建完毕后,请在项目资源管理器中右击项目,并点击“ESP-IDF:应用层跟踪 (ESP-IDF: Application Level Tracing)”。
点击后,在应用层跟踪的对话框打开之前,将首先启动 OpenOCD 服务器, 用户无需再从外部启动服务器。在应用层跟踪对话框的最上方,有一些自动配置好的字段,您可以基于跟踪启动命令对这些字段进行更改。
跟踪处理脚本 (Trace Processing Script) 和开始解析命令 (Start Parsing Command) 用于解析输出文件。跟踪处理脚本字段会提供解析脚本的路径(默认路径为 esp-idf 下的 logtrace_proc.py。开始解析命令字段可以用于检查解析命令,并按需进行编辑。默认情况下,该字段会被默认配置为匹配 $IDF_PATH/tools/esp_app_trace/logtrace_proc.py/path/to/trace/file/path/to/program/elf/file)。
在转储文件可用前,“开始解析 (Start parse)”按钮将保持禁用。如果要生成文件,需要点击对话框底部的“开始”按钮。点击后,该按钮将变为“停止”,再次点击即可停止跟踪。
生成输出文件后,点击“开始解析 (Start parse)”按钮,eclipse 控制台将随即输出解析脚本。
应用层跟踪控制台
请点此获取更多信息。
内存使用情况追踪是物联网应用中关键的一环。编译完成后,您就可以查看应用程序的 RAM 和 flash 使用信息了。
IDE 提供从 IDF 组件注册器 (Components Registry) 浏览和安装 esp-idf 组件的功能,并支持将组件集成到现有的 ESP-IDF 项目中。
在项目资源管理器中找到需要添加组件的项目,点击右键,选择“安装 ESP-IDF 组件 (Install ESP-IDF Components)”,用户界面将显示出所有可用的组件。
您可以点击窗口中的“安装”按钮,将该组件添加到项目中。若想查看该组件的 readme 文件,请点击“更多信息 (More Info)”,打开该组件 readme 文件的网页链接。
ESP-IDF 组件安装界面
IDE 支持在 Panic 模式下使用 GDBStub 片上调试来诊断和调试 ESP-IDF 应用程序。
在为项目启用 GDBStub 调试前,用户需要首先在 sdkconfig 中启用它:双击项目根目录下的”sdkconfig",打开配置编辑器;展开“组件配置 (Component Config)”,选择“ESP 系统设置 (ESP System Settings)”。在右侧的“Panic 处理程序行为 (Panic Handler behavior)”设置中,从列表中选择 “GDBStub on Panic”选项。
现在,当您连接串行监视器时,就会自动连上 GDBStub 调试器。在这个例子中出现了 Panic,程序创建了一个模板 hello_world 项目,并在主 c 文件中添加了以下几行代码。
这是一个全局变量
COREDUMP_DRAM_ATTR uint8_t global_var;
现在在 esp_restart() 函数上方添加如下两行:
global_var = 25;
assert(0);
最后的文件如下所示:
编译并烧录该项目,随后启动串行监视器。第 45 行发出了断言失败的信号,这将会使芯片进入 Panic 模式。运行至该行时,您将被提示把视角切换到调试模式。此时,芯片处于中断状态。请注意在该 Panic 模式下,您不能直接从该行处继续执行,而是需要通过 IDF 命令停止并重启芯片,或者直接重启串行监视器。
您可以查看寄存器的堆栈跟踪,或是直接查看堆栈框架中的变量值。点击“停止”按钮即可退出调试会话。
GDBStub 调试— Panic 模式下的编辑器
用户可以通过 Espressif 菜单,查看与插件相关的所有项目,操作十分便捷!
IDF Eclipse 插件支持最新版本的 Eclipse 2021-12 (4.22) 以及 Eclipse 2021-09 和 Eclipse 2021-06。
除上述新增功能外,v2.4.0 版本还进行了一些优化与修复。请查阅 v2.4.0 和 v2.4.1 版本页面,了解更多信息。
点此继续阅读“Espressif IDE 及其 v2.4.0 新增功能—第二部分”。