fix reload Boot
This commit is contained in:
parent
bdf68e2160
commit
2fa2d00f9a
16 changed files with 12777 additions and 12779 deletions
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Binary file not shown.
BIN
bin/TH05_v09.bin
BIN
bin/TH05_v09.bin
Binary file not shown.
BIN
bin/THB2_v09.bin
BIN
bin/THB2_v09.bin
Binary file not shown.
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -44,24 +44,24 @@
|
|||
#endif
|
||||
|
||||
// supported services by the device (bits)
|
||||
#define SERVICE_OTA 0x00000001
|
||||
#define SERVICE_OTA_EXT 0x00000002
|
||||
#define SERVICE_PINCODE 0x00000004 // пока нет
|
||||
#define SERVICE_BINDKEY 0x00000008 // пока нет
|
||||
#define SERVICE_HISTORY 0x00000010
|
||||
#define SERVICE_SCREEN 0x00000020
|
||||
#define SERVICE_LE_LR 0x00000040 // пока нет
|
||||
#define SERVICE_THS 0x00000080
|
||||
#define SERVICE_RDS 0x00000100 // пока нет
|
||||
#define SERVICE_KEY 0x00000200
|
||||
#define SERVICE_OUTS 0x00000400 // пока нет
|
||||
#define SERVICE_INS 0x00000800 // пока нет
|
||||
#define SERVICE_TIME_ADJUST 0x00001000 // пока нет
|
||||
#define SERVICE_HARD_CLOCK 0x00002000 // пока нет
|
||||
#define SERVICE_OTA 0x00000001 // есть функция OTA
|
||||
#define SERVICE_OTA_EXT 0x00000002 // есть расширенная функция OTA
|
||||
#define SERVICE_PINCODE 0x00000004 // пока нет: есть установка pin-code
|
||||
#define SERVICE_BINDKEY 0x00000008 // пока нет: есть шифрование
|
||||
#define SERVICE_HISTORY 0x00000010 // есть запись истории
|
||||
#define SERVICE_SCREEN 0x00000020 // есть экран
|
||||
#define SERVICE_LE_LR 0x00000040 // пока нет: Есть поддержка рекламы в LE Long Range
|
||||
#define SERVICE_THS 0x00000080 // есть датчик температуры и влажности
|
||||
#define SERVICE_RDS 0x00000100 // пока нет есть обслуживние геркона/счета импульсов
|
||||
#define SERVICE_KEY 0x00000200 // есть кнопка
|
||||
#define SERVICE_OUTS 0x00000400 // пока нет: есть обслуживние выходных пинов
|
||||
#define SERVICE_INS 0x00000800 // пока нет: есть обслуживние входных пинов
|
||||
#define SERVICE_TIME_ADJUST 0x00001000 // пока нет: есть функция коррекции счета времени
|
||||
#define SERVICE_HARD_CLOCK 0x00002000 // пока нет: есть реальные часы RTC
|
||||
|
||||
#define OTA_TYPE_NONE 0 // нет OTA, только переключение из APP на boot прошивку
|
||||
#define OTA_TYPE_BOOT SERVICE_OTA // вариант для прошивки boot + OTA
|
||||
#define OTA_TYPE_APP SERVICE_OTA_EXT // не реализовано
|
||||
#define OTA_TYPE_APP SERVICE_OTA_EXT // пока не реализовано
|
||||
|
||||
#ifndef OTA_TYPE
|
||||
#define OTA_TYPE OTA_TYPE_NONE
|
||||
|
|
@ -199,9 +199,9 @@ typedef struct _cfg_t {
|
|||
extern cfg_t cfg;
|
||||
extern const cfg_t def_cfg;
|
||||
|
||||
#define FLG_MEAS_NOTIFY 1 // включить Notify измерений
|
||||
#define FLG_SHOW_TIME 2 // включить показ часов на LCD
|
||||
|
||||
#define FLG_MEAS_NOTIFY 0x00000001 // включить Notify измерений
|
||||
#define FLG_SHOW_TIME 0x00000002 // включить показ часов на LCD
|
||||
#define FLG_ADV_CRYPT 0x00000004 // Зашифрованная BLE реклама (bindkey)
|
||||
|
||||
typedef struct _adv_work_t {
|
||||
uint32_t measure_interval_ms;
|
||||
|
|
@ -220,8 +220,8 @@ typedef struct _work_parm_t {
|
|||
#if (DEV_SERVICES & SERVICE_SCREEN)
|
||||
uint8_t lcd_count;
|
||||
#endif
|
||||
uint8_t reboot; // reboot on disconnect
|
||||
uint8_t boot_flg;
|
||||
uint8_t reboot; // reboot on disconnect, записывается в [OTA_MODE_SELECT_REG]
|
||||
uint8_t boot_flg; // байт из [OTA_MODE_SELECT_REG]
|
||||
} work_parm_t;
|
||||
extern work_parm_t wrk;
|
||||
|
||||
|
|
|
|||
|
|
@ -408,7 +408,6 @@ signed short flash_read_cfg(void *ptr, unsigned short id, unsigned short maxsize
|
|||
if (faddr >= FMEM_ERROR_MAX) {
|
||||
if (maxsize != 0 && ptr != NULL)
|
||||
_flash_read(faddr + fobj_head_size, mMIN(fobj.n.size, maxsize), ptr);
|
||||
|
||||
#if CONFIG_DEBUG_LOG > 3
|
||||
DBG_FEEP_INFO("read ok, faddr: %p, size: %d\n", faddr, fobj.n.size);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -305,7 +305,6 @@ static void hal_init(void) {
|
|||
hal_spif_cache_init(SYS_CLK_DLL_64M, XFRD_FCMD_READ_DUAL);
|
||||
hal_gpio_init();
|
||||
LOG_INIT();
|
||||
//hal_fs_init(0x1103C000, 2);
|
||||
hal_adc_init();
|
||||
}
|
||||
|
||||
|
|
@ -319,7 +318,6 @@ int main(void) {
|
|||
memcpy((void*) 0x1fff0000, (void*) jump_table_base, 1024);
|
||||
#endif
|
||||
wrk.boot_flg = (uint8_t)read_reg(OTA_MODE_SELECT_REG);
|
||||
write_reg(OTA_MODE_SELECT_REG, 0);
|
||||
#if defined(OTA_TYPE) && OTA_TYPE == OTA_TYPE_BOOT
|
||||
if (wrk.boot_flg != BOOT_FLG_OTA
|
||||
#if (DEV_SERVICES & SERVICE_KEY)
|
||||
|
|
@ -329,7 +327,8 @@ int main(void) {
|
|||
spif_config(SYS_CLK_DLL_64M, 1, XFRD_FCMD_READ_DUAL, 0, 0);
|
||||
AP_PCR->CACHE_BYPASS = 1; // just bypass cache
|
||||
startup_app();
|
||||
}
|
||||
} else
|
||||
write_reg(OTA_MODE_SELECT_REG,0);
|
||||
#endif
|
||||
|
||||
watchdog_config(WDG_2S);
|
||||
|
|
|
|||
|
|
@ -516,6 +516,6 @@ void wrk_notify(void) {
|
|||
}
|
||||
}
|
||||
} else
|
||||
osal_start_timerEx(simpleBLEPeripheral_TaskID, WRK_NOTIFY_EVT, 30);
|
||||
osal_start_timerEx(simpleBLEPeripheral_TaskID, WRK_NOTIFY_EVT, (DEFAULT_DESIRED_MIN_CONN_INTERVAL *125)/100);
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue