DFU Tool and upgrades question Topic is solved

Technical questions regarding the XTC tools and programming with XMOS.
ed_m
Junior Member
Posts: 5
Joined: Wed Apr 19, 2017 5:40 pm

DFU Tool and upgrades question

Post by ed_m »

I have successfully programmed Xmos factory image to external Flash, and it runs fine. My intent when creating the factory image, was to allow for "unlimited" future field upgrades. Here is what I have done so far to create the factory image and the two upgrade images (device is connected when running all three xflash commands):

> xflash --verbose --factory file.xe
> xflash --factory-version 14.0 --upgrade 1 file.xe -o upgrade_1.bin
> xflash --factory-version 14.0 --upgrade 2 file.xe -o upgrade_2.bin

When I run the DFU utility (DFU.exe), the first time, I am able to successfully upgrade, using upgrade_1.bin. But when I run the DFU utility a second time, using upgrade_2.bin, the DFU utility indicates success, but the firmware actually goes back to running the factory image. No further upgrades are successful after this point.

Am I not using the DFU tool correctly, or not formatting the images correctly. Thank-you for any advice.

Thanks,
Ed

Xmos device: XUF216-521-TQ128 (2 tile)
External Flash: 16MB


View Solution
rgilio
Active Member
Posts: 36
Joined: Wed Jul 03, 2019 1:01 am

Post by rgilio »

What board are you using? Custom or one of the XMOS dev boards?

I see that you're using the XUF216 so in which I was running into problems on the Mic Array board which also uses the same processor. If that's the chase, take a look at this, hopefully this resolves the issue you're facing.
https://www.xcore.com/viewtopic.php?f=8 ... 390#p36390
ed_m
Junior Member
Posts: 5
Joined: Wed Apr 19, 2017 5:40 pm

Post by ed_m »

It turns out that my problem was related to the fact that our board is using a flash device, Not on Xmas supported flash list. In this case when I created the struct to define the new flash, I didn’t use the correct sector erase command. So first upgrade worked, it didn’t have to erase. Subsequent updates failed because of bad sector erase command.

I had the correct erase all command, so that it worked when programming initial factory image.
User avatar
fabriceo
XCore Addict
Posts: 184
Joined: Mon Jan 08, 2018 4:14 pm

Post by fabriceo »

just in case, be sure that the BCD firmware version of your 2 .xe files used for upgrade 1 and upgrade 2 are different. in you example above they seem to be identical ?