Espressif IDE 及其 v2.4.0 新增功能—第一部分
Espressif IDE 是樂鑫基于 Eclipse CDT,專為樂鑫物聯(lián)網(wǎng)開發(fā)框架 ESP-IDF 打造的獨立集成開發(fā)環(huán)境 (Integrated Development Environment, IDE),支持用戶使用 ESP-IDF 實現(xiàn)端到端物聯(lián)網(wǎng)應用開發(fā)。
Espressif IDE 附帶最新的 ESP-IDF Eclipse 插件、基本的 Eclipse CDT 插件、OpenOCD 插件以及其他來自 Eclipse 平臺的第三方插件,以支持構建 ESP-IDF 應用程序。

Espressif IDE 的主要特性
在 Eclipse CDT 環(huán)境下構建,易于使用
專為 ESP-IDF 應用程序開發(fā)而打造
集成編譯所需的 ESP 工具鏈配置
可自動配置編譯環(huán)境變量
提供新建項目向導以及 ESP-IDF 快速入門模板
具備領先的的編輯、編譯以及語法著色功能
配有預建的函數(shù)頭和函數(shù)定義導航
支持安裝一個全新的 ESP-IDF 或是配置現(xiàn)有的 ESP-IDF
可直接從 IDE 中安裝和配置 ESP-IDF 工具
配有用于項目設置的 SDK 配置編輯器
集成 CMake 編輯器,用于編輯 CMake 文件,如 CMakeLists.txt
支持基于 CMake 的編譯系統(tǒng)
支持通過 UART 和 JTAG 燒錄
支持自定義的 ESP-IDF OpenOCD 調試功能,包含預配置和設置
支持 GDB 硬件調試
集成 ESP-IDF 串行監(jiān)視器,用于查看程序的串行輸出
配備預置編譯環(huán)境變量的 ESP-IDF 終端
配備應用程序大小分析編輯器,用于分析應用程序的靜態(tài)內存使用情況
支持堆分析,用于進行內存分析并發(fā)現(xiàn)內存泄漏
支持 Panic 模式下 GDB Stub 調試
提供應用層跟蹤,以便使用啟動和停止命令,分析程序行為
支持 ESP32、ESP32-S2、ESP32-S3 和 ESP32-C3 系列芯片
支持中英文
具備可擴展性,適用于 Eclipse 生態(tài)體系中的其他第三方插件
支持 Windows、macOS 和 Linux 操作系統(tǒng)
Espressif IDE V2.4.0 新增功能
在最近發(fā)布的 v2.4.0/2.4.1 版本中,我們推出了一系列新功能,并對現(xiàn)有功能和 Bug 進行了優(yōu)化與修復。新版本大大提升了插件的質量,能夠有效提高用戶的工作效率。
源代碼導航和鏈接 ESP-IDF 組件
IDE 中提供了 ESP-IDF 的集成組件。用戶在創(chuàng)建 ESP-IDF 項目時,所有相關的 ESP-IDF 組件(基于 compile_commands.json)都將被鏈接到項目中,并存放在名為 esp_idf_components 的文件夾下。
該功能具備如下兩個優(yōu)點:首先,用戶得以直接在 eclipse 項目資源管理器下瀏覽 ESP-IDF 源代碼;其次,只需按下 F3 或 ctrl + 點擊函數(shù)名(在 macOS 系統(tǒng)中則為 command + 點擊函數(shù)名),即可導航到函數(shù)定義。

索引器優(yōu)化
之前,IDE 存在無法解析頭文件和索引器的問題。盡管可以成功編譯項目,但 eclipse 插件的作用僅限于顯示源代碼編輯器中的錯誤。在 v2.4.0 版本中,我們對索引器進行了優(yōu)化,使其能夠根據(jù) compile_commands.json 定義的組件找到頭文件并解析這些功能。
現(xiàn)在,項目構建完成后,插件將鏈接 ESP-IDF 組件,并對其中列出的所有文件進行索引,整個過程會耗費數(shù)秒的時間(根據(jù)主機系統(tǒng)的不同而有所差異)。組件在 esp_idf_components 文件夾下的文件會被鏈接到 esp-idf components 文件夾中。每次編譯后,文件列表都會刷新。
應用層跟蹤
ESP-IDF 為用戶提供應用層跟蹤功能,以分析應用程序的行為。用戶可以在 IDE 的用戶界面中,使用啟動跟蹤或停止跟蹤命令,并處理收到的數(shù)據(jù)。使用 App_trace_to_host 項目即可快速上手此代碼庫。
在開始使用應用層跟蹤之前,首先需要為項目創(chuàng)建調試配置。為確保成功啟動 OpenOCD 服務器,請在這一步選擇您所使用的開發(fā)板。
調試配置創(chuàng)建完畢后,請在項目資源管理器中右擊項目,并點擊“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)”按鈕將保持禁用。如果要生成文件,需要點擊對話框底部的“開始”按鈕。點擊后,該按鈕將變?yōu)椤巴V埂保俅吸c擊即可停止跟蹤。
生成輸出文件后,點擊“開始解析 (Start parse)”按鈕,eclipse? 控制臺將隨即輸出解析腳本。

構建控制臺中的應用內存使用情況追蹤
內存使用情況追蹤是物聯(lián)網(wǎng)應用中關鍵的一環(huán)。編譯完成后,您就可以查看應用程序的 RAM 和 flash 使用信息了。

ESP-IDF 組件注冊器
IDE 提供從 IDF 組件注冊器 (Components Registry) 瀏覽和安裝 esp-idf 組件的功能,并支持將組件集成到現(xiàn)有的 ESP-IDF 項目中。
在項目資源管理器中找到需要添加組件的項目,點擊右鍵,選擇“安裝 ESP-IDF 組件 (Install ESP-IDF Components)”,用戶界面將顯示出所有可用的組件。
您可以點擊窗口中的“安裝”按鈕,將該組件添加到項目中。若想查看該組件的 readme 文件,請點擊“更多信息 (More Info)”,打開該組件 readme 文件的網(wǎng)頁鏈接。

GDBStub 調試
IDE 支持在 Panic 模式下使用 GDBStub 片上調試來診斷和調試 ESP-IDF 應用程序。
在為項目啟用 GDBStub 調試前,用戶需要首先在 sdkconfig 中啟用它:雙擊項目根目錄下的”sdkconfig",打開配置編輯器;展開“組件配置 (Component Config)”,選擇“ESP 系統(tǒng)設置 (ESP System Settings)”。在右側的“Panic 處理程序行為 (Panic Handler behavior)”設置中,從列表中選擇 “GDBStub on Panic”選項。

現(xiàn)在,當您連接串行監(jiān)視器時,就會自動連上 GDBStub 調試器。在這個例子中出現(xiàn)了 Panic,程序創(chuàng)建了一個模板 hello_world 項目,并在主 c 文件中添加了以下幾行代碼。
這是一個全局變量
COREDUMP_DRAM_ATTR uint8_t global_var;
現(xiàn)在在 esp_restart() 函數(shù)上方添加如下兩行:
global_var = 25;
assert(0);
最后的文件如下所示:

編譯并燒錄該項目,隨后啟動串行監(jiān)視器。第 45 行發(fā)出了斷言失敗的信號,這將會使芯片進入 Panic 模式。運行至該行時,您將被提示把視角切換到調試模式。此時,芯片處于中斷狀態(tài)。請注意在該 Panic 模式下,您不能直接從該行處繼續(xù)執(zhí)行,而是需要通過 IDF 命令停止并重啟芯片,或者直接重啟串行監(jiān)視器。
您可以查看寄存器的堆棧跟蹤,或是直接查看堆??蚣苤械淖兞恐?。點擊“停止”按鈕即可退出調試會話。

Espressif 菜單
用戶可以通過 Espressif 菜單,查看與插件相關的所有項目,操作十分便捷!
支持 Eclipse 2021-12
IDF Eclipse 插件支持最新版本的 Eclipse 2021-12 (4.22) 以及 Eclipse 2021-09 和 Eclipse 2021-06。
除上述新增功能外,v2.4.0 版本還進行了一些優(yōu)化與修復。請查閱 v2.4.0 和 v2.4.1 版本頁面,了解更多信息。
v2.4.0: https://github.com/espressif/idf-eclipse-plugin/releases/tag/v2.4.0
v2.4.1:?https://github.com/espressif/idf-eclipse-plugin/releases/tag/v2.4.1

點此查看博客原文:https://zhuanlan.zhihu.com/p/491658992