Commit 16cee61d authored by me-no-dev's avatar me-no-dev

Enable DFU

parent bdbfc45c
...@@ -16,6 +16,17 @@ extern "C" ...@@ -16,6 +16,17 @@ extern "C"
{ {
#endif #endif
/**
@brief Enumeration of ESP Secure Certificate key types.
*/
typedef enum key_type {
ESP_SECURE_CERT_INVALID_KEY = -1, /* Invalid key */
ESP_SECURE_CERT_DEFAULT_FORMAT_KEY, /* Key type for the key in default format */
ESP_SECURE_CERT_HMAC_ENCRYPTED_KEY, /* Encrypted key type */
ESP_SECURE_CERT_HMAC_DERIVED_ECDSA_KEY, /* HMAC-derived ECDSA key type. */
ESP_SECURE_CERT_ECDSA_PERIPHERAL_KEY, /* ECDSA peripheral key type. */
} esp_secure_cert_key_type_t;
/* @info /* @info
* Init the esp_secure_cert nvs partition * Init the esp_secure_cert nvs partition
* *
...@@ -115,6 +126,8 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer); ...@@ -115,6 +126,8 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer);
* The esp_secure_cert_free_priv_key API needs to be called in order to free the memory. * The esp_secure_cert_free_priv_key API needs to be called in order to free the memory.
* The API shall only free the memory if it has been dynamically allocated. * The API shall only free the memory if it has been dynamically allocated.
* *
* The private key(buffer) shall be returned as NULL when private key type is ESP_SECURE_CERT_ECDSA_PERIPHERAL_KEY.
*
* @params * @params
* - buffer(out) This value shall be filled with the private key address * - buffer(out) This value shall be filled with the private key address
* on successful completion * on successful completion
...@@ -128,6 +141,23 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer); ...@@ -128,6 +141,23 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer);
*/ */
esp_err_t esp_secure_cert_get_priv_key(char **buffer, uint32_t *len); esp_err_t esp_secure_cert_get_priv_key(char **buffer, uint32_t *len);
#ifndef CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS
/* @info
* Get the private key type from the esp_secure_cert partition
*
* @note
* The API is only supported for the TLV format
*
* @params
* - priv_key_type(in/out) Pointer to store the obtained key type
* @return
* - ESP_OK On success
* - ESP_FAIL/other relevant esp error code
* On failure
*/
esp_err_t esp_secure_cert_get_priv_key_type(esp_secure_cert_key_type_t *priv_key_type);
#endif
/* /*
* Free any internally allocated resources for the priv key. * Free any internally allocated resources for the priv key.
* @note * @note
...@@ -157,9 +187,27 @@ esp_ds_data_ctx_t *esp_secure_cert_get_ds_ctx(void); ...@@ -157,9 +187,27 @@ esp_ds_data_ctx_t *esp_secure_cert_get_ds_ctx(void);
*@info *@info
* Free the ds context * Free the ds context
*/ */
void esp_secure_cert_free_ds_ctx(esp_ds_data_ctx_t *ds_ctx); void esp_secure_cert_free_ds_ctx(esp_ds_data_ctx_t *ds_ctx);
#endif /* CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL */ #endif /* CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL */
#ifndef CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS
/* @info
* Get the efuse key block id in which the private key is stored.
* @note
* The API is only supported for the TLV format.
* For now only ECDSA type of private key can be stored in the eFuse key blocks
*
* @params
* - efuse_key_id(in/out) Pointer to store the obtained key id
* @return
* - ESP_OK On success
* - ESP_FAIL/other relevant esp error code
* On failure
*/
esp_err_t esp_secure_cert_get_priv_key_efuse_id(uint8_t *efuse_key_id);
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
This diff is collapsed.
...@@ -16,6 +16,17 @@ extern "C" ...@@ -16,6 +16,17 @@ extern "C"
{ {
#endif #endif
/**
@brief Enumeration of ESP Secure Certificate key types.
*/
typedef enum key_type {
ESP_SECURE_CERT_INVALID_KEY = -1, /* Invalid key */
ESP_SECURE_CERT_DEFAULT_FORMAT_KEY, /* Key type for the key in default format */
ESP_SECURE_CERT_HMAC_ENCRYPTED_KEY, /* Encrypted key type */
ESP_SECURE_CERT_HMAC_DERIVED_ECDSA_KEY, /* HMAC-derived ECDSA key type. */
ESP_SECURE_CERT_ECDSA_PERIPHERAL_KEY, /* ECDSA peripheral key type. */
} esp_secure_cert_key_type_t;
/* @info /* @info
* Init the esp_secure_cert nvs partition * Init the esp_secure_cert nvs partition
* *
...@@ -115,6 +126,8 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer); ...@@ -115,6 +126,8 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer);
* The esp_secure_cert_free_priv_key API needs to be called in order to free the memory. * The esp_secure_cert_free_priv_key API needs to be called in order to free the memory.
* The API shall only free the memory if it has been dynamically allocated. * The API shall only free the memory if it has been dynamically allocated.
* *
* The private key(buffer) shall be returned as NULL when private key type is ESP_SECURE_CERT_ECDSA_PERIPHERAL_KEY.
*
* @params * @params
* - buffer(out) This value shall be filled with the private key address * - buffer(out) This value shall be filled with the private key address
* on successful completion * on successful completion
...@@ -128,6 +141,23 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer); ...@@ -128,6 +141,23 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer);
*/ */
esp_err_t esp_secure_cert_get_priv_key(char **buffer, uint32_t *len); esp_err_t esp_secure_cert_get_priv_key(char **buffer, uint32_t *len);
#ifndef CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS
/* @info
* Get the private key type from the esp_secure_cert partition
*
* @note
* The API is only supported for the TLV format
*
* @params
* - priv_key_type(in/out) Pointer to store the obtained key type
* @return
* - ESP_OK On success
* - ESP_FAIL/other relevant esp error code
* On failure
*/
esp_err_t esp_secure_cert_get_priv_key_type(esp_secure_cert_key_type_t *priv_key_type);
#endif
/* /*
* Free any internally allocated resources for the priv key. * Free any internally allocated resources for the priv key.
* @note * @note
...@@ -157,9 +187,27 @@ esp_ds_data_ctx_t *esp_secure_cert_get_ds_ctx(void); ...@@ -157,9 +187,27 @@ esp_ds_data_ctx_t *esp_secure_cert_get_ds_ctx(void);
*@info *@info
* Free the ds context * Free the ds context
*/ */
void esp_secure_cert_free_ds_ctx(esp_ds_data_ctx_t *ds_ctx); void esp_secure_cert_free_ds_ctx(esp_ds_data_ctx_t *ds_ctx);
#endif /* CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL */ #endif /* CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL */
#ifndef CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS
/* @info
* Get the efuse key block id in which the private key is stored.
* @note
* The API is only supported for the TLV format.
* For now only ECDSA type of private key can be stored in the eFuse key blocks
*
* @params
* - efuse_key_id(in/out) Pointer to store the obtained key id
* @return
* - ESP_OK On success
* - ESP_FAIL/other relevant esp error code
* On failure
*/
esp_err_t esp_secure_cert_get_priv_key_efuse_id(uint8_t *efuse_key_id);
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
This diff is collapsed.
...@@ -120,6 +120,9 @@ ...@@ -120,6 +120,9 @@
#define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1 #define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1
#define CONFIG_TINYUSB_DFU_RT_ENABLED 1 #define CONFIG_TINYUSB_DFU_RT_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device" #define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device"
#define CONFIG_TINYUSB_DFU_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_STRING "Espressif DFU Device"
#define CONFIG_TINYUSB_DFU_BUFSIZE 4096
#define CONFIG_TINYUSB_VENDOR_ENABLED 1 #define CONFIG_TINYUSB_VENDOR_ENABLED 1
#define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device" #define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device"
#define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64 #define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64
......
...@@ -120,6 +120,9 @@ ...@@ -120,6 +120,9 @@
#define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1 #define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1
#define CONFIG_TINYUSB_DFU_RT_ENABLED 1 #define CONFIG_TINYUSB_DFU_RT_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device" #define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device"
#define CONFIG_TINYUSB_DFU_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_STRING "Espressif DFU Device"
#define CONFIG_TINYUSB_DFU_BUFSIZE 4096
#define CONFIG_TINYUSB_VENDOR_ENABLED 1 #define CONFIG_TINYUSB_VENDOR_ENABLED 1
#define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device" #define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device"
#define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64 #define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64
......
...@@ -64,6 +64,10 @@ extern "C" { ...@@ -64,6 +64,10 @@ extern "C" {
# define CONFIG_TINYUSB_DFU_RT_ENABLED 0 # define CONFIG_TINYUSB_DFU_RT_ENABLED 0
#endif #endif
#ifndef CONFIG_TINYUSB_DFU_ENABLED
# define CONFIG_TINYUSB_DFU_ENABLED 0
#endif
#ifndef CONFIG_TINYUSB_VENDOR_ENABLED #ifndef CONFIG_TINYUSB_VENDOR_ENABLED
# define CONFIG_TINYUSB_VENDOR_ENABLED 0 # define CONFIG_TINYUSB_VENDOR_ENABLED 0
#endif #endif
...@@ -106,6 +110,7 @@ extern "C" { ...@@ -106,6 +110,7 @@ extern "C" {
#define CFG_TUD_VIDEO CONFIG_TINYUSB_VIDEO_ENABLED #define CFG_TUD_VIDEO CONFIG_TINYUSB_VIDEO_ENABLED
#define CFG_TUD_CUSTOM_CLASS CONFIG_TINYUSB_CUSTOM_CLASS_ENABLED #define CFG_TUD_CUSTOM_CLASS CONFIG_TINYUSB_CUSTOM_CLASS_ENABLED
#define CFG_TUD_DFU_RUNTIME CONFIG_TINYUSB_DFU_RT_ENABLED #define CFG_TUD_DFU_RUNTIME CONFIG_TINYUSB_DFU_RT_ENABLED
#define CFG_TUD_DFU CONFIG_TINYUSB_DFU_ENABLED
#define CFG_TUD_VENDOR CONFIG_TINYUSB_VENDOR_ENABLED #define CFG_TUD_VENDOR CONFIG_TINYUSB_VENDOR_ENABLED
// CDC FIFO size of TX and RX // CDC FIFO size of TX and RX
...@@ -126,6 +131,9 @@ extern "C" { ...@@ -126,6 +131,9 @@ extern "C" {
#define CFG_TUD_VIDEO_STREAMING CONFIG_TINYUSB_VIDEO_STREAMING_IFS #define CFG_TUD_VIDEO_STREAMING CONFIG_TINYUSB_VIDEO_STREAMING_IFS
#define CFG_TUD_VIDEO_STREAMING_EP_BUFSIZE CONFIG_TINYUSB_VIDEO_STREAMING_BUFSIZE #define CFG_TUD_VIDEO_STREAMING_EP_BUFSIZE CONFIG_TINYUSB_VIDEO_STREAMING_BUFSIZE
// DFU buffer size
#define CFG_TUD_DFU_XFER_BUFSIZE CONFIG_TINYUSB_DFU_BUFSIZE
// VENDOR FIFO size of TX and RX // VENDOR FIFO size of TX and RX
#define CFG_TUD_VENDOR_RX_BUFSIZE CONFIG_TINYUSB_VENDOR_RX_BUFSIZE #define CFG_TUD_VENDOR_RX_BUFSIZE CONFIG_TINYUSB_VENDOR_RX_BUFSIZE
#define CFG_TUD_VENDOR_TX_BUFSIZE CONFIG_TINYUSB_VENDOR_TX_BUFSIZE #define CFG_TUD_VENDOR_TX_BUFSIZE CONFIG_TINYUSB_VENDOR_TX_BUFSIZE
......
...@@ -16,6 +16,17 @@ extern "C" ...@@ -16,6 +16,17 @@ extern "C"
{ {
#endif #endif
/**
@brief Enumeration of ESP Secure Certificate key types.
*/
typedef enum key_type {
ESP_SECURE_CERT_INVALID_KEY = -1, /* Invalid key */
ESP_SECURE_CERT_DEFAULT_FORMAT_KEY, /* Key type for the key in default format */
ESP_SECURE_CERT_HMAC_ENCRYPTED_KEY, /* Encrypted key type */
ESP_SECURE_CERT_HMAC_DERIVED_ECDSA_KEY, /* HMAC-derived ECDSA key type. */
ESP_SECURE_CERT_ECDSA_PERIPHERAL_KEY, /* ECDSA peripheral key type. */
} esp_secure_cert_key_type_t;
/* @info /* @info
* Init the esp_secure_cert nvs partition * Init the esp_secure_cert nvs partition
* *
...@@ -115,6 +126,8 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer); ...@@ -115,6 +126,8 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer);
* The esp_secure_cert_free_priv_key API needs to be called in order to free the memory. * The esp_secure_cert_free_priv_key API needs to be called in order to free the memory.
* The API shall only free the memory if it has been dynamically allocated. * The API shall only free the memory if it has been dynamically allocated.
* *
* The private key(buffer) shall be returned as NULL when private key type is ESP_SECURE_CERT_ECDSA_PERIPHERAL_KEY.
*
* @params * @params
* - buffer(out) This value shall be filled with the private key address * - buffer(out) This value shall be filled with the private key address
* on successful completion * on successful completion
...@@ -128,6 +141,23 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer); ...@@ -128,6 +141,23 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer);
*/ */
esp_err_t esp_secure_cert_get_priv_key(char **buffer, uint32_t *len); esp_err_t esp_secure_cert_get_priv_key(char **buffer, uint32_t *len);
#ifndef CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS
/* @info
* Get the private key type from the esp_secure_cert partition
*
* @note
* The API is only supported for the TLV format
*
* @params
* - priv_key_type(in/out) Pointer to store the obtained key type
* @return
* - ESP_OK On success
* - ESP_FAIL/other relevant esp error code
* On failure
*/
esp_err_t esp_secure_cert_get_priv_key_type(esp_secure_cert_key_type_t *priv_key_type);
#endif
/* /*
* Free any internally allocated resources for the priv key. * Free any internally allocated resources for the priv key.
* @note * @note
...@@ -157,9 +187,27 @@ esp_ds_data_ctx_t *esp_secure_cert_get_ds_ctx(void); ...@@ -157,9 +187,27 @@ esp_ds_data_ctx_t *esp_secure_cert_get_ds_ctx(void);
*@info *@info
* Free the ds context * Free the ds context
*/ */
void esp_secure_cert_free_ds_ctx(esp_ds_data_ctx_t *ds_ctx); void esp_secure_cert_free_ds_ctx(esp_ds_data_ctx_t *ds_ctx);
#endif /* CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL */ #endif /* CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL */
#ifndef CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS
/* @info
* Get the efuse key block id in which the private key is stored.
* @note
* The API is only supported for the TLV format.
* For now only ECDSA type of private key can be stored in the eFuse key blocks
*
* @params
* - efuse_key_id(in/out) Pointer to store the obtained key id
* @return
* - ESP_OK On success
* - ESP_FAIL/other relevant esp error code
* On failure
*/
esp_err_t esp_secure_cert_get_priv_key_efuse_id(uint8_t *efuse_key_id);
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
...@@ -120,6 +120,9 @@ ...@@ -120,6 +120,9 @@
#define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1 #define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1
#define CONFIG_TINYUSB_DFU_RT_ENABLED 1 #define CONFIG_TINYUSB_DFU_RT_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device" #define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device"
#define CONFIG_TINYUSB_DFU_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_STRING "Espressif DFU Device"
#define CONFIG_TINYUSB_DFU_BUFSIZE 4096
#define CONFIG_TINYUSB_VENDOR_ENABLED 1 #define CONFIG_TINYUSB_VENDOR_ENABLED 1
#define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device" #define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device"
#define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64 #define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64
......
...@@ -120,6 +120,9 @@ ...@@ -120,6 +120,9 @@
#define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1 #define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1
#define CONFIG_TINYUSB_DFU_RT_ENABLED 1 #define CONFIG_TINYUSB_DFU_RT_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device" #define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device"
#define CONFIG_TINYUSB_DFU_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_STRING "Espressif DFU Device"
#define CONFIG_TINYUSB_DFU_BUFSIZE 4096
#define CONFIG_TINYUSB_VENDOR_ENABLED 1 #define CONFIG_TINYUSB_VENDOR_ENABLED 1
#define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device" #define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device"
#define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64 #define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64
......
...@@ -308,6 +308,14 @@ CONFIG_TINYUSB_DFU_RT_ENABLED=y ...@@ -308,6 +308,14 @@ CONFIG_TINYUSB_DFU_RT_ENABLED=y
CONFIG_TINYUSB_DESC_DFU_RT_STRING="Espressif DFU_RT Device" CONFIG_TINYUSB_DESC_DFU_RT_STRING="Espressif DFU_RT Device"
# end of DFU Runtime driver # end of DFU Runtime driver
#
# DFU driver
#
CONFIG_TINYUSB_DFU_ENABLED=y
CONFIG_TINYUSB_DESC_DFU_STRING="Espressif DFU Device"
CONFIG_TINYUSB_DFU_BUFSIZE=4096
# end of DFU driver
# #
# VENDOR driver # VENDOR driver
# #
......
...@@ -120,6 +120,9 @@ ...@@ -120,6 +120,9 @@
#define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1 #define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1
#define CONFIG_TINYUSB_DFU_RT_ENABLED 1 #define CONFIG_TINYUSB_DFU_RT_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device" #define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device"
#define CONFIG_TINYUSB_DFU_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_STRING "Espressif DFU Device"
#define CONFIG_TINYUSB_DFU_BUFSIZE 4096
#define CONFIG_TINYUSB_VENDOR_ENABLED 1 #define CONFIG_TINYUSB_VENDOR_ENABLED 1
#define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device" #define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device"
#define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64 #define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64
......
...@@ -120,6 +120,9 @@ ...@@ -120,6 +120,9 @@
#define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1 #define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1
#define CONFIG_TINYUSB_DFU_RT_ENABLED 1 #define CONFIG_TINYUSB_DFU_RT_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device" #define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device"
#define CONFIG_TINYUSB_DFU_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_STRING "Espressif DFU Device"
#define CONFIG_TINYUSB_DFU_BUFSIZE 4096
#define CONFIG_TINYUSB_VENDOR_ENABLED 1 #define CONFIG_TINYUSB_VENDOR_ENABLED 1
#define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device" #define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device"
#define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64 #define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64
......
...@@ -64,6 +64,10 @@ extern "C" { ...@@ -64,6 +64,10 @@ extern "C" {
# define CONFIG_TINYUSB_DFU_RT_ENABLED 0 # define CONFIG_TINYUSB_DFU_RT_ENABLED 0
#endif #endif
#ifndef CONFIG_TINYUSB_DFU_ENABLED
# define CONFIG_TINYUSB_DFU_ENABLED 0
#endif
#ifndef CONFIG_TINYUSB_VENDOR_ENABLED #ifndef CONFIG_TINYUSB_VENDOR_ENABLED
# define CONFIG_TINYUSB_VENDOR_ENABLED 0 # define CONFIG_TINYUSB_VENDOR_ENABLED 0
#endif #endif
...@@ -106,6 +110,7 @@ extern "C" { ...@@ -106,6 +110,7 @@ extern "C" {
#define CFG_TUD_VIDEO CONFIG_TINYUSB_VIDEO_ENABLED #define CFG_TUD_VIDEO CONFIG_TINYUSB_VIDEO_ENABLED
#define CFG_TUD_CUSTOM_CLASS CONFIG_TINYUSB_CUSTOM_CLASS_ENABLED #define CFG_TUD_CUSTOM_CLASS CONFIG_TINYUSB_CUSTOM_CLASS_ENABLED
#define CFG_TUD_DFU_RUNTIME CONFIG_TINYUSB_DFU_RT_ENABLED #define CFG_TUD_DFU_RUNTIME CONFIG_TINYUSB_DFU_RT_ENABLED
#define CFG_TUD_DFU CONFIG_TINYUSB_DFU_ENABLED
#define CFG_TUD_VENDOR CONFIG_TINYUSB_VENDOR_ENABLED #define CFG_TUD_VENDOR CONFIG_TINYUSB_VENDOR_ENABLED
// CDC FIFO size of TX and RX // CDC FIFO size of TX and RX
...@@ -126,6 +131,9 @@ extern "C" { ...@@ -126,6 +131,9 @@ extern "C" {
#define CFG_TUD_VIDEO_STREAMING CONFIG_TINYUSB_VIDEO_STREAMING_IFS #define CFG_TUD_VIDEO_STREAMING CONFIG_TINYUSB_VIDEO_STREAMING_IFS
#define CFG_TUD_VIDEO_STREAMING_EP_BUFSIZE CONFIG_TINYUSB_VIDEO_STREAMING_BUFSIZE #define CFG_TUD_VIDEO_STREAMING_EP_BUFSIZE CONFIG_TINYUSB_VIDEO_STREAMING_BUFSIZE
// DFU buffer size
#define CFG_TUD_DFU_XFER_BUFSIZE CONFIG_TINYUSB_DFU_BUFSIZE
// VENDOR FIFO size of TX and RX // VENDOR FIFO size of TX and RX
#define CFG_TUD_VENDOR_RX_BUFSIZE CONFIG_TINYUSB_VENDOR_RX_BUFSIZE #define CFG_TUD_VENDOR_RX_BUFSIZE CONFIG_TINYUSB_VENDOR_RX_BUFSIZE
#define CFG_TUD_VENDOR_TX_BUFSIZE CONFIG_TINYUSB_VENDOR_TX_BUFSIZE #define CFG_TUD_VENDOR_TX_BUFSIZE CONFIG_TINYUSB_VENDOR_TX_BUFSIZE
......
...@@ -16,6 +16,17 @@ extern "C" ...@@ -16,6 +16,17 @@ extern "C"
{ {
#endif #endif
/**
@brief Enumeration of ESP Secure Certificate key types.
*/
typedef enum key_type {
ESP_SECURE_CERT_INVALID_KEY = -1, /* Invalid key */
ESP_SECURE_CERT_DEFAULT_FORMAT_KEY, /* Key type for the key in default format */
ESP_SECURE_CERT_HMAC_ENCRYPTED_KEY, /* Encrypted key type */
ESP_SECURE_CERT_HMAC_DERIVED_ECDSA_KEY, /* HMAC-derived ECDSA key type. */
ESP_SECURE_CERT_ECDSA_PERIPHERAL_KEY, /* ECDSA peripheral key type. */
} esp_secure_cert_key_type_t;
/* @info /* @info
* Init the esp_secure_cert nvs partition * Init the esp_secure_cert nvs partition
* *
...@@ -115,6 +126,8 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer); ...@@ -115,6 +126,8 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer);
* The esp_secure_cert_free_priv_key API needs to be called in order to free the memory. * The esp_secure_cert_free_priv_key API needs to be called in order to free the memory.
* The API shall only free the memory if it has been dynamically allocated. * The API shall only free the memory if it has been dynamically allocated.
* *
* The private key(buffer) shall be returned as NULL when private key type is ESP_SECURE_CERT_ECDSA_PERIPHERAL_KEY.
*
* @params * @params
* - buffer(out) This value shall be filled with the private key address * - buffer(out) This value shall be filled with the private key address
* on successful completion * on successful completion
...@@ -128,6 +141,23 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer); ...@@ -128,6 +141,23 @@ esp_err_t esp_secure_cert_free_ca_cert(char *buffer);
*/ */
esp_err_t esp_secure_cert_get_priv_key(char **buffer, uint32_t *len); esp_err_t esp_secure_cert_get_priv_key(char **buffer, uint32_t *len);
#ifndef CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS
/* @info
* Get the private key type from the esp_secure_cert partition
*
* @note
* The API is only supported for the TLV format
*
* @params
* - priv_key_type(in/out) Pointer to store the obtained key type
* @return
* - ESP_OK On success
* - ESP_FAIL/other relevant esp error code
* On failure
*/
esp_err_t esp_secure_cert_get_priv_key_type(esp_secure_cert_key_type_t *priv_key_type);
#endif
/* /*
* Free any internally allocated resources for the priv key. * Free any internally allocated resources for the priv key.
* @note * @note
...@@ -157,9 +187,27 @@ esp_ds_data_ctx_t *esp_secure_cert_get_ds_ctx(void); ...@@ -157,9 +187,27 @@ esp_ds_data_ctx_t *esp_secure_cert_get_ds_ctx(void);
*@info *@info
* Free the ds context * Free the ds context
*/ */
void esp_secure_cert_free_ds_ctx(esp_ds_data_ctx_t *ds_ctx); void esp_secure_cert_free_ds_ctx(esp_ds_data_ctx_t *ds_ctx);
#endif /* CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL */ #endif /* CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL */
#ifndef CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS
/* @info
* Get the efuse key block id in which the private key is stored.
* @note
* The API is only supported for the TLV format.
* For now only ECDSA type of private key can be stored in the eFuse key blocks
*
* @params
* - efuse_key_id(in/out) Pointer to store the obtained key id
* @return
* - ESP_OK On success
* - ESP_FAIL/other relevant esp error code
* On failure
*/
esp_err_t esp_secure_cert_get_priv_key_efuse_id(uint8_t *efuse_key_id);
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
...@@ -121,6 +121,9 @@ ...@@ -121,6 +121,9 @@
#define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1 #define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1
#define CONFIG_TINYUSB_DFU_RT_ENABLED 1 #define CONFIG_TINYUSB_DFU_RT_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device" #define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device"
#define CONFIG_TINYUSB_DFU_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_STRING "Espressif DFU Device"
#define CONFIG_TINYUSB_DFU_BUFSIZE 4096
#define CONFIG_TINYUSB_VENDOR_ENABLED 1 #define CONFIG_TINYUSB_VENDOR_ENABLED 1
#define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device" #define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device"
#define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64 #define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64
......
...@@ -501,8 +501,8 @@ SECTIONS ...@@ -501,8 +501,8 @@ SECTIONS
{ {
_flash_rodata_start = ABSOLUTE(.); _flash_rodata_start = ABSOLUTE(.);
*(.rodata_wlog_error .rodata_wlog_error.*)
*(EXCLUDE_FILE(*libgcov.a *libphy.a *libapp_trace.a:app_trace.* *libapp_trace.a:app_trace_util.* *libesp_hw_support.a:opiram_psram.* *libesp_hw_support.a:rtc_clk.* *libesp_system.a:esp_err.* *libesp_system.a:ubsan.* *libgcc.a:_divsf3.* *libhal.a:cpu_hal.* *libhal.a:i2c_hal_iram.* *libhal.a:ledc_hal_iram.* *libhal.a:soc_hal.* *libhal.a:spi_flash_encrypt_hal_iram.* *libhal.a:spi_flash_hal_gpspi.* *libhal.a:spi_flash_hal_iram.* *libhal.a:spi_hal_iram.* *libhal.a:spi_slave_hal_iram.* *libhal.a:systimer_hal.* *libhal.a:wdt_hal_iram.* *libheap.a:heap_tlsf.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libnewlib.a:abort.* *libnewlib.a:assert.* *libnewlib.a:heap.* *libnewlib.a:stdatomic.* *libsoc.a:lldesc.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_boya.* *libspi_flash.a:spi_flash_chip_gd.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:spi_flash_chip_mxic_opi.* *libspi_flash.a:spi_flash_chip_th.* *libspi_flash.a:spi_flash_chip_winbond.* *libspi_flash.a:spi_flash_hpm_enable.* *libspi_flash.a:spi_flash_oct_flash_init.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_timing_tuning.* *libspi_flash.a:spi_timing_config.*) .rodata EXCLUDE_FILE(*libgcov.a *libphy.a *libapp_trace.a:app_trace.* *libapp_trace.a:app_trace_util.* *libesp_hw_support.a:opiram_psram.* *libesp_hw_support.a:rtc_clk.* *libesp_system.a:esp_err.* *libesp_system.a:ubsan.* *libgcc.a:_divsf3.* *libhal.a:cpu_hal.* *libhal.a:i2c_hal_iram.* *libhal.a:ledc_hal_iram.* *libhal.a:soc_hal.* *libhal.a:spi_flash_encrypt_hal_iram.* *libhal.a:spi_flash_hal_gpspi.* *libhal.a:spi_flash_hal_iram.* *libhal.a:spi_hal_iram.* *libhal.a:spi_slave_hal_iram.* *libhal.a:systimer_hal.* *libhal.a:wdt_hal_iram.* *libheap.a:heap_tlsf.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libnewlib.a:abort.* *libnewlib.a:assert.* *libnewlib.a:heap.* *libnewlib.a:stdatomic.* *libsoc.a:lldesc.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_boya.* *libspi_flash.a:spi_flash_chip_gd.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:spi_flash_chip_mxic_opi.* *libspi_flash.a:spi_flash_chip_th.* *libspi_flash.a:spi_flash_chip_winbond.* *libspi_flash.a:spi_flash_hpm_enable.* *libspi_flash.a:spi_flash_oct_flash_init.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_timing_tuning.* *libspi_flash.a:spi_timing_config.*) .rodata.* EXCLUDE_FILE(*libgcov.a *libphy.a *libapp_trace.a:app_trace.* *libapp_trace.a:app_trace_util.* *libesp_hw_support.a:opiram_psram.* *libesp_hw_support.a:rtc_clk.* *libesp_system.a:esp_err.* *libesp_system.a:ubsan.* *libgcc.a:_divsf3.* *libhal.a:cpu_hal.* *libhal.a:i2c_hal_iram.* *libhal.a:ledc_hal_iram.* *libhal.a:soc_hal.* *libhal.a:spi_flash_encrypt_hal_iram.* *libhal.a:spi_flash_hal_gpspi.* *libhal.a:spi_flash_hal_iram.* *libhal.a:spi_hal_iram.* *libhal.a:spi_slave_hal_iram.* *libhal.a:systimer_hal.* *libhal.a:wdt_hal_iram.* *libheap.a:heap_tlsf.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libnewlib.a:abort.* *libnewlib.a:assert.* *libnewlib.a:heap.* *libnewlib.a:stdatomic.* *libsoc.a:lldesc.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_boya.* *libspi_flash.a:spi_flash_chip_gd.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:spi_flash_chip_mxic_opi.* *libspi_flash.a:spi_flash_chip_th.* *libspi_flash.a:spi_flash_chip_winbond.* *libspi_flash.a:spi_flash_hpm_enable.* *libspi_flash.a:spi_flash_oct_flash_init.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_timing_tuning.* *libspi_flash.a:spi_timing_config.*) .sdata2 EXCLUDE_FILE(*libgcov.a *libphy.a *libapp_trace.a:app_trace.* *libapp_trace.a:app_trace_util.* *libesp_hw_support.a:opiram_psram.* *libesp_hw_support.a:rtc_clk.* *libesp_system.a:esp_err.* *libesp_system.a:ubsan.* *libgcc.a:_divsf3.* *libhal.a:cpu_hal.* *libhal.a:i2c_hal_iram.* *libhal.a:ledc_hal_iram.* *libhal.a:soc_hal.* *libhal.a:spi_flash_encrypt_hal_iram.* *libhal.a:spi_flash_hal_gpspi.* *libhal.a:spi_flash_hal_iram.* *libhal.a:spi_hal_iram.* *libhal.a:spi_slave_hal_iram.* *libhal.a:systimer_hal.* *libhal.a:wdt_hal_iram.* *libheap.a:heap_tlsf.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libnewlib.a:abort.* *libnewlib.a:assert.* *libnewlib.a:heap.* *libnewlib.a:stdatomic.* *libsoc.a:lldesc.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_boya.* *libspi_flash.a:spi_flash_chip_gd.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:spi_flash_chip_mxic_opi.* *libspi_flash.a:spi_flash_chip_th.* *libspi_flash.a:spi_flash_chip_winbond.* *libspi_flash.a:spi_flash_hpm_enable.* *libspi_flash.a:spi_flash_oct_flash_init.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_timing_tuning.* *libspi_flash.a:spi_timing_config.*) .sdata2.* EXCLUDE_FILE(*libgcov.a *libphy.a *libapp_trace.a:app_trace.* *libapp_trace.a:app_trace_util.* *libesp_hw_support.a:opiram_psram.* *libesp_hw_support.a:rtc_clk.* *libesp_system.a:esp_err.* *libesp_system.a:ubsan.* *libgcc.a:_divsf3.* *libhal.a:cpu_hal.* *libhal.a:i2c_hal_iram.* *libhal.a:ledc_hal_iram.* *libhal.a:soc_hal.* *libhal.a:spi_flash_encrypt_hal_iram.* *libhal.a:spi_flash_hal_gpspi.* *libhal.a:spi_flash_hal_iram.* *libhal.a:spi_hal_iram.* *libhal.a:spi_slave_hal_iram.* *libhal.a:systimer_hal.* *libhal.a:wdt_hal_iram.* *libheap.a:heap_tlsf.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libnewlib.a:abort.* *libnewlib.a:assert.* *libnewlib.a:heap.* *libnewlib.a:stdatomic.* *libsoc.a:lldesc.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_boya.* *libspi_flash.a:spi_flash_chip_gd.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:spi_flash_chip_mxic_opi.* *libspi_flash.a:spi_flash_chip_th.* *libspi_flash.a:spi_flash_chip_winbond.* *libspi_flash.a:spi_flash_hpm_enable.* *libspi_flash.a:spi_flash_oct_flash_init.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_timing_tuning.* *libspi_flash.a:spi_timing_config.*) .srodata EXCLUDE_FILE(*libgcov.a *libphy.a *libapp_trace.a:app_trace.* *libapp_trace.a:app_trace_util.* *libesp_hw_support.a:opiram_psram.* *libesp_hw_support.a:rtc_clk.* *libesp_system.a:esp_err.* *libesp_system.a:ubsan.* *libgcc.a:_divsf3.* *libhal.a:cpu_hal.* *libhal.a:i2c_hal_iram.* *libhal.a:ledc_hal_iram.* *libhal.a:soc_hal.* *libhal.a:spi_flash_encrypt_hal_iram.* *libhal.a:spi_flash_hal_gpspi.* *libhal.a:spi_flash_hal_iram.* *libhal.a:spi_hal_iram.* *libhal.a:spi_slave_hal_iram.* *libhal.a:systimer_hal.* *libhal.a:wdt_hal_iram.* *libheap.a:heap_tlsf.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libnewlib.a:abort.* *libnewlib.a:assert.* *libnewlib.a:heap.* *libnewlib.a:stdatomic.* *libsoc.a:lldesc.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_boya.* *libspi_flash.a:spi_flash_chip_gd.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:spi_flash_chip_mxic_opi.* *libspi_flash.a:spi_flash_chip_th.* *libspi_flash.a:spi_flash_chip_winbond.* *libspi_flash.a:spi_flash_hpm_enable.* *libspi_flash.a:spi_flash_oct_flash_init.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_timing_tuning.* *libspi_flash.a:spi_timing_config.*) .srodata.*) *(EXCLUDE_FILE(*libgcov.a *libphy.a *libapp_trace.a:app_trace.* *libapp_trace.a:app_trace_util.* *libesp_hw_support.a:opiram_psram.* *libesp_hw_support.a:rtc_clk.* *libesp_system.a:esp_err.* *libesp_system.a:ubsan.* *libgcc.a:_divsf3.* *libhal.a:cpu_hal.* *libhal.a:i2c_hal_iram.* *libhal.a:ledc_hal_iram.* *libhal.a:soc_hal.* *libhal.a:spi_flash_encrypt_hal_iram.* *libhal.a:spi_flash_hal_gpspi.* *libhal.a:spi_flash_hal_iram.* *libhal.a:spi_hal_iram.* *libhal.a:spi_slave_hal_iram.* *libhal.a:systimer_hal.* *libhal.a:wdt_hal_iram.* *libheap.a:heap_tlsf.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libnewlib.a:abort.* *libnewlib.a:assert.* *libnewlib.a:heap.* *libnewlib.a:stdatomic.* *libsoc.a:lldesc.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_boya.* *libspi_flash.a:spi_flash_chip_gd.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:spi_flash_chip_mxic_opi.* *libspi_flash.a:spi_flash_chip_th.* *libspi_flash.a:spi_flash_chip_winbond.* *libspi_flash.a:spi_flash_hpm_enable.* *libspi_flash.a:spi_flash_oct_flash_init.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_timing_tuning.* *libspi_flash.a:spi_timing_config.*) .rodata EXCLUDE_FILE(*libgcov.a *libphy.a *libapp_trace.a:app_trace.* *libapp_trace.a:app_trace_util.* *libesp_hw_support.a:opiram_psram.* *libesp_hw_support.a:rtc_clk.* *libesp_system.a:esp_err.* *libesp_system.a:ubsan.* *libgcc.a:_divsf3.* *libhal.a:cpu_hal.* *libhal.a:i2c_hal_iram.* *libhal.a:ledc_hal_iram.* *libhal.a:soc_hal.* *libhal.a:spi_flash_encrypt_hal_iram.* *libhal.a:spi_flash_hal_gpspi.* *libhal.a:spi_flash_hal_iram.* *libhal.a:spi_hal_iram.* *libhal.a:spi_slave_hal_iram.* *libhal.a:systimer_hal.* *libhal.a:wdt_hal_iram.* *libheap.a:heap_tlsf.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libnewlib.a:abort.* *libnewlib.a:assert.* *libnewlib.a:heap.* *libnewlib.a:stdatomic.* *libsoc.a:lldesc.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_boya.* *libspi_flash.a:spi_flash_chip_gd.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:spi_flash_chip_mxic_opi.* *libspi_flash.a:spi_flash_chip_th.* *libspi_flash.a:spi_flash_chip_winbond.* *libspi_flash.a:spi_flash_hpm_enable.* *libspi_flash.a:spi_flash_oct_flash_init.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_timing_tuning.* *libspi_flash.a:spi_timing_config.*) .rodata.* EXCLUDE_FILE(*libgcov.a *libphy.a *libapp_trace.a:app_trace.* *libapp_trace.a:app_trace_util.* *libesp_hw_support.a:opiram_psram.* *libesp_hw_support.a:rtc_clk.* *libesp_system.a:esp_err.* *libesp_system.a:ubsan.* *libgcc.a:_divsf3.* *libhal.a:cpu_hal.* *libhal.a:i2c_hal_iram.* *libhal.a:ledc_hal_iram.* *libhal.a:soc_hal.* *libhal.a:spi_flash_encrypt_hal_iram.* *libhal.a:spi_flash_hal_gpspi.* *libhal.a:spi_flash_hal_iram.* *libhal.a:spi_hal_iram.* *libhal.a:spi_slave_hal_iram.* *libhal.a:systimer_hal.* *libhal.a:wdt_hal_iram.* *libheap.a:heap_tlsf.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libnewlib.a:abort.* *libnewlib.a:assert.* *libnewlib.a:heap.* *libnewlib.a:stdatomic.* *libsoc.a:lldesc.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_boya.* *libspi_flash.a:spi_flash_chip_gd.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:spi_flash_chip_mxic_opi.* *libspi_flash.a:spi_flash_chip_th.* *libspi_flash.a:spi_flash_chip_winbond.* *libspi_flash.a:spi_flash_hpm_enable.* *libspi_flash.a:spi_flash_oct_flash_init.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_timing_tuning.* *libspi_flash.a:spi_timing_config.*) .sdata2 EXCLUDE_FILE(*libgcov.a *libphy.a *libapp_trace.a:app_trace.* *libapp_trace.a:app_trace_util.* *libesp_hw_support.a:opiram_psram.* *libesp_hw_support.a:rtc_clk.* *libesp_system.a:esp_err.* *libesp_system.a:ubsan.* *libgcc.a:_divsf3.* *libhal.a:cpu_hal.* *libhal.a:i2c_hal_iram.* *libhal.a:ledc_hal_iram.* *libhal.a:soc_hal.* *libhal.a:spi_flash_encrypt_hal_iram.* *libhal.a:spi_flash_hal_gpspi.* *libhal.a:spi_flash_hal_iram.* *libhal.a:spi_hal_iram.* *libhal.a:spi_slave_hal_iram.* *libhal.a:systimer_hal.* *libhal.a:wdt_hal_iram.* *libheap.a:heap_tlsf.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libnewlib.a:abort.* *libnewlib.a:assert.* *libnewlib.a:heap.* *libnewlib.a:stdatomic.* *libsoc.a:lldesc.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_boya.* *libspi_flash.a:spi_flash_chip_gd.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:spi_flash_chip_mxic_opi.* *libspi_flash.a:spi_flash_chip_th.* *libspi_flash.a:spi_flash_chip_winbond.* *libspi_flash.a:spi_flash_hpm_enable.* *libspi_flash.a:spi_flash_oct_flash_init.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_timing_tuning.* *libspi_flash.a:spi_timing_config.*) .sdata2.* EXCLUDE_FILE(*libgcov.a *libphy.a *libapp_trace.a:app_trace.* *libapp_trace.a:app_trace_util.* *libesp_hw_support.a:opiram_psram.* *libesp_hw_support.a:rtc_clk.* *libesp_system.a:esp_err.* *libesp_system.a:ubsan.* *libgcc.a:_divsf3.* *libhal.a:cpu_hal.* *libhal.a:i2c_hal_iram.* *libhal.a:ledc_hal_iram.* *libhal.a:soc_hal.* *libhal.a:spi_flash_encrypt_hal_iram.* *libhal.a:spi_flash_hal_gpspi.* *libhal.a:spi_flash_hal_iram.* *libhal.a:spi_hal_iram.* *libhal.a:spi_slave_hal_iram.* *libhal.a:systimer_hal.* *libhal.a:wdt_hal_iram.* *libheap.a:heap_tlsf.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libnewlib.a:abort.* *libnewlib.a:assert.* *libnewlib.a:heap.* *libnewlib.a:stdatomic.* *libsoc.a:lldesc.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_boya.* *libspi_flash.a:spi_flash_chip_gd.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:spi_flash_chip_mxic_opi.* *libspi_flash.a:spi_flash_chip_th.* *libspi_flash.a:spi_flash_chip_winbond.* *libspi_flash.a:spi_flash_hpm_enable.* *libspi_flash.a:spi_flash_oct_flash_init.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_timing_tuning.* *libspi_flash.a:spi_timing_config.*) .srodata EXCLUDE_FILE(*libgcov.a *libphy.a *libapp_trace.a:app_trace.* *libapp_trace.a:app_trace_util.* *libesp_hw_support.a:opiram_psram.* *libesp_hw_support.a:rtc_clk.* *libesp_system.a:esp_err.* *libesp_system.a:ubsan.* *libgcc.a:_divsf3.* *libhal.a:cpu_hal.* *libhal.a:i2c_hal_iram.* *libhal.a:ledc_hal_iram.* *libhal.a:soc_hal.* *libhal.a:spi_flash_encrypt_hal_iram.* *libhal.a:spi_flash_hal_gpspi.* *libhal.a:spi_flash_hal_iram.* *libhal.a:spi_hal_iram.* *libhal.a:spi_slave_hal_iram.* *libhal.a:systimer_hal.* *libhal.a:wdt_hal_iram.* *libheap.a:heap_tlsf.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libnewlib.a:abort.* *libnewlib.a:assert.* *libnewlib.a:heap.* *libnewlib.a:stdatomic.* *libsoc.a:lldesc.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_boya.* *libspi_flash.a:spi_flash_chip_gd.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:spi_flash_chip_mxic_opi.* *libspi_flash.a:spi_flash_chip_th.* *libspi_flash.a:spi_flash_chip_winbond.* *libspi_flash.a:spi_flash_hpm_enable.* *libspi_flash.a:spi_flash_oct_flash_init.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_timing_tuning.* *libspi_flash.a:spi_timing_config.*) .srodata.*)
*(.rodata_wlog_error .rodata_wlog_error.*)
*(.irom1.text) /* catch stray ICACHE_RODATA_ATTR */ *(.irom1.text) /* catch stray ICACHE_RODATA_ATTR */
*(.gnu.linkonce.r.*) *(.gnu.linkonce.r.*)
......
...@@ -121,6 +121,9 @@ ...@@ -121,6 +121,9 @@
#define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1 #define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1
#define CONFIG_TINYUSB_DFU_RT_ENABLED 1 #define CONFIG_TINYUSB_DFU_RT_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device" #define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device"
#define CONFIG_TINYUSB_DFU_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_STRING "Espressif DFU Device"
#define CONFIG_TINYUSB_DFU_BUFSIZE 4096
#define CONFIG_TINYUSB_VENDOR_ENABLED 1 #define CONFIG_TINYUSB_VENDOR_ENABLED 1
#define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device" #define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device"
#define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64 #define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64
......
...@@ -120,6 +120,9 @@ ...@@ -120,6 +120,9 @@
#define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1 #define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1
#define CONFIG_TINYUSB_DFU_RT_ENABLED 1 #define CONFIG_TINYUSB_DFU_RT_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device" #define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device"
#define CONFIG_TINYUSB_DFU_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_STRING "Espressif DFU Device"
#define CONFIG_TINYUSB_DFU_BUFSIZE 4096
#define CONFIG_TINYUSB_VENDOR_ENABLED 1 #define CONFIG_TINYUSB_VENDOR_ENABLED 1
#define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device" #define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device"
#define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64 #define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64
......
...@@ -120,6 +120,9 @@ ...@@ -120,6 +120,9 @@
#define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1 #define CONFIG_TINYUSB_VIDEO_STREAMING_IFS 1
#define CONFIG_TINYUSB_DFU_RT_ENABLED 1 #define CONFIG_TINYUSB_DFU_RT_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device" #define CONFIG_TINYUSB_DESC_DFU_RT_STRING "Espressif DFU_RT Device"
#define CONFIG_TINYUSB_DFU_ENABLED 1
#define CONFIG_TINYUSB_DESC_DFU_STRING "Espressif DFU Device"
#define CONFIG_TINYUSB_DFU_BUFSIZE 4096
#define CONFIG_TINYUSB_VENDOR_ENABLED 1 #define CONFIG_TINYUSB_VENDOR_ENABLED 1
#define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device" #define CONFIG_TINYUSB_DESC_VENDOR_STRING "Espressif VENDOR Device"
#define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64 #define CONFIG_TINYUSB_VENDOR_RX_BUFSIZE 64
......
...@@ -366,8 +366,8 @@ SECTIONS ...@@ -366,8 +366,8 @@ SECTIONS
*(.ext_ram.bss*) *(.ext_ram.bss*)
*(EXCLUDE_FILE(*libbt.a *libbtdm_app.a *libnimble.a) .bss EXCLUDE_FILE(*libbt.a *libbtdm_app.a *libnimble.a) .bss.*) *(EXCLUDE_FILE(*libbt.a *libbtdm_app.a *libnimble.a) .bss EXCLUDE_FILE(*libbt.a *libbtdm_app.a *libnimble.a) .bss.*)
*(.ext_ram.bss .ext_ram.bss.*)
*(.dynbss .dynsbss .gnu.linkonce.b .gnu.linkonce.b.* .gnu.linkonce.sb .gnu.linkonce.sb.* .gnu.linkonce.sb2 .gnu.linkonce.sb2.* .sbss .sbss.* .sbss2 .sbss2.* .scommon .share.mem) *(.dynbss .dynsbss .gnu.linkonce.b .gnu.linkonce.b.* .gnu.linkonce.sb .gnu.linkonce.sb.* .gnu.linkonce.sb2 .gnu.linkonce.sb2.* .sbss .sbss.* .sbss2 .sbss2.* .scommon .share.mem)
*(.ext_ram.bss .ext_ram.bss.*)
*(EXCLUDE_FILE(*libbt.a *libbtdm_app.a *libnimble.a) COMMON) *(EXCLUDE_FILE(*libbt.a *libbtdm_app.a *libnimble.a) COMMON)
. = ALIGN(4); . = ALIGN(4);
_bt_bss_start = ABSOLUTE(.); _bt_bss_start = ABSOLUTE(.);
......
...@@ -318,6 +318,14 @@ CONFIG_TINYUSB_DFU_RT_ENABLED=y ...@@ -318,6 +318,14 @@ CONFIG_TINYUSB_DFU_RT_ENABLED=y
CONFIG_TINYUSB_DESC_DFU_RT_STRING="Espressif DFU_RT Device" CONFIG_TINYUSB_DESC_DFU_RT_STRING="Espressif DFU_RT Device"
# end of DFU Runtime driver # end of DFU Runtime driver
#
# DFU driver
#
CONFIG_TINYUSB_DFU_ENABLED=y
CONFIG_TINYUSB_DESC_DFU_STRING="Espressif DFU Device"
CONFIG_TINYUSB_DFU_BUFSIZE=4096
# end of DFU driver
# #
# VENDOR driver # VENDOR driver
# #
......
esp-idf: v4.4.4 e8bdaf9198 esp-idf: v4.4.4 e8bdaf9198
arduino: release/v2.x 2d7218b8 arduino: release/v2.x bdbfc45c
esp-dl: master 0632d24 esp-dl: master 0632d24
esp-insights: main d8b2dfc esp-insights: main d8b2dfc
esp-rainmaker: master cc861bf esp-rainmaker: master cc861bf
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment