AnsweredAssumed Answered

Why would CW TAP be unable to initialize an LS1012A?

Question asked by Tim Hammer on Aug 1, 2018
Latest reply on Aug 6, 2018 by Tim Hammer

I have received the first prototype builds of a board we designed based on the LS1012A Freedom development board. I am trying to write the PBL and other firmware to the QSPI flash part so that I may get U-Boot and GNU/Linux running.

I have a CodeWarrior TAP connected to the JTAG header and am using

CW4NET_v2018.01/CW_ARMv8/gdb/bin/aarch64-fsl-gdb

to connect to the TAP from my GNU/Linux workstation.


I know that basic communications are working- if I leave the board powered down when sourcing the cwflash.py script, the TAP cannot detect power on the target (even before seeing that failure, the TAP RUN/PAUSE LED is off).
As soon as I power up the board, the RUN/PAUSE LED lights up. And running the script gets further in the process- "Successfully connected to probe".


However, while attempting to initialize the target, it fails to write to the Boot Release Register and an error is reported- "Protocol error with Rcmd".

 

I have modified the initialization to USE_SAFE_RCW since the QSPI has not been programmed yet (therefore there is no RCW/PBI for the PBL to read).

 

The init code (LS1012A_FRDM_init.py) issues the command "monitor rcw source set 0x9E". This setup works as expected with the LS1012A Freedom development board and at this 'level' our custom board is a replication of that hardware, so I expected this would work.

I have not been able to grok the hard-code RCW information in the reference manual to understand what 0x9E means or what might need to change (if anything).

 

Does the protocol error trying to write to the BRR indicate that the RCW is not getting configured correctly? Or does it indicate that we have some other issue with our use of the LS1012A chip?

 

I appreciate any pointers and help I can get!

Outcomes