cancel
Showing results for 
Search instead for 
Did you mean: 

how to access external devices in STM32MP157

ROAD
Associate II

hi experts

for me   this is the first time  to use  STM32MP1 family 

before i used powerpc-family CPU.

with powerpc   when i  attached  external  ICs,   

in 8 bit    CPU-A0 to external IC- A0

in 16bit   CPU-A1 to external IC-A0 with byte enable signals

is it the same way when i use STM32 FMC

in STM32MP157-EV1 and STM32MP157-DK     when 16bit and  32bit DDR accessed   CPU A0 connected DDR A0

so i wonder  that  STM32's  AXI or AHB  of  CPU do some address connnection  

thank you 

1 ACCEPTED SOLUTION

Accepted Solutions
PatrickF
ST Employee

Hi @ROAD ,

please note that FMC is intended to access external memory for purpose of communication with external components. For performance point of view, FMC is not suitable to run code or heavy CPU data access.

The main memory for Cortex-A (Linux) and other masters like GPU/Ethernet/USB/etc.... must be the DDR which is assumed to be present in all our deliveries and is perfectly fitted to bring optimum performance/security.

Regards.

In order 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.

View solution in original post

3 REPLIES 3
PatrickF
ST Employee

Hi @ROAD ,

STM32MP1 is quite far for a 'bare' CPU as Power-PC.

The internal buses are not visible externally, only thru embedded peripherals (like FMC or DDRCTRL/DDRPHY).
Peripherals bring a high abstraction level versus internal buses behavior/width/frequencies, you usually does not have to worry about LSB address mapping or 8to128-bits access size from internal processor to embedded or external resource.

I strongly recommend to have a look to provided documentations:

 

In addition, tools such as STM32CubeMX will help you for configuring overall system (but not completely for Linux Device Tree).

 

Could you precise which kind of external component you are will to attach to FMC ?
FMC is primarily intended to be used to connect an 8-bit parallel SLC-NAND Flash.
FMC could also be used to connect external 8/16-bits parallel components such as custom FPGA design.

 

Regards.

In order 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.
ROAD
Associate II

Hi  PatrickF 

thank you for help  it was of great help  ,  like you said   a STM32MP157 is  more  complicated  than a powerpc.

i plan to attach  16bit dual port memory and  8  bit SRAM 

 

PatrickF
ST Employee

Hi @ROAD ,

please note that FMC is intended to access external memory for purpose of communication with external components. For performance point of view, FMC is not suitable to run code or heavy CPU data access.

The main memory for Cortex-A (Linux) and other masters like GPU/Ethernet/USB/etc.... must be the DDR which is assumed to be present in all our deliveries and is perfectly fitted to bring optimum performance/security.

Regards.

In order 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.