Resets to and from DFU failing with ARM-M1 based MACs

Technical questions regarding the XTC tools and programming with XMOS.
Posts: 9
Joined: Fri Apr 12, 2019 1:01 pm

Resets to and from DFU failing with ARM-M1 based MACs

Post by susnak »

Dear all,

we are using UAC2 ref. impl. with xu216 on a custom board and we are experiencing issues with resets to and from DFU mode on M1 MACs.
Device is often not recognized after reset.
Has anyone seen something like that?
Is there a good way how to debug this?


User avatar
Experienced Member
Posts: 94
Joined: Mon Jan 08, 2018 4:14 pm

Post by fabriceo »

this topic is a nightmare, don't be surprised :)
first the reboot is not working when you use XTAG3, so you cannot test the DFU protocol on Interface 0.
The way to progress in your test and understanding will be to re-download your application while forcing DFU on interface 0 by writing the so called "DFUFlag" in the high memory, with a STW instruction at the very beginning of your main.xc. good luck.
second, I remmener few post on this forum pointing a delay of 500ms that was questionable. Just search on the forum or in the endpoint0.c

that said, from a recent experimentation, the standard USB application with DFU enabled is working perfectly if you flash it and remove the XTAG3 and power cycle the unit. you can trust the original source code.
One key issue often seen is the time to erase the boot partition which create few seconds timeout for the USB host, which are not properly managed in windows with libusb. libusbK seems better but not perfect.