Custom LS1046A Board Subcore Error / Scan Timeout

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Custom LS1046A Board Subcore Error / Scan Timeout

961 Views
nfj
Contributor III

Hey,

  I've got a custom LS1046A board that I'm trying to bring up, and have been dealing with some errors during "Diagnose Connection" (using JTAG connection and CW TAP, pictures and CCS Log attached). I'm seeing a "Scan timeout" and a "Subcore error" when trying to use the "Hard-coded RCW" option in the initialization file (and setting my DIP switch on my custom board to 0x9F Hard-coded RCW).

I've looked at various forum posts on here, but I can't seem to solve this specific error. I've made sure my power looks good, input clocks look good, JTAG gets the IDCODE during "Scan IDCODE", my DIP switch is set to 0x9F, and "USE_SAFE_RCW = True", but I'm still not able to connect to the board.

I have probed the PORESET_B pin, and it seems to be reset 3-4 times in a row during the "Connect to target" phase, which I think corresponds with the "ccs_log_scan-timeout_subcore-error.txt" log file, as there seems to be multiple "ccs_reset_to_debug" commands being issued. Also, the chain that gets configured only has the DAP, LS1043A, and SAP2, but no other cores, so I know it's not fully being initialized or configured correctly. 

 

Questions:

1. What is a subcore error? specifically, what does error 47 mean as shown below?

ccs_get_subcore_error
    serverh = 0
    cc = 0
    error = 47
    chain_pos = 1
    ccs_get_subcore_error; ccs_error = 0

2. Which error is coming on first? The "Scan timeout error" seems to be displayed first, but then why does it also get a subcore error?

3. How do I find out more information about the CCS console and error codes? I have not been able to find any documentation on this interface, and zero on the error codes themselves

 

And I just want to re-iterate, I've already set USE_SAFE_RCW = true and put my DIP switches to 0x9F.

 

Thanks,

-Nate

Labels (1)
0 Kudos
5 Replies

927 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please refer to the following hard-coded RCW options, please make sure your hard-coded RCW option matching the board's DIP SW regarding SYSCLK and differential/single-ended clock source.

# use this when SYSCLK = 66 MHz, single-ended clock source
# TA.rcw.set_source(0x9A)
# use this when SYSCLK = 66 MHz, differential clock source
# TA.rcw.set_source(0x9B)
# use this when SYSCLK = 100 MHz, single-ended clock source
# TA.rcw.set_source(0x9E)
# use this when SYSCLK = 100 MHz, differential clock source
TA.rcw.set_source(0x9F)

Probably there is JTAG interface hardware design problem on your custom board, please refer to "Figure 18. JTAG interface connection" in https://www.nxp.com.cn/docs/en/application-note/AN5252.pdf.

0 Kudos

901 Views
nfj
Contributor III

Hey @yipingwang ,

  Thank you for the initial reply. Unfortunately, I have already tried all these options, as well as tried all the different options on my DIP switch, but nothing seems to be working.  My options should be 0x9F based on my design, but I've tried the other options together as well.

 

  I've been trying to do a little more debugging, and it looks like I can read some registers from my device using CCS, and the "Connection Diagnostics" in CodeWarrior seems to be finding the correct ID code. This leads me to believe that my JTAG might not be the problem, but I'm open to more examination of the interface (I designed it identically to the FRWY reference design).

 

  I've attached output from the CCS terminal (named "nxp_question02_ccs") that I've been trying to use (even though there seems to be no documentation on how to actually use CCS). In the attached CCS output, I've read the "rcw_src" register, as well as some DCFG_CCSR registers that I thought would be of use. I've compared these to the FRWY-LS1046, and they seem to be nearly identical, but I still can't get my board to connect.

 

  When running the Connection Diagnostics in CodeWarrior, I'm running into a "Core not responding" error, sometimes a "Scan timeout" error, and then another subcore error.  This output can be seen in the file named "jtag_conn_debug_bad-02.txt". After looking at other posts on this forum, the usually suggestion seems to be to look at the JTAG interface and make sure it's wired correctly, and make sure to use the correct Hard-coded RCW settings - both of which I am doing correctly, at least to my knowledge.

 

 1. Since I'm able to read DCFG_CCSR on the device, can I confidently say my JTAG interface is working?

2. Can you please provide any kind of documentation for this CCS application that runs underneath CodeWarrior? I have AN12270, but that is a very surface level document with regards to CCS

3. What else can I try to get this board up and running? and why do I run into a Scan timeout?

4. Can you please provide any documentation on Subcore errors and what they mean? 

 

Thanks,

-Nate J

0 Kudos

771 Views
yipingwang
NXP TechSupport
NXP TechSupport

In your CCS log, I see the following configuration, please delete this configuration in your CodeWarrior initialization file to check whether the result would be differnet.

ccs_write_register
coreh = [serverh:0;cc_index:0;chain_pos:1]
index = 4108
count = 1
size = 4
value: (size = 4)
20044100

In your CCS log, it fails at ccs_reset_to_debug, this is often caused by the JTAG interface problem design.

The COP port and target board should be able to independently assert PORESET_B and TRST_B to the processor in order to full control the processor.

yipingwang_0-1691401277610.png

 

 

0 Kudos

749 Views
nfj
Contributor III

Hey @yipingwang

  Thank you for your response. Unfortunately, I was still getting the same problem when trying your solutions.

  However, I was able to get the all the cores recognized on the JTAG chain, but how I had to do it was very strange. I will open a new thread for that question as it would be off topic from this one and power related.  

  I have attached a text file with CCS output from CodeWarrior showing that I can see all the cores and correct chain positions.  This should give us confidence that our JTAG is working correctly.  The "reset_to_debug" is still not working, but that's because of a power issue we are currently facing. 

 

  I do want to ask one more time, as I have not been given a clear answer on this: are you able to provide any documentation on CCS, and the error codes that are shown in the CCS log from CodeWarrior?

 

Thank you,

-Nate J

0 Kudos

726 Views
yipingwang
NXP TechSupport
NXP TechSupport

We don't have any document to describe CCS and error codes shown in CCS log.

0 Kudos