Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change normal OTA to use bootloader_support_plus , compile error (AEGHB-475) #315

Open
3 tasks done
gallex opened this issue Dec 2, 2023 · 1 comment
Open
3 tasks done

Comments

@gallex
Copy link

gallex commented Dec 2, 2023

Answers checklist.

  • I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.

V5.5

Espressif SoC revision.

ESC32

Operating System used.

Linux

How did you build your project?

Command line with idf.py

If you are using Windows, please specify command line type.

None

Development Kit.

CustomerBoard

Steps to reproduce.

  1. I have make a OTA project, it run OK.
  2. I add bootloader_support_plus as dependency module, It can't compile

Build Logs.

.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld: esp-idf/esp_https_ota/libesp_https_ota.a(esp_https_ota.c.obj):(.literal.esp_https_ota_begin+0x4c): undefined reference to `__wrap_esp_ota_get_next_update_partition'
.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld: esp-idf/esp_https_ota/libesp_https_ota.a(esp_https_ota.c.obj): in function `esp_https_ota_begin':
/home/lg/esp/esp-idf/components/esp_https_ota/src/esp_https_ota.c:350:(.text.esp_https_ota_begin+0x212): undefined reference to `__wrap_esp_ota_get_next_update_partition'
.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld: esp-idf/app_update/libapp_update.a(esp_ota_ops.c.obj):(.literal.image_validate+0x4): undefined reference to `__wrap_esp_image_verify'
.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld: esp-idf/app_update/libapp_update.a(esp_ota_ops.c.obj): in function `image_validate':
/home/lg/esp/esp-idf/components/app_update/esp_ota_ops.c:114:(.text.image_validate+0x14): undefined reference to `__wrap_esp_image_verify'
.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld: esp-idf/app_update/libapp_update.a(esp_ota_ops.c.obj): in function `esp_ota_end':
/home/lg/esp/esp-idf/components/app_update/esp_ota_ops.c:365:(.text.esp_ota_end+0x46): undefined reference to `__wrap_esp_image_verify'
collect2: error: ld returned 1 exit status

More Information.

No response

@github-actions github-actions bot changed the title for normal OTA to use bootloader_support_plus , compile error for normal OTA to use bootloader_support_plus , compile error (AEGHB-475) Dec 2, 2023
@gallex gallex changed the title for normal OTA to use bootloader_support_plus , compile error (AEGHB-475) Change normal OTA to use bootloader_support_plus , compile error (AEGHB-475) Dec 3, 2023
@WangYuxin-esp
Copy link
Contributor

WangYuxin-esp commented Dec 4, 2023

Thanks for reporting it. Here is an example of using bootloader_support_plus. By default, it uses the IDF Component Manager mechanism to import the component.
Of course, if you are used to putting components in the components directory, you can still do so. But this requires adding some additional modifications in your project. This includes:

  1. Create a components directory in the same level directory as the main directory and move the bootloader_support_plus to the components directory.
  2. Modify the yml file that uses this component. This includes:
  • Specify the bootloader_support_plus storage path in the yml file of the main directory.
    main_yml

  • Specify the bootloader_support_plus storage path in the yml file of the bootloader_components directory.
    bootloader_yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants