Select one of the symbols to view example projects that use it.
 
Outline
#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
#include "esp_err.h"
#include "esp_assert.h"
#include "esp_attr.h"
#define ESP_APP_DESC_MAGIC_WORD
esp_app_desc_t
esp_app_get_description();
esp_app_get_elf_sha256(char *, size_t);
app_elf_sha256_str;
esp_app_get_elf_sha256_str()
Files
ESP-IDF
components
app_trace
app_update
bootloader_support
bt
cmock
console
cxx
driver
efuse
esp_adc
esp_app_format
include
esp_bootloader_format
esp_coex
esp_common
esp_driver_ana_cmpr
esp_driver_cam
esp_driver_dac
esp_driver_gpio
esp_driver_gptimer
esp_driver_i2c
esp_driver_i2s
esp_driver_jpeg
esp_driver_ledc
esp_driver_mcpwm
esp_driver_parlio
esp_driver_pcnt
esp_driver_rmt
esp_driver_sdio
esp_driver_sdm
esp_driver_sdmmc
esp_driver_sdspi
esp_driver_spi
esp_driver_tsens
esp_driver_uart
esp_driver_usb_serial_jtag
esp_eth
esp_event
esp_gdbstub
esp_hid
esp_http_client
esp_http_server
esp_https_ota
esp_https_server
esp_hw_support
esp_lcd
esp_local_ctrl
esp_mm
esp_netif
esp_partition
esp_phy
esp_pm
esp_psram
esp_ringbuf
esp_rom
esp_security
esp_system
esp_timer
esp_vfs_console
esp_wifi
esp-tls
espcoredump
hal
heap
http_parser
ieee802154
log
mqtt
newlib
nvs_flash
nvs_sec_provider
openthread
perfmon
protobuf-c
protocomm
pthread
rt
sdmmc
soc
spi_flash
spiffs
tcp_transport
ulp
unity
vfs
wear_levelling
wifi_provisioning
wpa_supplicant
xtensa
examples
lwIP
FreeRTOS
cJSON
mbedTLS
SourceVuESP-IDF Framework and ExamplesESP-IDFcomponents/esp_app_format/include/esp_app_desc.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/* * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 *//* ... */ #pragma once #include <stdint.h> #include <stdbool.h> #include <stddef.h> #include "esp_err.h" #include "esp_assert.h" #include "esp_attr.h"6 includes #ifdef __cplusplus extern "C" { #endif #define ESP_APP_DESC_MAGIC_WORD (0xABCD5432) /*!< The magic word for the esp_app_desc structure that is in DROM. */ /** * @brief Description about application. */ typedef struct { uint32_t magic_word; /*!< Magic word ESP_APP_DESC_MAGIC_WORD */ uint32_t secure_version; /*!< Secure version */ uint32_t reserv1[2]; /*!< reserv1 */ char version[32]; /*!< Application version */ char project_name[32]; /*!< Project name */ char time[16]; /*!< Compile time */ char date[16]; /*!< Compile date*/ char idf_ver[32]; /*!< Version IDF */ uint8_t app_elf_sha256[32]; /*!< sha256 of elf file */ uint16_t min_efuse_blk_rev_full; /*!< Minimal eFuse block revision supported by image, in format: major * 100 + minor */ uint16_t max_efuse_blk_rev_full; /*!< Maximal eFuse block revision supported by image, in format: major * 100 + minor */ uint8_t mmu_page_size; /*!< MMU page size in log base 2 format */ uint8_t reserv3[3]; /*!< reserv3 */ uint32_t reserv2[18]; /*!< reserv2 */ } esp_app_desc_t; /** @cond */ ESP_STATIC_ASSERT(sizeof(esp_app_desc_t) == 256, "esp_app_desc_t should be 256 bytes"); ESP_STATIC_ASSERT(offsetof(esp_app_desc_t, secure_version) == 4, "secure_version field must be at 4 offset"); /** @endcond */ /** * @brief Return esp_app_desc structure. This structure includes app version. * * Return description for running app. * @return Pointer to esp_app_desc structure. */ const esp_app_desc_t *esp_app_get_description(void); /** * @brief Fill the provided buffer with SHA256 of the ELF file, formatted as hexadecimal, null-terminated. * If the buffer size is not sufficient to fit the entire SHA256 in hex plus a null terminator, * the largest possible number of bytes will be written followed by a null. * @param dst Destination buffer * @param size Size of the buffer * @return Number of bytes written to dst (including null terminator) */ int esp_app_get_elf_sha256(char* dst, size_t size); /** @cond */ extern char app_elf_sha256_str[]; /** @endcond */ /** * @brief Return SHA256 of the ELF file which is already formatted as hexadecimal, null-terminated included. * Can be used in panic handler or core dump during when cache is disabled. * The length is defined by CONFIG_APP_RETRIEVE_LEN_ELF_SHA option. * @return Hexadecimal SHA256 string */ FORCE_INLINE_ATTR char *esp_app_get_elf_sha256_str(void) { return app_elf_sha256_str; } #ifdef __cplusplus } #endif
Details