Interfacing with memory mapped device (i.e. FPGA) on STM32F7 FMC bus
Hello all,
We're having some 'strange behaviour' when interfacing our STM32F7 to a FPGA over the FMC bus. To isolate the problems, we're looking at all the control/addr/data on the FMC bus during memory transactions. We have a very good view into everything via the Lattice Reveal tool. The FPGA has 16-bit data bus, and we only want to access one register/memory location at a time.
- Even though we disabled data cache, we see multiple reads (separate NEx chip select assertions)
- We are not using the MPU (yet)
- We configured the FMC for 16-bit access, so it would ignore the upper halfword of the data bus. We figured if we read only 16-bits, it would just do one read cycle (NEx assertion, OE assertion). We see the memory controller trying to read address 0x00 and 0x01 in on read cycle, obviously 32-bits. Our assembly code clearly shows ldrh (load data register half-word).
Any insight welcome. If you want us to post more detail, please ask. Thanks all!!
