前言
適用芯片:
- CH579/ch578/ch577
- CH573/CH571
在CH579/CH578/CH577 上
跳轉到bootloader
應用中跳轉到bootlaoder
//下面代碼放到main 函數開始的地方
//示例程序是 通過讀取兩次PA5 都為低電平才會跳轉
GPIOA_ModeCfg(GPIO_Pin_5, GPIO_ModeIN_PU);
if(!GPIOA_ReadPortPin(GPIO_Pin_5)) {
DelayMs(2);
if(!GPIOA_ReadPortPin(GPIO_Pin_5)) {
GPIOA_ModeCfg(GPIO_Pin_5, GPIO_ModeIN_Floating);
EnterCodeUpgrade();
}
}
GPIOA_ModeCfg(GPIO_Pin_5, GPIO_ModeIN_Floating);
在CH573/CH571
void EnterCodeUpgrade (void) {
FLASH_ROM_LOCK(0);
FLASH_ROM_ERASE( 0, 4096 );
R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG1;
R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG2;
R16_INT32K_TUNE = 0xFFFF;
R8_RST_WDOG_CTRL |= RB_SOFTWARE_RESET;
R8_SAFE_ACCESS_SIG = 0;
while(1);
}