关于VSCODE ESP-IDF 编译后如何依赖.bin文件生成执行py脚本的问题

zhaizhaitao
Posts: 1
Joined: Fri Aug 23, 2024 12:11 am

关于VSCODE ESP-IDF 编译后如何依赖.bin文件生成执行py脚本的问题

Postby zhaizhaitao » Fri Aug 23, 2024 12:22 am

预期:
使用VSCODE -ESP IDF ,实现编译完成后,自动用python脚本处理生成.bin文件(比如copy到另一个文件夹中等)。
方法:
执行py脚本的自定义编译后执行命令放在了CMakeList里
问题:
编译后的自定义命令执行 是依赖于.elf 中间文件 的生成,而不是.bin的生成。所以有时候会没生成.bin就执行py脚本了,但是有的时候也可以。如果在执行py脚本之前没有生成.bin,那么要在py脚本执行完成后才能生成.bin,即使是py脚本执行的时间再长(单线程?)。

有什么好的方案吗?确保.bin生成后再执行py。


根目錄 CmakeLisit 代碼

Code: Untitled.c Select all

# For more information about build system see
# https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html
# The following five lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly

# Update the version to match the minimum version required by ESP-IDF
# (as of writing, ESP-IDF requires at least CMake 3.16)
cmake_minimum_required(VERSION 3.16)
set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/system/console/advanced/components)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(KD86_CAN)
# 注意:使用 ESP-IDF 默认生成的可执行文件目标名 '${CMAKE_PROJECT_NAME}.elf'
add_custom_command(
TARGET ${CMAKE_PROJECT_NAME}.elf POST_BUILD
COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${PROJECT_SOURCE_DIR}:${PYTHONPATH}" python ${PROJECT_SOURCE_DIR}/post_build.py $<TARGET_FILE:${CMAKE_PROJECT_NAME}.elf>
COMMENT "运行构建后脚本并传递应用二进制文件路径"
)
Attachments
CMakeList.png
CMakeList文件中修改方法
CMakeList.png (144.29 KiB) Viewed 6428 times

114514
Posts: 1
Joined: Tue Sep 16, 2025 7:40 am

Re: 关于VSCODE ESP-IDF 编译后如何依赖.bin文件生成执行py脚本的问题

Postby 114514 » Tue Sep 16, 2025 7:44 am

请问问题解决了吗?我现在也有类似的情况 :?

Who is online

Users browsing this forum: No registered users and 3 guests