2024-11-23 01:30 PM - last edited on 2024-11-25 05:40 AM by SofLit
Hello. I am working on a project where I need to access an external Flash chip on a STM32H7A3ZIT6 chip. I am trying to use the FMC and I'm just having a hard time understanding it.
My biggest lack of understanding is coming in how in the world do I program this thing. I'm reading in the reference manual that there is something called the "common" and "attribute" memory space. These spaces are further split to "address", "command', and "data" sections. This is my main area of confusion. In C, do I just read and write to the address section? If so, what do I write, my data or an address? If I write the address there, how does it tell what data I want written? Is it linked or something to an address in the data section? Also what is the command section?
^ img from here: https://community.st.com/t5/stm32-mcus/how-to-configure-the-fmc-peripheral-to-interface-an-stm32-mcu/ta-p/705805
I'm reading this in the data sheet and its confusing me ^
2024-11-25 05:35 AM - edited 2024-11-25 05:36 AM
Hello @L42Liam ,
Please review the following two FMC examples on GitHub for the STM32CubeH7:
These examples demonstrate how to configure the FMC controller to access SDRAM and SRAM memories. They can help you understand how the FMC works with memory.
Additionally, I recommend checking the Application Note AN4570, which describes how to use the high-density STM32F30xxD/E FMC peripheral to drive a set of external memories:
Using the high-density STM32F30xxD/E FMC peripheral to drive external memories
Br