Posted on January 04, 2015 at 08:41The original post was too long to process during our migration. Please click on the attachment to read the original post.
I've also attached the schematic to show the components involved besides STM32F407 and the external flash, which includes a single inverter and a 16 bit D-latch. The board also uses an external crystal andmy thought is that will complicate the setting of the FSMC timing (ADDRSET, ADDRHLD, and DATASET), which isn't properly set at this time.
One thing I forgot to mentioned is that PG6 on the processor is connected to /EXT_LATCH_OE on the 16-bit D Latch. I have just configured PG6 to AF FSMC thinking that the FSMC subsystem will take care the rest but still I cannot get the MFR and device ID.
When I tried with and without <<1 my MFR ID is 0xFF. I copy/pasted that line of code from the Microchip driver and modified ''system_base'' accordingly:
#define sysAddress(offset) ((volatile WORD *)(system_base + (((WORD)offset)<<1))) //For ARM CPU
I resolved my previous NOR FLASH by disabling the chip select line that is connected to the external RAM, which is also on my custom board. Since I don't need to use the external RAM at the moment, I forgot to disable its chip select which was interfering when I try to access the external FLASH. On to my next problem:) For some reason, I cannot access the external FLASH region beyond 64KB. I configured A16 (PD11), A17 (PD12), A18 (PD13), and A19 (PE3) to AF_FSMC but I don't see any activity on those lines on the oscope when I access the memory region at 0x64010000 (for example). Any input would be appreciated and my FSMC configuration code is posted below: