AnsweredAssumed Answered

Question about SWD interface protocol with K64F

Question asked by 純佳 劉 on Aug 4, 2016


Hi,

I have a question about SWD flash programming by using two different FRDMK64F boards, I use one of FRDMK64F board to verify my project but in some reason the MK64F chip is broken, so I bought a new MK64F chip to change it to the FRDMK64F board (named "board1"), and another FRDMK64F board used as backup solution (named "board2").

 

But I can not flash the FW code correctly by board1, and I checked the HW circuit was not shorted or damaged, so I checked the flash protocol with Logical Analyzer.

 

Then I found the difference in past steps. In step about read component ID register data, I got two different outcome:

"0x40030018"(board2) & "0x10150028"(board1).

 

next step, I used JLINK debug tool to connect & flash board1 directly (not using the MK20DX chip on board1), the FW was flashed successfully and worked like the board2.

 

The final verify step, I using Kinetis to write a sample blinky code and debug it with openOCD, then the amazing thing was happen, the FW was worked successfully, too.

 

is someone know what point cause the different behavior?

 

the attached file is the capture data by Logical analyzer(saleae)

Original Attachment has been moved to: board1_download_fw_FAIL.logicdata.zip

Original Attachment has been moved to: board2_download_fw_OK.logicdata.zip

Original Attachment has been moved to: fail.txt.zip

Original Attachment has been moved to: pass.txt.zip

Outcomes