Skip to main content
Visitor II
October 30, 2023
Solved

how to access external devices in STM32MP157

  • October 30, 2023
  • 3 replies
  • 2831 views

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 

    This topic has been closed for replies.
    Best answer by PatrickF

    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.

    3 replies

    Technical Moderator
    October 30, 2023

    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.

    ROADAuthor
    Visitor II
    October 31, 2023

    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 

     

    PatrickFAnswer
    Technical Moderator
    October 31, 2023

    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.