利用CodeSpaces快捷编译Esp32项目

有时候为了测试某个开源工程,恰好自己的电脑正没有esp-idf的工程,可以利用微软的codespaces来快速编译

# 新的CodeSpaces(2025.10.8)缺乏libusb相关的,会无法install,需要先安装下
sudo apt install -y libusb-1.0-0 libusb-1.0-0-dev

# 克隆esp官方工具
git clone --recursive -b <版本标签/分支名> https://github.com/espressif/esp-idf.git
cd esp-idf
./install.sh        #安装
. ./export.sh     #导出环境变量(注意前面有个'.',相当于source ./export.sh)

# 如果要切换版本的话
# 查看当前版本 
idf.py --version
# 移除旧的虚拟环境
rm -rf /home/codespace/.espressif/python_env/idf版本号_env
# 切换到特定分支/标签 
git checkout release/v5.4
# 更新子模块
git submodule update --init --recursive
# 重新安装工具链和导出环境
./install.sh
. ./export.sh


# 新的CodeSpaces(2025.10.8)构建项目或者set-target的时候,会报错AttributeError,是因为esp-idf依赖到的某些python工具版本的问题
# 安装特定的版本
pip install --upgrade idf-component-manager==2.4.0
pip install pydantic==2.6.4 pydantic-settings==2.1.0

# 如果esp-idf所使用的python是虚拟环境里的,那么先激活虚拟环境里的python,安装后再退出
source /home/codespace/.espressif/python_env/idf版本号_env/bin/activate
# 安装
pip install --upgrade idf-component-manager==2.4.0
pip install pydantic==2.6.4 pydantic-settings==2.1.0
# 退出虚拟环境
deactivate


# 编译项目,以esp32c3-rv32ima为例
git clone https://github.com/jeason1997/esp32c3-rv32ima.git
cd esp32c3-rv32ima
# 配置目标芯片为 ESP32C3 
idf.py set-target esp32c3 
# (可选)如需修改配置,如启用 PSRAM 等 
idf.py menuconfig 
# 编译项目 
idf.py build
# 编译完后生成文件路径,分别是引导程序,分区表跟主程序
build/bootloader/bootloader.bin
build/partition_table/partition-table.bin
build/项目名.bin
文件名烧录地址说明
bootloader/bootloader.bin 0x0 ESP32C3 引导程序
partition_table/partition-table.bin 0x8000 分区表
uc-rv32ima.bin 0x10000 项目主程序(RISC-V 模拟器)
main/Image 0x200000 Linux 内核镜像
main/uc.dtb 0x3ff000 设备树二进制文件

烧录参考:

image

 

posted @ 2025-10-08 18:15  JeasonBoy  阅读(17)  评论(0)    收藏  举报