How do I read the DCFG_CCSR_RSTRQPBLSR register with CW4NET?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

How do I read the DCFG_CCSR_RSTRQPBLSR register with CW4NET?

5,407 次查看
AbelianMeme
Contributor III

I have a board that sometimes fails to boot and appears to be asserting RESET_REQ_B. I have just acquired a CWTAP to analyze this, and am trying to figure out how to actually read this register.  I have the latest version of CodeWarrior ARM v8 ISA for Linux, and none of the getting started manuals appear to be written for this version.

The CWTAP is attached to my board and I can connect to the TAP via ethernet. Can anyone give me step by step instructions on how I can use the CW4NET software to simply read out this register? The RCW and PBI are already programmed in the SPI flash, and I have verified with a scope that the PBL is reading the entire configuration over the SPI bus.  When a failure occurs, it generally happens about 100msec after the checksum has been read, and the assertion of RESET_REQ_B usually coincident with, or just before the first fetch of 0x100000 to begin executing the actual program.

After I launch fsl_eclipse.sh, what do I do to simply attach to the CWTAP and read out the register?

0 项奖励
回复
8 回复数

5,398 次查看
ufedor
NXP Employee
NXP Employee

Which processor is in question?

0 项奖励
回复

5,395 次查看
AbelianMeme
Contributor III

Hi ufedor,

 

The processor is an LS1046A.

0 项奖励
回复

5,385 次查看
ufedor
NXP Employee
NXP Employee

For reading RSTRQPBLSR, the recommended and supported approach is:

Prevent the RESET_REQ_B from generating PORESET_B.

Attach (do not apply reset and do not execute initialization script) CodeWarrior to the board and use the "Peripherals" view in CodeWarrior.

See attached screenshot for example.

5,382 次查看
AbelianMeme
Contributor III

Thank you. This is what I want.

 

Can you explain to me how I get a "peripherals view"?

 

All I have is the software asking me to create a project. What do I need to do to get the peripherals view?

0 项奖励
回复

5,380 次查看
ufedor
NXP Employee
NXP Employee

Just activate connection and press button:

Attach_Inspect.jpgAttach_Inspect.jpg

5,324 次查看
JRRandall
Contributor III

@ufedor I should be clear that we did make sure that we removed a jumper on our custom LS1046A board to prevent RESET_REQ_B from generating PORESET_B.  I am actually able to connect to our board in this error state using CodeWarriror QCVS to read our RCW values from RCWSR0 - RCWS
R15 using that interface (see attached screenshot with "Read from target..." button circled).  So we know it's at least possible to connect to the board in this state with CWTAP and read out the RCWSR.  Since we are able to read our RCW with this interface, it suggests our failure occurred somewhere later in PBL, which is why we're trying to get to reading DCFG_CCSR_RSTRQPBLSR.CodeWarrior_QCVS_rcw_read_from_target_LS1046A_custom_board.JPGCodeWarrior_QCVS_rcw_read_from_target_LS1046A_custom_board.JPG

0 项奖励
回复

5,318 次查看
ufedor
NXP Employee
NXP Employee

Please use a digital scope to check that RCW is properly (completely) read from the source flash.

0 项奖励
回复

5,339 次查看
JRRandall
Contributor III

Hi sorry to crash this thread but I have the exact same issue on a custom board using LS1046A, and when I try to just connect to my target, I get the error message:

"Core CortexA72#0 not found on the JTAG chain. Please verify that the Reset Configuration Word is correct, or enable RCW Override in the initialization file."

The only way I seem to be able to connect, is to "run diagnostics" which runs the initialization script and resets the target, which we do not want.  Is there a way to just connect and query the values in certain registers directly?  When I go to CodeWarrior QCVS I'm able to "read RCW from target" without issue, but I don't know how to read DCFG_CCSR_RSTRQBLSR from there.  Any suggestions?

0 项奖励
回复