Qt Creator 与 ESP-IDF QEMU 模拟器使用指南

标题: Qt Creator 与 ESP-IDF QEMU 模拟器使用指南

概要: 本文为开发者提供了使用 Qt Creator 和 ESP-IDF QEMU 模拟器进行 ESP32 开发的详细指南,包括环境准备、项目创建和编译、模拟器设置、编程和调试等方面的内容。通过本指南,可以快速上手 Qt Creator 和 ESP-IDF QEMU 模拟器,开始开发自己的 ESP32 项目。

关键词: Qt Creator, ESP-IDF, QEMU 模拟器, ESP32, 开发者指南

环境准备

在开始使用 Qt Creator 和 IDF QEMU 模拟器之前,需要确保你的环境已经准备好。

安装必要工具

在开始使用 Qt Creator 和 IDF QEMU 模拟器之前,需要确保你的环境已经准备好。

  • Git
  • Python(3.8+)

设置 Python 国内镜像代理

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.trusted-hosts pypi.tuna.tsinghua.edu.cn
安装 ESP-IDF 和 QEMU 模拟器

可以从 ESP-IDF 的官方网站下载并安装最新版本的 ESP-IDF。QEMU 模拟器则可以从 espressif-qemu 分支仓库上下载安装。

下载 ESP-IDF 源代码

递归克隆 ESP-IDF 仓库

git clone --recursive https://github.com/espressif/esp-idf.git

如果你需要克隆指定标签仓库和深度,这个命令克隆一个指定的标签,指定的深度,并递归包含所有子模块。
你可以替换 <tag_name> 为你的想要的标签名,和 <depth> 为你想抓取的提交数量。

git clone -b <tag_name> --depth <depth> --recursive <repository_url>

如果网络连接不稳定,可以使用下面的命令通过加速下载。

git clone --recursive https://gh-proxy.com/https://github.com/espressif/esp-idf.git

具体来说,这行命令会通过 gh-proxy.com 下载,针对一些网络不太好的地区可能会有所帮助

截止 2024/07/30 ,以下加速都可用。
https://ghproxy.org/
https://gh-proxy.com/
https://pd.zwc365.com/

使用 github 代理加速 clone 时,设置 git 配置项。
此命令会将 github url 重定向到 gh-proxy.com,使 clone 速度更快。

git config --global url."https://gh-proxy.com/github.com/".insteadof "https://github.com/"
安装 IDF-ESP 工具

在 windwos 系统中,使用仓库中的 install.bat 脚本执行安装 IDF-ESP 工具。

设置 IDF_TOOLS_PATH 环境变量,可指定安装路径,如没有设置则默认安装在当前用户 ~/.espressif 目录。
设置 IDF_GITHUB_ASSETS 环境变量,可加快国内下载速度。

cd <esp-idf_repository_url>
set IDF_TOOLS_PATH=<your_install_path>
set IDF_GITHUB_ASSETS=dl.espressif.cn/github_assets
install.bat

安装完成后,使用如下指令设置永久的环境变量,确保后续调用 export.bat 脚本。正确读取 ESP-IDF 工具路径:

setx IDF_TOOLS_PATH <your_install_path>
setx IDF_GITHUB_ASSETS dl.espressif.cn/github_assets

当然,也可以通过UI的方式,编辑环境变量,命令行窗口输入 rundll32 sysdm.cpl,EditEnvironmentVariables 打开环境变量编辑UI,在里面设置上述环境变量。

最后运行 export.bat 脚本,如看到类似以下输出,则说明安装 ESP-IDF 完成。
export.bat

安装 QEMU 模拟器

在接下来的步骤中,我们将使用 IDF-ESP 工具中创建的 Python 虚拟环境来安装 QEMU 模拟器。
在命令行中执行以下命令:

C:\Users\root\.espressif\python_env\idf5.4_py3.12_env\Scripts\python.exe %IDF_PATH%/tools/idf_tools.py install qemu-xtensa qemu-riscv32

该命令将使用虚拟环境中的 Python 执行器来安装 QEMU 模拟器。

qemu

国内网络不好的朋友要记得设置 set IDF_GITHUB_ASSETS=dl.espressif.cn/github_assets 走国内代理下载。

运行 export.bat 脚本来刷新环境变量。
qemu

运行以下命令来验证 QEMU 模拟器是否正确安装:

qemu-system-xtensa.exe --M help

该命令将显示 QEMU 模拟器的支持的机器信息。

qemu

通过完成这些步骤,我们已经成功配置 QEMU 模拟器,并可以继续进行后续的开发工作。

https://github.com/espressif/esp-toolchain-docs/tree/main/qemu

配置 Qt Creator

添加编译器 gcc 和 g++。
在这里插入图片描述

添加调试器 gdb
在这里插入图片描述

上面编译器和调试器是可选。

添加 BareMetal 插件
在这里插入图片描述

添加 OpenOCD
在这里插入图片描述

添加一个裸机设备并选择我们添加的 OpenOCD
在这里插入图片描述

项目创建和编译

使用 IDF 的 idf.py 命令创建新项目

可以使用以下命令创建一个新的 ESP-IDF 项目:

idf.py create-project my_project

此命令会在当前目录下创建一个名为 “my_project” 的新项目。

在 Qt Creator 中打开项目并进行编译

在命令行中打开 Qt Creator,确保 IDE 继承命令行环境变量:

cd my_project
qtcreator.exe .

在这里插入图片描述

默认情况下,目标为 ESP32。如果需要更改目标,可以使用以下命令:

idf.py set-target <target>
使用 QEMU 模拟器启动 ESP32

可以使用以下命令启动 QEMU 模拟器:

C:\Users\root\.espressif\tools\qemu\bin\qemu-system-xtensa.exe -nographic -machine esp32 -drive file=build/esp-Debug/flash_image.bin,if=mtd,format=raw

生成 flash_image.bin 文件

可以使用以下命令生成 flash_image.bin 文件:

esptool.py --chip esp32 merge_bin --fill-flash-size 4MB -o flash_image.bin @flash_args

也可以在编译后添加自定义步骤进行生成。

在这里插入图片描述

⚠️

  • 请确保 QEMU 模拟器已正确安装并配置。
  • 请确保 flash_image.bin 文件已正确生成。
  • 如果需要更改目标或配置,请使用 idf.py 命令进行设置。

调试

使用以下指令启动模拟器,并等待调试器连接。

qemu-system-xtensa.exe -nographic -s -S -machine esp32 -drive file=build/esp-Debug/flash_image.bin,if=mtd,format=raw
命令行调试

可以使用以下命令启动 GDB:

xtensa-esp32-elf-gdb.exe build/esp-Debug/hello_world.elf -ex "target remote:1234" -ex "monitor system_reset" -ex "tb app_main" -ex "c"

n(next) 步过,s(setp) 步进。

此命令会启动 GDB,并连接到模拟器的程序。可以通过 GDB 提供的命令行接口来进行调试。

使用 QtCreator 调试。

启动模拟器

qemu-system-xtensa.exe -nographic -s -S -machine esp32 -drive file=build/esp-Debug/flash_image.bin,if=mtd,format=raw

点击调试按钮即可调试程序。

在这里插入图片描述

以上就是 Qt Creator IDE QEMU 使用指南的初步内容。希望这可以帮助你开始使用 Qt Creator 和 IDF QEMU 模拟器。

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cheungxiongwei.com

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值