mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
merge esp_flash_data_types into esp_flash_partitions
This commit is contained in:
parent
f1e9078cb0
commit
fae39dc326
@ -36,7 +36,7 @@
|
|||||||
#include "rom/crc.h"
|
#include "rom/crc.h"
|
||||||
#include "soc/dport_reg.h"
|
#include "soc/dport_reg.h"
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
#include "esp_flash_data_types.h"
|
#include "esp_flash_partitions.h"
|
||||||
#include "bootloader_common.h"
|
#include "bootloader_common.h"
|
||||||
#include "sys/param.h"
|
#include "sys/param.h"
|
||||||
#include "esp_system.h"
|
#include "esp_system.h"
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include "esp_err.h"
|
#include "esp_err.h"
|
||||||
#include "esp_partition.h"
|
#include "esp_partition.h"
|
||||||
#include "esp_image_format.h"
|
#include "esp_image_format.h"
|
||||||
#include "esp_flash_data_types.h"
|
#include "esp_flash_partitions.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "esp_flash_data_types.h"
|
#include "esp_flash_partitions.h"
|
||||||
#include "esp_image_format.h"
|
#include "esp_image_format.h"
|
||||||
|
|
||||||
/// Type of hold a GPIO in low state
|
/// Type of hold a GPIO in low state
|
||||||
|
@ -0,0 +1,2 @@
|
|||||||
|
#warning esp_flash_data_types.h has been merged into esp_flash_partitions.h, please include esp_flash_partitions.h instead
|
||||||
|
#include "esp_flash_partitions.h"
|
@ -11,14 +11,37 @@
|
|||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
#ifndef __ESP_FLASH_PARTITIONS_H
|
#pragma once
|
||||||
#define __ESP_FLASH_PARTITIONS_H
|
|
||||||
|
|
||||||
#include "esp_err.h"
|
#include "esp_err.h"
|
||||||
#include "esp_flash_data_types.h"
|
#include "esp_types.h"
|
||||||
#include <stdbool.h>
|
|
||||||
#include "sdkconfig.h"
|
#include "sdkconfig.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define ESP_PARTITION_MAGIC 0x50AA
|
||||||
|
#define ESP_PARTITION_MAGIC_MD5 0xEBEB
|
||||||
|
|
||||||
|
#define PART_TYPE_APP 0x00
|
||||||
|
#define PART_SUBTYPE_FACTORY 0x00
|
||||||
|
#define PART_SUBTYPE_OTA_FLAG 0x10
|
||||||
|
#define PART_SUBTYPE_OTA_MASK 0x0f
|
||||||
|
#define PART_SUBTYPE_TEST 0x20
|
||||||
|
|
||||||
|
#define PART_TYPE_DATA 0x01
|
||||||
|
#define PART_SUBTYPE_DATA_OTA 0x00
|
||||||
|
#define PART_SUBTYPE_DATA_RF 0x01
|
||||||
|
#define PART_SUBTYPE_DATA_WIFI 0x02
|
||||||
|
#define PART_SUBTYPE_DATA_NVS_KEYS 0x04
|
||||||
|
#define PART_SUBTYPE_DATA_EFUSE_EM 0x05
|
||||||
|
|
||||||
|
#define PART_TYPE_END 0xff
|
||||||
|
#define PART_SUBTYPE_END 0xff
|
||||||
|
|
||||||
|
#define PART_FLAG_ENCRYPTED (1<<0)
|
||||||
|
|
||||||
/* Pre-partition table fixed flash offsets */
|
/* Pre-partition table fixed flash offsets */
|
||||||
#define ESP_BOOTLOADER_DIGEST_OFFSET 0x0
|
#define ESP_BOOTLOADER_DIGEST_OFFSET 0x0
|
||||||
#define ESP_BOOTLOADER_OFFSET 0x1000 /* Offset of bootloader image. Has matching value in bootloader KConfig.projbuild file. */
|
#define ESP_BOOTLOADER_OFFSET 0x1000 /* Offset of bootloader image. Has matching value in bootloader KConfig.projbuild file. */
|
||||||
@ -27,6 +50,43 @@
|
|||||||
#define ESP_PARTITION_TABLE_MAX_LEN 0xC00 /* Maximum length of partition table data */
|
#define ESP_PARTITION_TABLE_MAX_LEN 0xC00 /* Maximum length of partition table data */
|
||||||
#define ESP_PARTITION_TABLE_MAX_ENTRIES (ESP_PARTITION_TABLE_MAX_LEN / sizeof(esp_partition_info_t)) /* Maximum length of partition table data, including terminating entry */
|
#define ESP_PARTITION_TABLE_MAX_ENTRIES (ESP_PARTITION_TABLE_MAX_LEN / sizeof(esp_partition_info_t)) /* Maximum length of partition table data, including terminating entry */
|
||||||
|
|
||||||
|
/// OTA_DATA states for checking operability of the app.
|
||||||
|
typedef enum {
|
||||||
|
ESP_OTA_IMG_NEW = 0x0U, /*!< Monitor the first boot. In bootloader this state is changed to ESP_OTA_IMG_PENDING_VERIFY. */
|
||||||
|
ESP_OTA_IMG_PENDING_VERIFY = 0x1U, /*!< First boot for this app was. If while the second boot this state is then it will be changed to ABORTED. */
|
||||||
|
ESP_OTA_IMG_VALID = 0x2U, /*!< App was confirmed as workable. App can boot and work without limits. */
|
||||||
|
ESP_OTA_IMG_INVALID = 0x3U, /*!< App was confirmed as non-workable. This app will not selected to boot at all. */
|
||||||
|
ESP_OTA_IMG_ABORTED = 0x4U, /*!< App could not confirm the workable or non-workable. In bootloader IMG_PENDING_VERIFY state will be changed to IMG_ABORTED. This app will not selected to boot at all. */
|
||||||
|
ESP_OTA_IMG_UNDEFINED = 0xFFFFFFFFU, /*!< Undefined. App can boot and work without limits. */
|
||||||
|
} esp_ota_img_states_t;
|
||||||
|
|
||||||
|
/* OTA selection structure (two copies in the OTA data partition.)
|
||||||
|
Size of 32 bytes is friendly to flash encryption */
|
||||||
|
typedef struct {
|
||||||
|
uint32_t ota_seq;
|
||||||
|
uint8_t seq_label[20];
|
||||||
|
uint32_t ota_state;
|
||||||
|
uint32_t crc; /* CRC32 of ota_seq field only */
|
||||||
|
} esp_ota_select_entry_t;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
uint32_t offset;
|
||||||
|
uint32_t size;
|
||||||
|
} esp_partition_pos_t;
|
||||||
|
|
||||||
|
/* Structure which describes the layout of partition table entry.
|
||||||
|
* See docs/partition_tables.rst for more information about individual fields.
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
uint16_t magic;
|
||||||
|
uint8_t type;
|
||||||
|
uint8_t subtype;
|
||||||
|
esp_partition_pos_t pos;
|
||||||
|
uint8_t label[16];
|
||||||
|
uint32_t flags;
|
||||||
|
} esp_partition_info_t;
|
||||||
|
|
||||||
/* @brief Verify the partition table
|
/* @brief Verify the partition table
|
||||||
*
|
*
|
||||||
* @param partition_table Pointer to at least ESP_PARTITION_TABLE_MAX_ENTRIES of potential partition table data. (ESP_PARTITION_TABLE_MAX_LEN bytes.)
|
* @param partition_table Pointer to at least ESP_PARTITION_TABLE_MAX_ENTRIES of potential partition table data. (ESP_PARTITION_TABLE_MAX_LEN bytes.)
|
||||||
@ -43,5 +103,6 @@ inline static __attribute__((deprecated)) esp_err_t esp_partition_table_basic_ve
|
|||||||
{
|
{
|
||||||
return esp_partition_table_verify(partition_table, log_errors, num_partitions);
|
return esp_partition_table_verify(partition_table, log_errors, num_partitions);
|
||||||
}
|
}
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -21,7 +21,7 @@ extern "C"
|
|||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "esp_flash_data_types.h"
|
#include "esp_flash_partitions.h"
|
||||||
#include "soc/soc.h"
|
#include "soc/soc.h"
|
||||||
|
|
||||||
#define SPI_SEC_SIZE 0x1000
|
#define SPI_SEC_SIZE 0x1000
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
#include "rom/crc.h"
|
#include "rom/crc.h"
|
||||||
#include "rom/ets_sys.h"
|
#include "rom/ets_sys.h"
|
||||||
#include "rom/gpio.h"
|
#include "rom/gpio.h"
|
||||||
#include "esp_flash_data_types.h"
|
|
||||||
#include "esp_secure_boot.h"
|
#include "esp_secure_boot.h"
|
||||||
#include "esp_flash_partitions.h"
|
#include "esp_flash_partitions.h"
|
||||||
#include "bootloader_flash.h"
|
#include "bootloader_flash.h"
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
#include "esp_image_format.h"
|
#include "esp_image_format.h"
|
||||||
#include "esp_flash_encrypt.h"
|
#include "esp_flash_encrypt.h"
|
||||||
#include "esp_flash_partitions.h"
|
#include "esp_flash_partitions.h"
|
||||||
#include "esp_flash_data_types.h"
|
|
||||||
#include "esp_secure_boot.h"
|
#include "esp_secure_boot.h"
|
||||||
#include "esp_efuse.h"
|
#include "esp_efuse.h"
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
#include "rom/spi_flash.h"
|
#include "rom/spi_flash.h"
|
||||||
#include "rom/md5_hash.h"
|
#include "rom/md5_hash.h"
|
||||||
#include "esp_flash_data_types.h"
|
|
||||||
|
|
||||||
static const char *TAG = "flash_parts";
|
static const char *TAG = "flash_parts";
|
||||||
|
|
||||||
|
@ -1,86 +0,0 @@
|
|||||||
// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
#ifndef __ESP_BIN_TYPES_H__
|
|
||||||
#define __ESP_BIN_TYPES_H__
|
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define ESP_PARTITION_MAGIC 0x50AA
|
|
||||||
#define ESP_PARTITION_MAGIC_MD5 0xEBEB
|
|
||||||
|
|
||||||
/// OTA_DATA states for checking operability of the app.
|
|
||||||
typedef enum {
|
|
||||||
ESP_OTA_IMG_NEW = 0x0U, /*!< Monitor the first boot. In bootloader this state is changed to ESP_OTA_IMG_PENDING_VERIFY. */
|
|
||||||
ESP_OTA_IMG_PENDING_VERIFY = 0x1U, /*!< First boot for this app was. If while the second boot this state is then it will be changed to ABORTED. */
|
|
||||||
ESP_OTA_IMG_VALID = 0x2U, /*!< App was confirmed as workable. App can boot and work without limits. */
|
|
||||||
ESP_OTA_IMG_INVALID = 0x3U, /*!< App was confirmed as non-workable. This app will not selected to boot at all. */
|
|
||||||
ESP_OTA_IMG_ABORTED = 0x4U, /*!< App could not confirm the workable or non-workable. In bootloader IMG_PENDING_VERIFY state will be changed to IMG_ABORTED. This app will not selected to boot at all. */
|
|
||||||
ESP_OTA_IMG_UNDEFINED = 0xFFFFFFFFU, /*!< Undefined. App can boot and work without limits. */
|
|
||||||
} esp_ota_img_states_t;
|
|
||||||
|
|
||||||
/* OTA selection structure (two copies in the OTA data partition.)
|
|
||||||
Size of 32 bytes is friendly to flash encryption */
|
|
||||||
typedef struct {
|
|
||||||
uint32_t ota_seq;
|
|
||||||
uint8_t seq_label[20];
|
|
||||||
uint32_t ota_state;
|
|
||||||
uint32_t crc; /* CRC32 of ota_seq field only */
|
|
||||||
} esp_ota_select_entry_t;
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
uint32_t offset;
|
|
||||||
uint32_t size;
|
|
||||||
} esp_partition_pos_t;
|
|
||||||
|
|
||||||
/* Structure which describes the layout of partition table entry.
|
|
||||||
* See docs/partition_tables.rst for more information about individual fields.
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
uint16_t magic;
|
|
||||||
uint8_t type;
|
|
||||||
uint8_t subtype;
|
|
||||||
esp_partition_pos_t pos;
|
|
||||||
uint8_t label[16];
|
|
||||||
uint32_t flags;
|
|
||||||
} esp_partition_info_t;
|
|
||||||
|
|
||||||
#define PART_TYPE_APP 0x00
|
|
||||||
#define PART_SUBTYPE_FACTORY 0x00
|
|
||||||
#define PART_SUBTYPE_OTA_FLAG 0x10
|
|
||||||
#define PART_SUBTYPE_OTA_MASK 0x0f
|
|
||||||
#define PART_SUBTYPE_TEST 0x20
|
|
||||||
|
|
||||||
#define PART_TYPE_DATA 0x01
|
|
||||||
#define PART_SUBTYPE_DATA_OTA 0x00
|
|
||||||
#define PART_SUBTYPE_DATA_RF 0x01
|
|
||||||
#define PART_SUBTYPE_DATA_WIFI 0x02
|
|
||||||
#define PART_SUBTYPE_DATA_NVS_KEYS 0x04
|
|
||||||
#define PART_SUBTYPE_DATA_EFUSE_EM 0x05
|
|
||||||
|
|
||||||
#define PART_TYPE_END 0xff
|
|
||||||
#define PART_SUBTYPE_END 0xff
|
|
||||||
|
|
||||||
#define PART_FLAG_ENCRYPTED (1<<0)
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif //__ESP_BIN_TYPES_H__
|
|
@ -19,7 +19,6 @@
|
|||||||
#include <sys/lock.h>
|
#include <sys/lock.h>
|
||||||
#include "esp_flash_partitions.h"
|
#include "esp_flash_partitions.h"
|
||||||
#include "esp_attr.h"
|
#include "esp_attr.h"
|
||||||
#include "esp_flash_data_types.h"
|
|
||||||
#include "esp_spi_flash.h"
|
#include "esp_spi_flash.h"
|
||||||
#include "esp_partition.h"
|
#include "esp_partition.h"
|
||||||
#include "esp_flash_encrypt.h"
|
#include "esp_flash_encrypt.h"
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include "sdkconfig.h"
|
#include "sdkconfig.h"
|
||||||
#include "esp_flash_data_types.h"
|
#include "esp_flash_partitions.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user