Go to the documentation of this file.
48 #ifndef __GR55XX_DFU_H__
49 #define __GR55XX_DFU_H__
56 #define DFU_ADV_MAX_LENGTH 18
57 #define RECEIVE_MAX_LEN 2048
61 #define DFU_WRITE_RAM_DISABLE 0x0001
62 #define DFU_READ_RAM_DISABLE 0x0002
63 #define DFU_DUMP_FLASH_DISABLE 0x0004
64 #define DFU_ERASE_FLASH_DISABLE 0x0008
65 #define DFU_UPDAE_FLASH_DISABLE 0x0010
66 #define DFU_OPERATE_SYSTEM_INFO_DISABLE 0x0020
67 #define DFU_OPERATE_NVDS_DISABLE 0x0040
68 #define DFU_OPERATE_EFUSE_DISABLE 0x0080
69 #define DFU_CONFIG_SPI_FLASH_DISABLE 0x0100
70 #define DFU_OPERATE_REG_DISABLE 0x0200
197 void (*dfu_ble_send_data)(uint8_t *p_data, uint16_t length);
198 void (*dfu_uart_send_data)(uint8_t *p_data, uint16_t length);
199 uint32_t (*dfu_flash_read)(
const uint32_t addr, uint8_t *p_buf,
const uint32_t size);
200 uint32_t (*dfu_flash_write)(
const uint32_t addr,
const uint8_t *p_buf,
const uint32_t size);
201 bool (*dfu_flash_erase)(
const uint32_t addr,
const uint32_t size);
202 bool (*dfu_flash_erase_chip)(void);
203 void (*dfu_flash_set_security)(
bool enable);
204 bool (*dfu_flash_get_security)(void);
205 void (*dfu_flash_get_info)(uint32_t *id, uint32_t *size);
211 void (*dfu_spi_flash_init)(uint8_t *p_data);
212 uint32_t (*dfu_spi_flash_read)(uint32_t addr, uint8_t *buf, uint32_t size);
213 uint32_t (*dfu_spi_flash_write)(uint32_t addr, uint8_t *buf, uint32_t size);
214 bool (*dfu_spi_flash_erase)(uint32_t addr, uint32_t size);
215 bool (*dfu_spi_flash_erase_chip)(void);
216 void (*dfu_spi_flash_get_info)(uint32_t *id, uint32_t *size);
223 void (*dfu_program_start_callback)(void);
224 void (*dfu_programing_callback)(uint8_t pro);
225 void (*dfu_program_end_callback)(uint8_t status);
dfu_uart_pin_group_t pin_group
Definition: gr55xx_dfu.h:167
void dfu_init(dfu_func_t *p_app_dfu_func, uint8_t *p_dfu_buffer, dfu_pro_callback_t *p_dfu_callback)
Function for initializing the DFU Used and Program State Callback.
#define DFU_ADV_MAX_LENGTH
Definition: gr55xx_dfu.h:56
void dfu_set_disable_cmd(uint16_t disable_cmd_bit_map)
Function for set DFU disable cmd.
uint32_t load_addr
Definition: gr55xx_dfu.h:145
uint32_t code_copy_mode
Definition: gr55xx_dfu.h:150
@ DFU_UART_PARITY_ODD
Definition: gr55xx_dfu.h:111
DFU used functions config definition.
Definition: gr55xx_dfu.h:196
void dfu_ble_receive_data_process(uint8_t *p_data, uint16_t length)
This function should be called when BLE receives data.
@ DFU_UART_STOP_BIT_1_5
Definition: gr55xx_dfu.h:103
@ DFU_UART_PIN_GROUP_0
Definition: gr55xx_dfu.h:120
DFU uart config definition.
Definition: gr55xx_dfu.h:161
@ DFU_UART_BAUDRATE_9600
Definition: gr55xx_dfu.h:81
@ DFU_UART_PIN_GROUP_3
Definition: gr55xx_dfu.h:123
void dfu_uart_receive_data_process(uint8_t *p_data, uint16_t length)
This function should be called when UART receives data.
void dfu_start_jump(uint32_t start_addr)
Function for jumping to address to run.
@ DFU_UART_DATA_BIT_5
Definition: gr55xx_dfu.h:93
DFU NVDS init info definition.
Definition: gr55xx_dfu.h:180
dfu_uart_parity_bit_t parity
Definition: gr55xx_dfu.h:166
@ DFU_UART_PARITY_SP_1
Definition: gr55xx_dfu.h:114
dfu_uart_data_bit_t data_bit
Definition: gr55xx_dfu.h:164
uint32_t xqspi_speed
Definition: gr55xx_dfu.h:149
uint32_t boot_delay
Definition: gr55xx_dfu.h:153
void dfu_ble_set_mtu_size(uint16_t mtu_size)
Function for setting the BLE MTU size.
@ DFU_UART_BAUDRATE_921600
Definition: gr55xx_dfu.h:87
void dfu_ble_send_data_cmpl_process(void)
This function should be called when BLE stack sends data completely.
uint32_t bin_size
Definition: gr55xx_dfu.h:143
@ DFU_UART_PARITY_SP_0
Definition: gr55xx_dfu.h:113
dfu_uart_stop_bit_t
UART stop bit definition.
Definition: gr55xx_dfu.h:101
dfu_uart_parity_bit_t
UART parity definition.
Definition: gr55xx_dfu.h:109
void dfu_start_set(dfu_uart_info_t *p_dfu_uart_info, dfu_adv_name_info_t *p_dfu_adv_name_info, dfu_nvds_info_t *p_dfu_nvds_info)
Function for set the default DFU bootloader informatica(Only available for GR5515_D Chip).
@ DFU_UART_BAUDRATE_230400
Definition: gr55xx_dfu.h:86
@ DFU_UART_BAUDRATE_19200
Definition: gr55xx_dfu.h:82
dfu_info_state state
Definition: gr55xx_dfu.h:189
dfu_uart_stop_bit_t stop_bits
Definition: gr55xx_dfu.h:165
@ DFU_UART_STOP_BIT_1
Definition: gr55xx_dfu.h:102
dfu_info_state
DFU informatica status.
Definition: gr55xx_dfu.h:130
@ DFU_INFO_DISABLE
Definition: gr55xx_dfu.h:131
void dfu_schedule(void)
Function for checking DFU cmd.
dfu_info_state state
Definition: gr55xx_dfu.h:162
@ DFU_UART_BAUDRATE_115200
Definition: gr55xx_dfu.h:85
uint16_t page_size
Definition: gr55xx_dfu.h:182
void dfu_start_default(dfu_uart_info_t *p_dfu_uart_info, dfu_adv_name_info_t *p_dfu_adv_name_info, dfu_nvds_info_t *p_dfu_nvds_info)
Function for starting the default DFU bootloader(Only available for GR5515_D Chip).
@ DFU_UART_DATA_BIT_7
Definition: gr55xx_dfu.h:95
@ DFU_UART_PIN_GROUP_2
Definition: gr55xx_dfu.h:122
uint32_t run_addr
Definition: gr55xx_dfu.h:146
@ DFU_INFO_DEFAULT
Definition: gr55xx_dfu.h:133
@ DFU_UART_BAUDRATE_38400
Definition: gr55xx_dfu.h:83
void dfu_start_address(boot_info_t *p_boot_info)
Function for changing the boot info and reseting device.
dfu_uart_pin_group_t
UART pin group definition.
Definition: gr55xx_dfu.h:119
uint32_t check_sum
Definition: gr55xx_dfu.h:144
@ DFU_UART_PIN_GROUP_1
Definition: gr55xx_dfu.h:121
uint16_t adv_name_length
Definition: gr55xx_dfu.h:175
dfu_uart_data_bit_t
UART data bit definition.
Definition: gr55xx_dfu.h:92
dfu_info_state state
Definition: gr55xx_dfu.h:173
@ DFU_UART_PARITY_EVEN
Definition: gr55xx_dfu.h:112
dfu_uart_baudrate_t
UART baudrate definition.
Definition: gr55xx_dfu.h:80
void dfu_spi_flash_func_config(dfu_spi_flash_func_t *spi_flash_func)
Function for initializing the DFU SPI Flash Callback.
dfu_uart_baudrate_t baud_rate
Definition: gr55xx_dfu.h:163
uint16_t cmd_bit_map
Definition: gr55xx_dfu.h:190
@ DFU_UART_DATA_BIT_6
Definition: gr55xx_dfu.h:94
BootLoader information definition.
Definition: gr55xx_dfu.h:142
@ DFU_UART_STOP_BIT_2
Definition: gr55xx_dfu.h:104
uint32_t check_image
Definition: gr55xx_dfu.h:152
uint32_t start_address
Definition: gr55xx_dfu.h:183
DFU Advertisement name config definition.
Definition: gr55xx_dfu.h:172
uint32_t xqspi_xip_cmd
Definition: gr55xx_dfu.h:147
SPI used functions config definition.
Definition: gr55xx_dfu.h:210
@ DFU_UART_BAUDRATE_57600
Definition: gr55xx_dfu.h:84
uint32_t is_dap_boot
Definition: gr55xx_dfu.h:154
uint32_t system_clk
Definition: gr55xx_dfu.h:151
DFU program state callback definition.
Definition: gr55xx_dfu.h:222
dfu_info_state state
Definition: gr55xx_dfu.h:181
void dfu_cmd_parse_state_reset(void)
Function for reset the DFU cmd parse state.
@ DFU_UART_PARITY_NONE
Definition: gr55xx_dfu.h:110
@ DFU_UART_PIN_GROUP_5
Definition: gr55xx_dfu.h:125
@ DFU_INFO_ENABLE
Definition: gr55xx_dfu.h:132
DFU cmd disable info definition.
Definition: gr55xx_dfu.h:188
@ DFU_UART_DATA_BIT_8
Definition: gr55xx_dfu.h:96
uint32_t reserved
Definition: gr55xx_dfu.h:155
@ DFU_UART_PIN_GROUP_4
Definition: gr55xx_dfu.h:124