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