mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-10-28 04:31:42 +01:00 
			
		
		
		
	IDF release/v3.2 d3e562907 (#3292)
This commit is contained in:
		| @@ -14,6 +14,7 @@ | ||||
|  | ||||
| #pragma once | ||||
| #include "esp_flash_data_types.h" | ||||
| #include "esp_image_format.h" | ||||
|  | ||||
| /// Type of hold a GPIO in low state | ||||
| typedef enum { | ||||
| @@ -92,6 +93,17 @@ bool bootloader_common_label_search(const char *list, char *label); | ||||
|  */ | ||||
| esp_err_t bootloader_common_get_sha256_of_partition(uint32_t address, uint32_t size, int type, uint8_t *out_sha_256); | ||||
|  | ||||
| /** | ||||
|  * @brief Check if the image (bootloader and application) has valid chip ID and revision | ||||
|  * | ||||
|  * @param img_hdr: image header | ||||
|  * @return | ||||
|  *      - ESP_OK: image and chip are matched well | ||||
|  *      - ESP_FAIL: image doesn't match to the chip | ||||
|  */ | ||||
| esp_err_t bootloader_common_check_chip_validity(const esp_image_header_t* img_hdr); | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * @brief Configure VDDSDIO, call this API to rise VDDSDIO to 1.9V when VDDSDIO regulator is enabled as 1.8V mode. | ||||
|  */ | ||||
|   | ||||
| @@ -91,6 +91,13 @@ esp_err_t esp_efuse_apply_34_encoding(const uint8_t *in_bytes, uint32_t *out_wor | ||||
|  */ | ||||
| void esp_efuse_write_random_key(uint32_t blk_wdata0_reg); | ||||
|  | ||||
| /** | ||||
|  * @brief   Returns chip version from efuse | ||||
|  * | ||||
|  * @return chip version | ||||
|  */ | ||||
| uint8_t esp_efuse_get_chip_ver(void); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
|   | ||||
| @@ -55,6 +55,19 @@ typedef enum { | ||||
|  | ||||
| #define ESP_IMAGE_HEADER_MAGIC 0xE9 | ||||
|  | ||||
| /** | ||||
|  * @brief ESP chip ID | ||||
|  * | ||||
|  */ | ||||
| typedef enum { | ||||
|     ESP_CHIP_ID_ESP32 = 0x0000,  /*!< chip ID: ESP32 */ | ||||
|     ESP_CHIP_ID_INVALID = 0xFFFF /*!< Invalid chip ID (we defined it to make sure the esp_chip_id_t is 2 bytes size) */ | ||||
| } __attribute__((packed)) esp_chip_id_t; | ||||
|  | ||||
| /** @cond */ | ||||
| _Static_assert(sizeof(esp_chip_id_t) == 2, "esp_chip_id_t should be 16 bit"); | ||||
|  | ||||
|  | ||||
| /* Main header of binary image */ | ||||
| typedef struct { | ||||
|     uint8_t magic; | ||||
| @@ -71,8 +84,12 @@ typedef struct { | ||||
|     uint8_t wp_pin; | ||||
|     /* Drive settings for the SPI flash pins (read by ROM bootloader) */ | ||||
|     uint8_t spi_pin_drv[3]; | ||||
|     /* Reserved bytes in ESP32 additional header space, currently unused */ | ||||
|     uint8_t reserved[11]; | ||||
|     /*!< Chip identification number */ | ||||
|     esp_chip_id_t chip_id; | ||||
|     /*!< Minimum chip revision supported by image */ | ||||
|     uint8_t min_chip_rev; | ||||
|     /*!< Reserved bytes in additional header space, currently unused */ | ||||
|     uint8_t reserved[8]; | ||||
|     /* If 1, a SHA256 digest "simple hash" (of the entire image) is appended after the checksum. Included in image length. This digest | ||||
|      * is separate to secure boot and only used for detecting corruption. For secure boot signed images, the signature | ||||
|      * is appended after this (and the simple hash is included in the signed data). */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user