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
DFU Tool and upgrades question Topic is solved
-
- Junior Member
- Posts: 5
- Joined: Wed Apr 19, 2017 5:40 pm
-
- Active Member
- Posts: 36
- Joined: Wed Jul 03, 2019 1:01 am
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
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
-
- Junior Member
- Posts: 5
- Joined: Wed Apr 19, 2017 5:40 pm
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.
I had the correct erase all command, so that it worked when programming initial factory image.
-
- XCore Addict
- Posts: 186
- Joined: Mon Jan 08, 2018 4:14 pm
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 ?