SAME70 XPlained Ultra DRAM Incorrectly Initialized before Pins Initialised
Harmony V3.5.1 Updated as of Aug 28 2020
This post is not seeking help but flagging an issue to potentially save others debug time.
I have had feedback from support and not knowing how long they may take to implement a fix I post this in case anyone is at stage 2 of pulling hair out.
SAME70 XPlained Ultra Demo Board carries an impressive array of features including a 2MByte DRAM on the external bus.
Harmony also has good support for all of this.
However the Harmony SDRAM initialization and Pin initialization can get out of order.
This may occur with some combination of modules different to the minimal set of modules used in the SDRAM test project: C:\Microchip\Harmony\csp\apps\sdramc\sdramc_read_write\firmware\sam_e70_xult.X
If it occurs, the SDRAM may not be correctly initialized and not work.
SDRAM test project correctly has Pin initialization before SDRAM initialization, so works fine.
Relevant Harmony file is "initialization.c"
Work around is to check this file after a Harmony code generation and correct the order of execution so that SDRAM is initialized after the Pins are initialized.
This may/ may not have wider implications for other targets and platforms using external bus connected devices.