Files
banban/ql-bootloader/updater/inc/2ndboot.h
T

46 lines
1.3 KiB
C

/*
* Copyright (C) 2015-2017 Alibaba Group Holding Limited
*/
#ifndef _2ND_BOOT_HAL_H_
#define _2ND_BOOT_HAL_H_
//#include "aos/hal/flash.h"
#include "flash.h"
#include "updater.h"
#define SECTOR_SIZE 0x1000 /* flash sector size */
#ifndef OTA_2NDBOOT_WDG_TIMEOUT
#define OTA_2NDBOOT_WDG_TIMEOUT 120
#endif
#define ROUND_DOWN(a,b) (((a) / (b)) * (b))
#define FLASH_ALIGN_MASK ~(sizeof(unsigned int) - 1)
#define FLASH_ALIGN sizeof(unsigned int)
/* system APIs */
#if 0
void sys_reboot(void);
void sys_delayms(volatile int ms);
#else
extern void updater_delay_ms(unsigned int ms);
extern void PMIC_SW_RESET(void);
#endif
/* uart APIs */
void uart_init(void);
void uart_send(unsigned char *buf, int len);
void uart_send_string(char *buf);
unsigned char uart_recv_byte(unsigned char *c);
void uart_send_byte(unsigned char buf);
/* flash APIs */
int flash_erase(unsigned int offset, unsigned int len);
int flash_read_data(unsigned int offset, unsigned char *buf, unsigned int len);
int flash_write_data(unsigned int offset, unsigned char *buf, unsigned int len);
hal_logic_partition_t *flash_get_info(hal_partition_t no);
/* watchdog APIs */
void wdg_init(unsigned int ms);
void wdg_feed(void);
void wdg_finish(void);
#endif /* _2ND_BOOT_HAL_H_ */