46 lines
1.3 KiB
C
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_ */
|