我们的芯片使用的是M3内核,最初是可以通过J-LINK连接上SWD接口的。但是在我们使用Keil通过SWD接口对系统内部的eFlash擦除(Erase done)和下载程序(提示下载失败)后,通过J-LINK却找不到SWD端口了;
在连接J-LINK找不到SWD接口的情况下,通过PC CMD发出命令,可以确定当前在找不到SWD接口的情况下,可以读出DPIDR,但是向DP的CTRL/STAT写0x50000000却提示失败,读取CTRL/STAT的值,数据为0xF0000000。访问不了AP;
我们系统上是将CPU的HCLK和FCLK连接为同一个时钟,即“内核/系统时钟”。之前怀疑过是不是HCLK不知道什么原因没有了。但是我们在芯片的测试模式下发现,时钟源是存在的,并且在j-link找不到的情况下,仍旧可以通过PC CMD发出命令读取DP寄存器,而读取DP寄存器的值是需要FCLK的;
向CTRL/STAT写入0x50000000,提示失败,但是读取CTRL/STAT寄存器的值,却发现是0xF0000000,这能说明POWERUP是否成功了呢?
如果CPU Lockup了,这个现象呢?
还有什么原因可以导致这个现象呢?
求解答。