Skip to main content
Visitor II
November 23, 2024
Question

STM32H7A FMC Common and Attribute Memory Space

  • November 23, 2024
  • 1 reply
  • 802 views

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?

 

FMC_common_attribute_split.png^ img from here: https://community.st.com/t5/stm32-mcus/how-to-configure-the-fmc-peripheral-to-interface-an-stm32-mcu/ta-p/705805

Screenshot 2024-11-23 162458.png

I'm reading this in the data sheet and its confusing me ^

    This topic has been closed for replies.

    1 reply

    ST Employee
    November 25, 2024

    Hello @L42Liam ,

    Please review the following two FMC examples on GitHub for the STM32CubeH7:

    STM32CubeH7/Projects/STM32H7B3I-EVAL/Examples/FMC at master · STMicroelectronics/STM32CubeH7 · GitHub

    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