英飞凌
直播中

李颜

7年用户 1349经验值
私信 关注
[问答]

PSOC4通过外部MCU模拟SWD烧录固件失败了,怎么解决?

我正在尝试通过外部的MCU模拟SWD接口向PSOC4芯片烧写固件,遇到了一些问题,情况如下:
    芯片型号:CY8C4014LQI-421
    参考的SWD代码:AN84858/A_Hssp_Programmer.cydsn
   我们的芯片没有XRES,通过控制电源进入烧录模式。
   参考AN84858移植,现在状态是能够正常进入烧录模式 控制SWDCLK/SWDIO翻转,读取。SWDCLK可以达到3M。
   执行LineReset后,可以正常获取IDCode。

现在的问题是:在PollSromStatus 阶段 Read_IO(CPUSS_SYSREQ,  statusCode) 时 会出现ACK_FAULT,请问接下来应该怎么排查这个问题?




附:逻辑分析仪数据

回帖(1)

手托初梦

2024-7-2 17:07:43
以下是一些建议来解决这个问题:

1. 检查硬件连接:确保SWDCLK和SWDIO引脚连接正确,没有接触不良或短路问题。

2. 检查SWD时钟频率:虽然您提到SWDCLK可以达到3M,但请确保这个频率在PSOC4芯片的允许范围内。如果超出范围,可能会导致通信问题。

3. 检查MCU代码:仔细检查您移植的AN84858代码,确保没有遗漏或错误。特别是PollSromStatus函数和Read_IO函数的实现。

4. 检查固件版本:确保您使用的PSOC4芯片固件版本与AN84858代码兼容。如果不兼容,可能会导致烧录失败。

5. 使用调试工具:使用逻辑分析仪或其他调试工具观察SWDCLK和SWDIO的信号,以确保它们在正确的时间翻转。

6. 尝试其他烧录方法:如果问题仍然存在,您可以尝试使用其他烧录方法,如使用PSOC4的官方编程器或第三方烧录工具。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分