This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PROCESSOR-SDK-AM64X: norflash indac erase to write

Part Number: PROCESSOR-SDK-AM64X


Hi, 

We are using devboard TMDS64EVM.

As we all know, before writing to nor flash, we will need to erase the page. 

However, why in the TRM spruim2h.pdf,  it was never mentioned that, you must erase the page before writing to it. 

eg: for TRM

12.3.2.4.10.2 Indirect Write Controller

12.3.2.4.10.2.1 Indirect Write Transfer Process

Besides, in sample code, there is no sign of erase_flash for nor flash. 

eg: for examle code.  in function :"Flash_norOspiWrite --> OSPI_writeIndirect" from ospi_v0.c

, there is no sign of "Flash_norOspiErase or cmdChipErase" or     Flash_eraseBlk.  There is no erase at all. 

in function "OSPI_writeDirect"  from ospi_v0.c , there is no sign of "Flash_norOspiErase or cmdChipErase" or     Flash_eraseBlk.  There is no erase at all. 

question.
1. Does it mean we don't need to erase flash, by calling DAC or INDAC write access?


Thanks
  • Hello Jun Tu, 

    Thank you for the query.

    The TRM does not explain the memory access related information. TRM provides details on the memory access supported by the SOC and details related to the access.

    You will have to refer to the memory data sheet for the understanding the memory erase, read and write operations.

    for examle code.  in function :"Flash_norOspiWrite --> OSPI_writeIndirect" from ospi_v0.c

    , there is no sign of "Flash_norOspiErase or cmdChipErase" or     Flash_eraseBlk.  There is no erase at all. 

    The Erase is a separate API (operation) compared to the write operations. An erase operation may not be required when you perform a write operation. There could be different combinations of writes that you might be using.

    in function "OSPI_writeDirect"  from ospi_v0.c , there is no sign of "Flash_norOspiErase or cmdChipErase" or     Flash_eraseBlk.  There is no erase at all. 

    question.
    1. Does it mean we don't need to erase flash, by calling DAC or INDAC write access?

    The write and erase are separate operations, and these operations are required and performed based on the application requirement.

    Regards,

    Sreenivasa