2023-10-29 08:27 PM
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
Solved! Go to Solution.
2023-10-31 07:52 AM
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.
2023-10-30 02:44 AM
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.
2023-10-31 03:25 AM
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
2023-10-31 07:52 AM
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.