cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H7A FMC Common and Attribute Memory Space

L42Liam
Associate

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 ^

1 REPLY 1
MOBEJ
ST Employee

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

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.