CH554烧录例程S_CDC后,再次上电不能进入Bootloader

CH554烧录例程S_CDC后,再次上电不能进入Bootloader,疑似Bootloader被擦除。


过程如下:

新片CH554T,搭最小系统板,VCC和V33对地接10uF陶瓷电容,VBUS/DM/DP/GND依次与USB电缆接好。(P36未接下载开关电路)


复制例程S_CDC,编译,开启WCHISPTool。

USB接PC,顺利找到设备,用WCHISPTool开始USB下载,擦除成功,编程后出现一段红字,没在意,也记不清内容了。有别的事,暂时中断了。


后来查文档,搭电路的时候忽略了P36的下载开关电路,补上22k电阻+按钮开关。

严格按教程操作,USB下载找不到设备,意外的在系统设备管理器发现“USB串行设备(COM7)”。

赶紧试试这个串口,短接P16和P17,用超级终端打开COM7,自发自收,功能正常。再接PL2303,开两个超级终端,互相发送和接收,功能也正常。

说明代码已经正常下进去了,并且功能正常。


接下来,还是要把正常烧写调通。

尝试了按住下载开关,再接电脑USB上电,WCHISPTool找不到USB设备。仍然出现串口设备。

再尝试,按住下载开关,从外供电5V,WCHISPTool通过P16/P17烧写,报握手失败。

再尝试,先点下载,按住下载开关,从外供电5V,仍然报握手失败。


这时候感觉Bootloader根本没运行起来,怀疑被第一次烧写程序冲掉了。


问题:

1. Bootloader烧写用户程序的时候,有没有改写复位向量?

    如果没有改写,用户代码会覆盖复位向量,bootloader仅能使用一次。

2. 烧写用户程序时,需要注意哪些问题,避免bootloader被冲掉?

3. Bootloader被冲掉的芯片,用户如何通过RST/P14/P17/P16再次编程?从官网和论坛没有找到编程协议。

    如果不能再次编程,该芯片就成废品了。

4. 官方可否提供bootloader的HEX文件,客户可以用第3问恢复bootloader?


                                     

CH554烧录例程S_CDC后,再次上电不能进入Bootloader,疑似Bootloader被擦除。


过程如下:

新片CH554T,搭最小系统板,VCC和V33对地接10uF陶瓷电容,VBUS/DM/DP/GND依次与USB电缆接好。(P36未接下载开关电路)


复制例程S_CDC,编译,开启WCHISPTool。

USB接PC,顺利找到设备,用WCHISPTool开始USB下载,擦除成功,编程后出现一段红字,没在意,也记不清内容了。有别的事,暂时中断了。


后来查文档,搭电路的时候忽略了P36的下载开关电路,补上22k电阻+按钮开关。

严格按教程操作,USB下载找不到设备,意外的在系统设备管理器发现“USB串行设备(COM7)”。

赶紧试试这个串口,短接P16和P17,用超级终端打开COM7,自发自收,功能正常。再接PL2303,开两个超级终端,互相发送和接收,功能也正常。

说明代码已经正常下进去了,并且功能正常。


接下来,还是要把正常烧写调通。

尝试了按住下载开关,再接电脑USB上电,WCHISPTool找不到USB设备。仍然出现串口设备。

再尝试,按住下载开关,从外供电5V,WCHISPTool通过P16/P17烧写,报握手失败。

再尝试,先点下载,按住下载开关,从外供电5V,仍然报握手失败。


这时候感觉Bootloader根本没运行起来,怀疑被第一次烧写程序冲掉了。


问题:

1. Bootloader烧写用户程序的时候,有没有改写复位向量?

    如果没有改写,用户代码会覆盖复位向量,bootloader仅能使用一次。

2. 烧写用户程序时,需要注意哪些问题,避免bootloader被冲掉?

3. Bootloader被冲掉的芯片,用户如何通过RST/P14/P17/P16再次编程?从官网和论坛没有找到编程协议。

    如果不能再次编程,该芯片就成废品了。

4. 官方可否提供bootloader的HEX文件,客户可以用第3问恢复bootloader?


           



根据您的描述,您可能是对554空片下载程序,如果554没有应用程序的话上电的时候会直接进入bootloader。这种情况下,下载的程序会成功烧入FLASH,但是烧写成功标志位不会置位,在上位机ISP工具读数据的时候会有校验失败的庆康,也就是您开始提到的一串红字。

芯片的bootloader应该没有被擦除的,如果没有下载成功的话建议检查您的应用电路。

注意检查一下几点:

554电源管脚的滤波电容是否正常,5V供电与3V3供电不太一样,

P36上拉电阻的接法是否正确,如果P36对5V上拉的话需要接20K左右的上拉,如果对3V3上拉的话,上拉电阻需要10K左右。

如果上述两点仍然未解决您的问题,欢迎邮件rz@wch.cn 或致电我司技术支持:025- 52638376,52638373,52638370



请大家注意,这是比较典型的错误操作,大家可以引以为鉴。


1、默认出厂芯片都内置BOOT,支持串口和USB下载。

2、CH554首次下载,P36不接高能进BOOT,程序流程是(上电运行BOOT,P36不为高,跳出BOOT,运行用户程序,用户程序为空,所以程序会一直往后运行,从用户跳转至BOOT),所以ISP工具可以找到设备并下载;

   但是从用户程序跳转到BOOT,不支持修改配置位(在BOOT区域0x3800),所以ISP最后会报“红字”异常,修改配置位失败。

3、CH554 FLash是按照字节读写的,ISP下载的时候不会主动擦BOOT,所以基本能排除BOOT被擦,这个猜想有想法但是不合理。

4、编程器不提供,这颗芯片BOOT应该还在,应该只是操作不当导致不能进入BOOT。

5、为了其他客户的代码安全,BOOT HEX文件也不可能提供。

6、正常操作流程是(冷启动,芯片完全断电情况下,CH554上电时,P36接高(不能大于3.3V),为了不影响USB通讯(上拉电阻建议不小于20K)),此时芯片BOOT检测到P36高电平,运行BOOT,等待下载。

   查看设备管理器-》外部接口-》USB-Model.

   查看ISP工具,选择芯片型号CH554,设备列表可以找到设备,如果设备管理器里面有设备,但是ISP工具列表没有设备,一是查看芯片型号选择是否正确,二是可以关闭ISP工具,然后重新打开。



                           

根据您的描述,您可能是对554空片下载程序,如果554没有应用程序的话上电的时候会直接进入bootloader。这种情况下,下载的程序会成功烧入FLASH,但是烧写成功标志位不会置位,在上位机ISP工具读数据的时候会有校验失败的庆康,也就是您开始提到的一串红字。

芯片的bootloader应该没有被擦除的,如果没有下载成功的话建议检查您的应用电路。

注意检查一下几点:

554电源管脚的滤波电容是否正常,5V供电与3V3供电不太一样,

P36上拉电阻的接法是否正确,如果P36对5V上拉的话需要接20K左右的上拉,如果对3V3上拉的话,上拉电阻需要10K左右。

如果上述两点仍然未解决您的问题,欢迎邮件rz@wch.cn 或致电我司技术支持:025- 52638376,52638373,52638370


                       


已找到原因,是我原理图没有看仔细,想当然的认为P36是下拉。改为上拉后可正常编程。

新建位图图像 (2).png


不过这原理图有点坑,很少有人会把电源网络按照地线的方式向下放置。而且旁边还有元件参数干扰。

电源一般都放在电路上方或侧面,符号一般都是向上的。

地线与电源相反,一般都放在电路下方或侧面,符号一般都是向下的。



                           

不过这原理图有点坑,很少有人会把电源网络按照地线的方式向下放置。而且旁边还有元件参数干扰。

电源一般都放在电路上方或侧面,符号一般都是向上的。

地线与电源相反,一般都放在电路下方或侧面,符号一般都是向下的。


                       

感谢您的建议,我们将在下一版中作出改进。


只有登录才能回复,可以选择微信账号登录