Custom LS1046 Stays in reset due to broken RCW

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

Custom LS1046 Stays in reset due to broken RCW

784 Views
Rinke
Contributor II

Hi,

I have a custom LS1046ARDB based board. It has no RCW configured in the EMMC and thus does not boot. I am trying to run the initialization script in CodeWarrior studio with USE_SAFE_RCW set to true. I have the correct DDR intialization settings since this board has already worked before. But I am still getting "Memory access failed" in the Connection Diagnostics tab. 

Rinke_0-1735760492675.png

Here the log from the connection server

Rinke_1-1735760532300.png

 

I have a seperate project with the RCW configuration in it. Which when I test with "write reset configuration word" the test passes. Does this actually write anything to the board? 

Rinke_2-1735760614580.png

Not sure what I specifically need from this RCW project. But so far the board just hangs in reset since the RCW is broken. How can I get a working RCW on the board to get it out of reset and boot it?

Thanks!

 

0 Kudos
Reply
10 Replies

639 Views
June_Lu
NXP TechSupport
NXP TechSupport

How about using the switches, for the Hard Code mode, if the RCW is not correct, generally it's only related to the hardware.

How about the signals?

CWTAP?

0 Kudos
Reply

648 Views
June_Lu
NXP TechSupport
NXP TechSupport

Got it.

Please set the RCW to Hard Code mode to do the first flash, then the Hard Code will give an available RCW for the empty RCW.

Please follow C:\Freescale\CW4NET_v2020.06\CW_ARMv8\ARMv8\Help\PDF\ARMv8_Targeting_Manual

8.6 Board Recovery

This topic describes the steps required to perform board recovery using CodeWarrior Development Studio for QorIQ LS series – ARM V8 ISA, when the flash is blank or the image is corrupted.

Or using the switches to the Hard Code.

Any difference?

0 Kudos
Reply

645 Views
Rinke
Contributor II

Hi,

Thanks for the quick replys!

I am following this tutorial already and have set the USE_SAFE_RCW to true. But then it still stays in reset. I am not sure what to do about this. 

0 Kudos
Reply

665 Views
June_Lu
NXP TechSupport
NXP TechSupport

When you could boot from QSPI, you could use uboot to flash the eMMC,

LSDK21.08, page 119, To program LSDK composite firmware image to SD card on LS1046ARDB.

And suggest you to modify the LSDK eMMC source RCW

https://github.com/nxp-qoriq/rcw/blob/LSDK-21.08/ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_emmcboot....

If the RCW is not correct, the CodeWarrior TAP could not connect successfully, and you could not use it to debug the RCW.

And only debug signals could identify the LS1046A status when RCW is not correct.

Please kindly test the signals related to the PORESET refer to LS1046A Reference Manual, page 211, Figure 4-1. Power-on reset sequence

It's will be better to modify a golden RCW rather than to generate an original one.

0 Kudos
Reply

663 Views
Rinke
Contributor II

Thanks for the suggestion.

I am trying to learn how to bring up a fresh board. Since i do not have our new board yet I am trying to use an existing one. So booting up from a working QSPI and then flashing EMMC is not going to help me in understanding the bringup procedure.. 

I want to flash an empty EMMC with a broken/none RCW. Do you have instructions for this? Or just in general instructions on how to bring up a new/fresh/empty board? That does not have an SD card. 

0 Kudos
Reply

683 Views
June_Lu
NXP TechSupport
NXP TechSupport

Do you want to work RCW or connect the CWTAP?

What's SW version do you use?

If you could not boot from eMMC because of the RCW, that would be probably you could not connect the CWTAP because RCW error.

0 Kudos
Reply

669 Views
Rinke
Contributor II

I want to connect the TAP to fix the RCW and flash the EMMC through the Flashing tool. 

I am using CodeWarrior Development studio for QorIQ LS Series Arm V8 ISA Version 11.5.12

Buildid 221209

 

If I cant connect the TAP due to RCW error. How do I fix the RCW error? I need to connect the TAP to fix the RCW error right? If not can you give instructions on how to fix a broken RCW?

0 Kudos
Reply

765 Views
June_Lu
NXP TechSupport
NXP TechSupport

If you have set USE_SAFE_RCW= TRUE, after the "reset_to_debug", but get error, issue is possible related to the HW.

Please kindly test the signals related to the PORESET refer to LS1046A Reference Manual, page 211, Figure 4-1. Power-on reset sequence

And a useful AN, AN12081, RAM Boot using CodeWarrior on LS1046ARDB Application Note 

That would help to debug the LS1046A.

https://community.nxp.com/t5/Layerscape-Knowledge-Base/Bring-up-the-LS1046A/ta-p/1575023

Record how to boot up from the eMMC

Enable the on board eMMC

Compile firmware from RCW source file

Program the firmware into the target board (LS1046ARDB)

Some sources may be old, but the steps you could follow.

Anyway, please test the signals to find the root cause would help the customer LS1046A board works reliable.

Any discussion please feel free to let me know.

Thanks

0 Kudos
Reply

733 Views
Rinke
Contributor II

Here is my initialization file. Maybe you can have a look and spot any big mistakes? 

I am not sure if I should write the full RCW in the section. But ive tested both and doesnt make a difference. But its commented out. 

0 Kudos
Reply

735 Views
Rinke
Contributor II

Hi June,

Thanks for the answer! I know that the hardware itself is perfectly in working order. I have a dipswitch on the board to select boot from EMMC or QSPI. (The only dipswitch or anything related to RCW) QSPI is still in full working order and the board boots fine. However in learning the bringup process I have cleared the EMMC and set the switch to EMMC to learn how to bringup the board. I have found AN12081 and I am trying to use the flashing tool to flash the EMMC. My assumption is that my initialization file is not correct yet. But i cannot figure out what.

When I set the switch to boot from a working QSPI using my initialization file it will properly pass the connection diagnostics and I can use the flasher. However when I set the dipswitch to EMMC the board stays in reset. Any other tips to try?

0 Kudos
Reply