CH573 CH582 用户程序跳转进BOOT
2022/2/10 22:16:08
本文主要是介绍CH573 CH582 用户程序跳转进BOOT,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
使用CH573 CH58x完成的APP代码很有可能需要进行升级,借助BOOT进行升级的话,可以通过APP跳转进入BOOT,借助芯片自带的BOOT和ISP工具,进行升级(支持串口1和USB下载)
跳转实现的代码,BOOT中有一段功能,如果APP起始的至少4字节是默认(无main跳转地址),则认为此芯片无app代码,停在BOOT中等下载,BOOT超时时间10s
具体代码实现
while(1) { PRINT("go \n"); mDelaymS(30); if((GPIOB_ReadPortPin(GPIO_Pin_22)) == 0){ //自定义跳转条件,PB22低电平调用跳转函数 PRINT("Jump BOOT \n"); APPJumpBoot(); } }
__HIGH_CODE void APPJumpBoot(void) //此段代码必须运行在RAM中 { while(FLASH_ROM_ERASE(0,EEPROM_BLOCK_SIZE)) { ;//ROM 擦4K1个单位,擦0地址起始 } FLASH_ROM_SW_RESET(); R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG1; R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG2; SAFEOPERATE; R16_INT32K_TUNE = 0xFFFF; R8_RST_WDOG_CTRL |= RB_SOFTWARE_RESET; R8_SAFE_ACCESS_SIG = 0;//进入后执行复位,复位类型为上电复位 while(1);//营造空片的现象,启动时就会停在BOOT,等烧写,超时时间10s }
运行结果
这篇关于CH573 CH582 用户程序跳转进BOOT的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升