【工具】一个基于ESP32S3+LVGL的嵌入式多功能调试器


大家好,我是杂烩君。

我们嵌入式开发中,常常会遇到如下问题:

  • 调试工具分散,切换繁琐。
  • 缺乏可视化数据分析工具。
  • 多设备协同调试困难。

Github上开源的Exlink_Tool项目正是解决这些问题。

Exlink_Tool是一个基于ESP32S3+LVGL的嵌入式多功能调试器。

开源地址:

https://github.com/physicsexpert/Exlink_Tool

作者:physicsexpert

这款多功能调试器具有DAPlink、逻辑分析仪、串口助手、数控电源、无线下载器、无线串口、电压表、i2c扫描、PWM输出、简易示波器、数字频率计等十余种不同的功能,涵盖了大部分嵌入式的调试场景:

1、系统框图

(1)功率控制板

主控芯片是 ESP32S3 ,它通过 SPI 协议连接屏幕,I2C 协议连接屏幕触摸模块、MCP4017 数字电位器和 INA226功率监测芯片,PWM 控制蜂鸣器(BUZZER)。

电源部分由电池和电源系统组成,提供 5v 和 3.3v 的电压输出。通过 TYPEC 接口连接,还经过 USBHUB 与 ESP32S3 主控芯片相连,用于数据传输和供电。

Connector 接口可用于连接其他外部设备 。

(2)信号板

主要通过 USB 接口分别连接 TYPEA 接口、RP2040 芯片和 CH549 芯片,再通过 Connector 接口与外部设备连接,可能是用于数据信号的处理与传输。

2、实物图

3、排针引脚

4、整体切换逻辑

这是一个前后台系统,当我们未启动这个应用时,应用此时处于后台状态,标志位为0,不占用系统资源。当我们选中这个应用时(如点击这个应用图标),标志位置1,系统执行一系列初始化,应用进入前台运行。

整体前后台任务调度状态图:

状态分层:

  • GUI层:处理用户交互和任务调度。
  • 后台层:监控标志位变化并管理任务队列。
  • 前台层:执行具体任务的核心逻辑。

单个任务生命周期:

代码如:

更多关于Exlink_Tool的介绍可阅读原文链接,直达Github项目地址。



文章作者: 杂烩君
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 杂烩君 !
  目录