esp_bootloader_desc.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #pragma once
  7. #include <stdint.h>
  8. #include <stdbool.h>
  9. #include <stddef.h>
  10. #include "esp_err.h"
  11. #include "esp_assert.h"
  12. #ifdef __cplusplus
  13. extern "C"
  14. {
  15. #endif
  16. #define ESP_BOOTLOADER_DESC_MAGIC_BYTE (80) /*!< The magic byte for the esp_bootloader_desc structure that is in DRAM. */
  17. /**
  18. * @brief Bootloader description structure
  19. */
  20. typedef struct {
  21. uint8_t magic_byte; /*!< Magic byte ESP_BOOTLOADER_DESC_MAGIC_BYTE */
  22. uint8_t reserved[3]; /*!< reserved for IDF */
  23. uint32_t version; /*!< Bootloader version */
  24. char idf_ver[32]; /*!< Version IDF */
  25. char date_time[24]; /*!< Compile date and time*/
  26. uint8_t reserved2[16]; /*!< reserved for IDF */
  27. } esp_bootloader_desc_t;
  28. /** @cond */
  29. ESP_STATIC_ASSERT(sizeof(esp_bootloader_desc_t) == 80, "esp_bootloader_desc_t should be 80 bytes");
  30. /** @endcond */
  31. /**
  32. * @brief Return esp_bootloader_desc structure.
  33. *
  34. * Intended for use by the bootloader.
  35. * @return Pointer to esp_bootloader_desc structure.
  36. */
  37. const esp_bootloader_desc_t *esp_bootloader_get_description(void);
  38. #ifdef __cplusplus
  39. }
  40. #endif