I was recently given a T1040RDB which was not booting properly from NOR flash (bank 0). I connected the serial port to a terminal and saw that U-Boot was reporting an error. I tried switching flash banks but the other one had not been programmed. I decided just to try flashing a clean U-Boot binary into NOR using the CodeWarrior TAP (Rev. E). I adjusted the switches to use the JTAG RCW and opened CodeWarrior 10.5. I used the flash programmer to flash the QorIQ SDK 1.6 U-Boot into flash bank 0 using 0xeff40000 as the offset (as documented in the flash memory map for the board). Once flashing was complete I reverted the switches to boot from NOR flash bank 0. Now the board will not boot at all. When power is applied, the ASLEEP LED remains lit and I see no output from the serial console. When I try to flash again using the TAP, I get the following error:
Failed to reset the target
[CCS last error: T1040: Core not responding ](CCSProtocolPlugin)
Is there a way I can wipe flash completely and start from scratch? I know it can be done using JTAG, but I can't connect anymore. Below is a list of the hardware/software I am using in case they are useful:
QorIQ T1040RDB Si Rev. 1.0
CodeWarrior v.10.5 Licensed
CodeWarrior TAP Rev E
u-boot.bin (SDK 1.6)
Thanks in advance, any help is appreciated.
Hi, We plan to use an SFP module with the 88E1512 phy of TE720/TE715. We have a custom made board with SOUT/SIN signals already connected to a an AVAGO ABCU-5740RZ SFP module We have some difficulties to find some technical informations like 88E1512 datasheet because of the MARVEL NDA My question is if the Linux driver provided in PETALINUX is able to manage the Ethernet link with phy in SGMII mode ? if not how to have access to the technical details to modify the driver ?
Were you able to recover and boot out of NOR flash? I seem to have the same problem booting form NOR flash. But when I look at the flash addresses 0xe8000000 ( a valid RCW is still there) and 0xeff40000 (U-boot) is still there too).
At first, the board booted from NOR flash and then after attempting to erase the flash (stopped during the erasing). I tried to boot the card again but failed. Using NAND flash boot and CW, I was able to see the contents of the flashes and it looks like the NOR flash RCW and U-BOOT is still there but the board will not boot anymore.
Could you try to update the cwtap firmware? For this open ccs from PA\ccs\bin\ and in console enter:
(bin) 49 % updatecwtap --force <hostname>
Aslo, please send me a ccs log (in ccs console enter log v) when are you trying to connect to the board using RCW override.
When you boot the board second time after flashing, are you still feeding the
RCW via JTAG ? If you wiped the image and RCW from your flash your board
will not boot without a valid RCW. It sounded like you only reprogrammed a new
uboot image but I wonder if you also programmed a valid RCW to your flash.
Thanks for your reply. I did not wipe the RCW as far as I know so whatever RCW was in flash before should still be there right? (And I was able to get at least some console output before.) In case I did overwrite it, I tried to configure JTAG to feed the RCW but am getting the following error in CodeWarrior using the default configuration (under jtag_chains directory):
CCSProtocolPlugin : Failed to correctly configure the JTAG chain
Do you remember how you erased your flash before reprogramming uboot. According to RDB's RM, RCW is at 0xE8000000 and 0xEC000000 for current and alt respectively. Did you erase that area ? Also, what is your switches set and what RCW_SRC you are providing via JTAG ?
I use BDI3000 and not NXP's probe but this "Failed to correctly configure the JTAG chain" feels like
an RCW issue.
I used the "Flash File to Target" tool in CodeWarrior to reprogram U-Boot with the offset of 0xeff40000 and clicked "Erase and Program" so I should only have erased the memory area containing U-Boot on the current flash bank. My switches are set as shows below:
0100 1101 1011 1001 1110 0001
SW1 SW2 SW3
As for the RCW, I am using a JTAG configuration file to override it which is show below:
T1040 (2 1) (210001 0x080a0008) (210002 0x08000000) (210003 0x00000000) (210004 0x00000000) (210005 0x69000002) (210006 0x00000002) (210007 0x00010000) (210008 0x20000000) (210009 0x00000000) (210010 0x00000000) (210011 0x00000000) (210012 0x00000000) (210013 0x00000000) (210014 0x00000000) (210015 0x00000000) (210016 0x00000000)
This I created using a QoriQ Configuration project, importing the rcw from SDK 1.6, and exporting it to this format.
Bryce, there is one another thing I thought I should have mentioned. My suggestions above assumed that you configure your JTAG probe to HALT out of reset. Otherwise the cause for JTAG error can be something else, e.g. the image crashing or disabling debug etc. So while following the above steps please make sure that your probe is set to halt right out of reset.
I am not familiar with how CW and Config Project does this. It is a bit different with BDI3000 but it seems you are setting a hard-coded value as your RCW_SRC via the switches (SW1, SW2) and then override the RCW values via JTAG. With a hard-coded RCW_SRC, it is not clear to me why you have to override the full set of RCWs (usually if you choose to use a proper hard-coded RCW as RCW_SRC you would not need to override RCWs and it should just boot). One thing I can see that, if you had really erased your flash including RCW and PBI then your RCW[192-194] (RCW6) would needed to be set to 0xF to disable loading PBI from your flash. You can try changing this. My guess is in the sequence above the value that starts with 210007 corresponds to RCW6 and the first 4-bit should be 0xF (or alternatively you can generate a new RCW with a specific RCW6 if your tool lets you do this). If possible try overriding only RCW6 and not the other RCWs. You could try this to see if it makes a difference. Failing that I think I would be out of ideas and hopefully someone from NXP can step in soon with more help.