Part Number: AM2432
Other Parts Discussed in Thread: UNIFLASH, SYSCONFIG
Hi,
we are using AM243x with a custom QSPI flash A (GigaDevice GD25Q64E) on OSPI interface. We already created a custom flasher_jtag_uniflash project for programming the flash with uniflash tool and a custom sbl to copy the application from the custom flash to RAM. This works already pretty well. Also writing to flash in sbl is ok.
In a first step, for a firmware upgrade process, I copy a firmware image from a location in flash A to another location in flash A and vice versa. This is done sector by sector and works without issues.
In an second step, we connected a 2nd custom flash B of the same type (GigaDevice GD25Q64E) on MCSPI (SPI2). Aim is to copy the firmware image from a location in flash B to a location in flash A and vice versa. For copying I use the same code except the driver to read/write from/to flash B because it is connected via MCSPI and not via OSPI interface.
Now, in the mentioned setup I run into the following issues during write to flash A (OSPI):
In OSPI_waitIndWriteComplete() the code cannot detect the completion of the process and returns with error. Now, I suspect communication by MCSPI to somehow disturb communication to OSPI. But I cannot figure it out. MCSPI and OSPI never act parallel. Do you have any ideas what might go wrong in this setup? What is shared between both peripherals? DMA?
For reference I added the syscfg file.
Thanks in advance and best regards,
Peta