ROData pointers were not getting resolved on IDF v5.2 onwards, as the SHA256 hash being sent from esp and one in the firmware package did not match. This was happening due to CONFIG_APP_RETRIEVE_LEN_ELF_SHA ( Length of APP ELF SHA stored in RAM ) was changed from 16 to 9 after IDF 5.1.4.
This PR solves above issue by retrieving SHA using esp_app_get_description()->app_elf_sha256rather than depending on IDF function esp_app_get_elf_sha256() which used CONFIG_APP_RETRIEVE_LEN_ELF_SHA.
I have tested diagnostics_smoke_test on IDF v5.1 and master, which worked as expected.
@vikramdattu Please review and let me know if any changes are required.
With reference to issue #33 and #45.
ROData pointers were not getting resolved on IDF v5.2 onwards, as the SHA256 hash being sent from esp and one in the firmware package did not match. This was happening due to
CONFIG_APP_RETRIEVE_LEN_ELF_SHA
( Length of APP ELF SHA stored in RAM ) was changed from 16 to 9 after IDF 5.1.4.This PR solves above issue by retrieving SHA using
esp_app_get_description()->app_elf_sha256
rather than depending on IDF functionesp_app_get_elf_sha256()
which used CONFIG_APP_RETRIEVE_LEN_ELF_SHA.I have tested diagnostics_smoke_test on IDF v5.1 and master, which worked as expected.
@vikramdattu Please review and let me know if any changes are required.