完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用的IDF为5.1.2,在新版OTA例程中,有个pre_encrypted_ota示例,是用来加密OTA的固件的。我将他整合到了自己的工程中。
问题: 1.添加了加密组件之后,我再main->CMakeLists.txt中添加以下生成加密OTA固件的命令。第一次编译时能够生成加密固件。但第一次之后,再编译固件时,就生成不了加密固件了。请问我该怎么解决,达到每次编译都能生成最新的加密固件?Code: Select all create_esp_enc_img(${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.bin ${project_dir}/rsa_key/ota_private.pem ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}_secure.bin app) |
|
相关推荐
1个回答
|
|
要解决这个问题,您可以尝试以下步骤:
1. 确保每次编译前都清理之前的编译结果。在命令行中,您可以通过运行以下命令来实现这一点: ``` make clean ``` 这将删除之前编译生成的文件,包括加密固件。 2. 在您的 `main->CMakeLists.txt` 文件中,确保您已经正确地添加了加密组件。以下是一个示例: ```cmake # 添加加密组件 set(COMPONENT_REQUIRES esp_https_ota) set(COMPONENT_PRIV_REQUIRES esp_ota_encrypt) # 添加源文件 set(COMPONENT_SRCS "main.c") # 注册组件 register_component() ``` 3. 在 `CMakeLists.txt` 文件中,确保您使用了正确的命令来生成加密固件。以下是一个示例: ```cmake # 生成加密固件 create_esp_enc_img(${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.bin ${project_dir}/rsa_key/ota_private.pem ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.enc.bin) ``` 4. 如果问题仍然存在,您可以尝试在 `CMakeLists.txt` 文件中添加一个自定义命令,以确保在每次编译时都重新生成加密固件。以下是一个示例: ```cmake # 添加自定义命令 add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.enc.bin COMMAND ${CMAKE_COMMAND} -E echo "Generating encrypted firmware..." COMMAND ${ESPSECUREPY} --port /dev/ttyUSB0 --baud 115200 --encrypt-key ${project_dir}/rsa_key/ota_private.pem --keyfile ${project_dir}/rsa_key/ota_private.key --version 1 --flash-size 4MB -o ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.enc.bin ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.bin DEPENDS ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.bin ) ``` 5. 最后,确保您的 `sdkconfig` 文件中的相关设置是正确的。例如,您需要启用加密 OTA 功能: ``` CONFIG_ESP_OTA_ENCRYPT_FLASH=y ``` 通过以上步骤,您应该能够在每次编译时都生成最新的加密固件。如果问题仍然存在,请检查您的项目设置和依赖项,确保它们是正确的。 |
|
|
|
只有小组成员才能发言,加入小组>>
321 浏览 0 评论
1178 浏览 1 评论
586浏览 6评论
483浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
468浏览 5评论
467浏览 4评论
442浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 12:28 , Processed in 0.923706 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号