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
[END EDIT]
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).
This is the relevant section of the schematic:
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.
This is the relevant section of the schematic in the previous revision of the board (which has been working without any issues whatsoever):
Any ideas on why it's not working?