Failing to flash

Technical questions regarding the xTIMEcomposer, xSOFTip Explorer and Programming with XMOS.
wlhoarty
Member
Posts: 8
Joined: Mon Aug 09, 2021 11:53 pm

Failing to flash

Post by wlhoarty »

Hello, I have many years of 'stick time' programming various XMOS processors and most recently have used the XE216 family in many board designs. My latest board is in production, with high quantities built and shipped. The part I was using, the XEF216-512-TQ128-C20, met end-of-life, and we were informed to use the XEF216-512-TQ128-C20A as a direct replacement. We did a test run of about ten boards and all fail to flash with the error message of: "Error on tile[0]: failed to connect to flash device. Please verify that SQI type is supported and that the correct SQI ports are defined within your xn file."

This error is what you would get with a non-flash XMOS part, such as the XE216, with a missing or failed external flash chip, as opposed to the XEF216. I checked the chip ID stamped on the package, and it is "E01692C20", the same as the previous chip. The C followed by 2 indicates 2MB of flash, of course. Again, the boards with the ...-C20 part that we have used for years flash fine, the new ...-C20A fails.

Is there something that changed that I may have missed?


User avatar
akp
XCore Expert
Posts: 566
Joined: Thu Nov 26, 2015 11:47 pm

Post by akp »

What version of the tools are you using? The -C20A worked fine for me with the 14.4.1 tools
wlhoarty
Member
Posts: 8
Joined: Mon Aug 09, 2021 11:53 pm

Post by wlhoarty »

I am using 14.4.1, I create .xe files, and usually flash from the xTime Composer Command Prompt, other times flash from the IDE. There are no differences between PC boards, or power supplies, or any other factor. I even had our assembly house pull -C20 chips off of working PCBs that flashed fine and replace them with the -C20A that did not flash (we tried ten PCBs just to be sure). Very strange behavior.
User avatar
akp
XCore Expert
Posts: 566
Joined: Thu Nov 26, 2015 11:47 pm

Post by akp »

What is the command line you're using for xflash? I just looked at mine and I use a custom .xn file. When I build my xe file I use xflash to output a production binary. So this is basically what it looks like:

Post-build: xflash -v --noinq --factory xe_file.xe -o outfile.bin

Flash:
xflash -v --target-file targetfile.xn --erase-all
xflash -v --target-file targetfile.xn --write-all outfile.bin
wlhoarty
Member
Posts: 8
Joined: Mon Aug 09, 2021 11:53 pm

Post by wlhoarty »

I was using:

xflash --id --target-file targetfile.xe

But here's the kicker, that command line works fine on the old QFP -C20 parts, and it also works on our latest board using the BGA part, XEF216-512-FB236-C20. I guess it is something in the -C20A chips. Meanwhile, thanks to your first response, it inspired me to go back to the IDE in my lab and, voilà, the -C20A part flashes fine from xTIMEcomposer. Not sure why I didn't do that earlier, other than thinking the default command line was no different from the IDE. I will experiment with your post-processing and report back. Thanks.