Cypress网站上有个 CYPD1XXX_CYPD2XXX Programming Specification,照着这个文档的流程,一开始就是XRES复位,然后:
Do
{
SWD_LineReset();
ack = Read_DAP ( IDCODE, out ID);
}While ((ack != 3b?001) && time_elapsed < 2.0 ms); //for PowerCycle timeout must be longer. For example ~30 ms.
SWD_LineReset();做的是58个SWDCK周期内SWDIO为高,跟着3个周期的低,然后再拉高SWDIO。
然后再发起 Read_DAP ( IDCODE, out ID);命令,
发的序列是:
1(Start)-0(APnDP)-1(RnW)-0(A2)-0(A3)-1(Parity)-0(Stop)-1(Park)....
然后就开始抓ack和数据。可以SWDIO上始终都是高电平,芯片并没有任何反应。
有没有做个这个芯片的编程的? 这种情况可能是什么问题? |