mirror of
https://github.com/taubel/sdk-ameba-v4.0b-gcc.git
synced 2026-07-14 07:15:39 +00:00
initial commit
This commit is contained in:
commit
60a7afcc83
2528 changed files with 1001987 additions and 0 deletions
97
component/soc/realtek/8195a/misc/platform/ota_8195a.h
Normal file
97
component/soc/realtek/8195a/misc/platform/ota_8195a.h
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
#ifndef OTA_8195A_H
|
||||
#define OTA_8195A_H
|
||||
|
||||
#include <FreeRTOS.h>
|
||||
#include <task.h>
|
||||
#include <platform_stdlib.h>
|
||||
#include <flash_api.h>
|
||||
#include <lwip/sockets.h>
|
||||
|
||||
/************************Related setting****************************/
|
||||
#define HTTP_OTA_UPDATE //if define, using http protocol, if not, will use socket
|
||||
#define CONFIG_CUSTOM_SIGNATURE 0 //if verify the custom signature(define in ota_8195a.c cus_sig)
|
||||
#define WRITE_OTA_ADDR 1
|
||||
#define SWAP_UPDATE 0
|
||||
|
||||
|
||||
#define BUF_SIZE 512
|
||||
#define HEADER_BAK_LEN 32
|
||||
|
||||
#define OFFSET_DATA FLASH_SYSTEM_DATA_ADDR
|
||||
#define IMAGE_2 0x0000B000
|
||||
#if WRITE_OTA_ADDR
|
||||
#define BACKUP_SECTOR (FLASH_SYSTEM_DATA_ADDR - 0x1000)
|
||||
#endif
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/****************Define the structures used*************************/
|
||||
typedef struct{
|
||||
uint32_t ip_addr;
|
||||
uint16_t port;
|
||||
}update_cfg_local_t;
|
||||
|
||||
typedef struct {
|
||||
uint32_t status_code;
|
||||
uint32_t header_len;
|
||||
uint8_t *body;
|
||||
uint32_t body_len;
|
||||
uint8_t *header_bak;
|
||||
uint32_t parse_status;
|
||||
} http_response_result_t;
|
||||
|
||||
typedef union {
|
||||
uint32_t u;
|
||||
unsigned char c[4];
|
||||
} _file_checksum;
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/****************General functions used by ota update***************/
|
||||
void *update_malloc(unsigned int size);
|
||||
void update_free(void *buf);
|
||||
void ota_platform_reset(void);
|
||||
#if WRITE_OTA_ADDR
|
||||
int write_ota_addr_to_system_data(flash_t *flash, uint32_t ota_addr);
|
||||
#endif
|
||||
int update_ota_connect_server(int server_socket, update_cfg_local_t *cfg);
|
||||
uint32_t update_ota_prepare_addr(void);
|
||||
#if SWAP_UPDATE
|
||||
uint32_t update_ota_swap_addr(uint32_t img_len, uint32_t NewImg2Addr);
|
||||
#endif
|
||||
int update_ota_erase_upg_region(uint32_t img_len, uint32_t NewImg2Len, uint32_t NewImg2Addr);
|
||||
int update_ota_checksum(_file_checksum *file_checksum, uint32_t flash_checksum, uint32_t NewImg2Addr);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/*******************Functions called by AT CMD**********************/
|
||||
void cmd_update(int argc, char **argv);
|
||||
void cmd_ota_image(bool cmd);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************************************
|
||||
** Function Name : update_ota_local
|
||||
** Description : Starting a thread of OTA updating through socket
|
||||
** Input : ip:The IP address of OTA server
|
||||
** port:The Port of OTA server
|
||||
** Return : 0: Task created OK
|
||||
** -1: Task created failed
|
||||
**************************************************************************************************/
|
||||
int update_ota_local(char *ip, int port);
|
||||
|
||||
|
||||
#ifdef HTTP_OTA_UPDATE
|
||||
int parse_http_response(uint8_t *response, uint32_t response_len, http_response_result_t *result);
|
||||
int update_ota_http_connect_server(int server_socket, char *host, int port);
|
||||
|
||||
/*************************************************************************************************
|
||||
** Function Name : http_update_ota
|
||||
** Description : The process of OTA updating through http protocol
|
||||
** Input : cfg:struct update_cfg_local_t
|
||||
** Return : NULL
|
||||
**************************************************************************************************/
|
||||
int http_update_ota(char *host, int port, char *resource);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue