We are trying to bring-up T1042 based custom board with an 8-bit NOR flash attached on CS0 of IFC interface. We have modified the .tcl configuration file to configure IFC for 8-bit flash. While trying to program the NOR flash using PA Flash Programmer Task, we are getting following errors in CodeWarrior console for 'Diagnostics' action:
fl::target -lc "Debugging_Part2-core00_RAM_T1042_Connect" fl::target -b 0x0 0x40000 fl::target -v off -l off cmdwin::fl::device -d "MT28EW01GABA1HPC" -o "128Mx8x1" -a 0xe8000000 0xefffffff cmdwin::fl::diagnose Beginning Operation ... ------------------------- Performing target initialization ... Downloading Flash Diagnostics Driver ... Reading flash ID ... Running Diagnostics ... Error: The Diagnostics operation failed. Flash diagnostics reports the following error(s): Operation Unsupported Error: Diagnose operation failed Error: The Diagnostics operation failed. Flash diagnostics reports the following error(s): Operation Unsupported
And following while running 'Program and Verify' action:
fl::target -lc "Debugging_Part2-core00_RAM_T1042_Connect" fl::target -b 0x0 0x40000 fl::target -v off -l off cmdwin::fl::device -d "MT28EW01GABA1HPC" -o "128Mx8x1" -a 0xe8000000 0xefffffff cmdwin::fl::image -f "C:\\Users\\Admin\\Desktop\\rcw_1400MHz.bin" -t "Binary/Raw Format" -re on -r 0xe8000000 0xefffffff -oe off cmdwin::fl::write ------------------------- Using restricted address range 0xE8000000 to 0xEFFFFFFF Programming file C:\Users\Admin\Desktop\rcw_1400MHz.bin 0 Bytes Programmed, Check Restricted Address Range Program Command Succeeded cmdwin::fl::image -f "C:\\Users\\Admin\\Desktop\\rcw_1400MHz.bin" -t "Auto Detect" -re on -r 0xe8000000 0xefffffff -oe off cmdwin::fl::verify ------------------------- Using restricted address range 0xE8000000 to 0xEFFFFFFF Verifying file C:\Users\Admin\Desktop\rcw_1400MHz.bin Auto-detection is successful. File is of type Binary/Raw Format. 0 Bytes Verified, Check Restricted Address Range Verify Command Succeeded
Can someone suggest what might be the reason we are unable to diagnose & program flash?
Solved! Go to Solution.
Quality of the processor picture is bad, but it looks like the NOR Flash data lines are connected in a wrong way.
Please consider that in the QorIQ T1040 Reference Manual, 24.9.6 Interfacing to different port sizes it is written:
"A 16-bit port must reside on AD[0:15], and an 8-bit port on AD[0:7]."
Please provide additional information:
1) processor to flash connection schematics (PDF)
2) ensure that offset value is 0xe8000000 in the Program Action
Thanks for replay ufedor.
1) processor to flash connection schematics (PDF)
Sorry I was unable to find PDF attachment option in reply so attaching schematic images below.
2) ensure that offset value is 0xe8000000 in the Program Action
Adding 0xe8000000 offset in program action results in following CodeWarrior log:
fl::target -lc "Debugging_Part2-core00_RAM_T1042_Connect" fl::target -b 0x0 0x40000 fl::target -v on -l off cmdwin::fl::device -d "MT28EW01GABA1HPC" -o "128Mx8x1" -a 0xe8000000 0xefffffff cmdwin::fl::image -f "C:\\Users\\Admin\\Desktop\\rcw_1400MHz.bin" -t "Binary/Raw Format" -re on -r 0xe8000000 0xefffffff -oe on -o 0xe8000000 cmdwin::fl::write Beginning Operation ... ------------------------- Using restricted address range 0xE8000000 to 0xEFFFFFFF Programming file C:\Users\Admin\Desktop\rcw_1400MHz.bin Performing target initialization ... Downloading Flash Device Driver ... Reading flash ID ... Downloading 0x00000060 bytes to be programmed at 0xE8000000 Executing program .... Executing program ..... Executing program ...... Executing program ....... Executing program ........ Executing program ......... Executing program .......... Executing program ...........
The 'Executing program' message never stops and keeps running. I was also wondering why Using restricted address range 0xE8000000 to 0xEFFFFFFF message is appearing in log.
Quality of the processor picture is bad, but it looks like the NOR Flash data lines are connected in a wrong way.
Please consider that in the QorIQ T1040 Reference Manual, 24.9.6 Interfacing to different port sizes it is written:
"A 16-bit port must reside on AD[0:15], and an 8-bit port on AD[0:7]."
Do you mean we needed to route IFC AD[0:7] to NOR data port instead of IFC AD[8:15]? If yes, is there any way to swap the byte order of IFC using some register configuration?
Yes and there is no way to correct the issue programmatically.
Thanks alot for your support ufedor. We will try to find some workaround.