CH579/CH573/CH583 上從應用中跳轉到芯片的bootlaoder的方法


前言


適用芯片:

  • 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);
}



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM