A recent revision of a board based on the ATSAME70Q21 (a Cortex-M7) is exhibiting problems. The previous revision of the board had been working for quite a while.
[EDIT] The exact part number as it shows on the chip is:
ATSAME70Q21 AN A
It shows like that, with the lines as I wrote them above. The manufacturer part number of the part as we specified it in the BOM (which I guess was ordered from Digikey) is: ATSAME70Q21A-AN
In the new revision, the only thing that changed in the MCU functionality is the fact that I switched to 1.8V for the VDDIO, instead of the 3.3V that we had before. The datasheet clearly indicates that this is possible (for the E70).
We already detected one mistake: in the SWD connector, I connected the VTG to 3.3V, when it should have been connected to VDDMCU / 1.8V. Presumably we fixed / got around that issue (for debugging purposes): we cut the wire on pin 1 in the flat ribbon cable from the Atmel-ICE programmer, and connected it to a 1.8V test-point that luckily happened to be right next to the SWD connector.
From Atmel Studio 7, I can go to the programming dialog, I can read the device ID (it reads A1020E00) and the voltage (once I cut the trace and connected to the 1.8V test-point, it does read 1.8V).
However, it doesn't seem to work. If I push the "Start without debugging" button, it looks like everything worked, except that the board does nothing (I'm trying a simple LED flashing test program, which does work when I connect the old board). If I go to the Device programming window, section "Memories": Erase Chip responds almost immediately; if I click on PROGRAM (under the Flash section), it looks like it's programming, but then when verifying, it tells me that it fails. If I do Debug → Attach to target to display the memory, under IFLASH, I see that all bytes are FF. Under IRAM, I see whatever random contents and I can manually modify the bytes.
Any ideas on why it's not working?