问题 CH32V003F4P6开发板发现通过MounRiver Studio下载程序后可以运行,断电再上电就无法运行了。 回想以前曾经给此开发板下载过沁恒官方的USART_IAP; 注意是划红线的工程。其中代码中有一句 PC0_Check(); 当PC0引脚低电平时运行用户程序。如果下载了CH32V003_IAP代码,再通过SWIO 引脚下载任何用户APP,则必须使能PC0=0方可运行。 为了恢复断电再上电自动运行,需要恢复单片机出厂固件。 通过WCH-LinkUtility软件使用WCH_LINKE连接没有刷过USART_IAP固件的CH32V003开发板,读取芯片内出厂boot固件,具体设置如图: 其中2、3和4的设置参见CH32V003 数据手册1.2 存储器映射表。 由图可见BOOT代码存放在0x1FFF F000到0x1FFF F780之间,合计1920字节。 保存读取上来的数据位bin文件。 咋一看读取上的是16进制数据,软件上并没有相应的保存按钮。 此时把鼠标放在16进制数据区内,然后点击右键,会弹出保存文件菜单。 编写有意义的名字保存,以便后面烧写用。 烧写原厂固件 使用WCH_LINKE连接要恢复固件的CH32V003开发板,点击打开固件按钮,如图: 选择前一步保存的固件文件,以bin结尾的文件 把烧写地址设置成 具体步骤如图,进行烧写。 待进度条结束烧写完成。 恢复固件后,要把烧写地址恢复成800 0000。