Post Go back to editing

Write data into NOR Flash sector

Hi all,

   I am working on BF609, When i try to write some data like 0x1254 in particular sectors using pc28f128P33_Write() into nor flash. It writes the data into that sector.

But when I read that sector it cannot give the exact data I passed into that sector, the write and read addresses are same. Before write when I read it gives some data value and after write it gives the value which is not matching, every time the same values shown even when I write into another sectors.

Please somebody help me to fix this issue.

Thanks..

Regards

John



.
[edited by: John21 at 11:22 AM (GMT -4) on 17 Aug 2021]
Parents
  • Hi Anand Selvaraj,

    Any update?

    Regards,

    John

  • Hi,

    We are able to write and read in flash successfully. Please refer the attached project which writes data 0x123 in 60th sector address(0xB0720000) and read the value from the same address.

    During a block erase, the WSM executes a sequence of internally-timed events that conditions, erases, and verifies all bits within the block. Erasing the flash memory array changes “zeros” to “ones”. Memory array bits that are ones can be changed to zeros only by programming the block.

    For more details regarding flash, we recommend to refer datasheet of pc28f128P33.

    BF609_flash_pc28f128P33_Core0.zip



    Regards,
    Anand Selvaraj.

  • Hi Anand Selvaraj,

    I tried to read and write it works, but after executed entire chiperase() I can't able to read and write. Also tried your program but the manufacture code is not matching after set.

    I think its because of the chip erase, before the chip erase able to read and write in any sector.

    Is that right? What kind of data available in nor flash initially?

    Thanks for the reply..

    Regards,

    John

  • Hi,

    I am also facing this problem after erasing the entire nor flash.

    Help me to fix this issue.

    Thanks.

  • Hi,

    After getting the manufacture and dev Id's it can't match right?

    What is the reason for that issue?

  • Hi,

    When will I get the update?

    Regards,

    John

  • Hi,

    After erasing all sectors, we are able to write and read the values correctly. please refer the screenshot.
    To assist you better,can you please share us the below points.
    1. Are you using custom board or Ezkit.
    2. Can you please try to flash simple led program in to the parallel flash and let us know the result. Device programmer "bf609_pc28f128p33_dpia.dxe" is used to communicate with flash and load the ldr in the flash.


    Regards,
    Anand Selvaraj.

  • Hi Anand Selvaraj,

    1.We are using ezkit.

    2. Like you said  we tried blinking led program into flash and it worked fine.

    This is what we tried     "pCmdBuffer.SEraseSect.ulFlashStartAddr = FLASH_START_ADDR;
                                           Result = pc28f128P33_Control( CNTRL_ERASE_ALL, &pCmdBuffer );"

    When we run your code in our board flash code not matched "Detected manufacturer code of 0x90 and device code of 0x90Test Failed: Flash codes do not match what we expectedTest Failed: Flash codes do not match what we expected"

    How to solve this issue?

    Regards,

    Ragav

  • Hi,

    Below is our setup details:
    CCES: 2.10.0
    BF609 rev 0.2

    While debugging the attached project, we got below results.
    Detected manufacturer code of 0x89 and device code of 0x8821 Erasing all sectors Testing sector 60...
    Test passed

    Device programmer for flash "bf609_pc28f128p33_dpia.dxe" is used to erase the flash and write the loader file in to flash. If LED example boots successful, it means that you were able to erase and write into flash successfully.

    Can you please share us the steps to follow to reproduce this issue and please share us your board details.
    Also, please share Status register value after erasing. Use "ReadStatusRegister" function to get Status register value.

    4846.BF609_flash_pc28f128P33_Core0.zip


    Regards,
    Anand Selvaraj.

Reply
  • Hi,

    Below is our setup details:
    CCES: 2.10.0
    BF609 rev 0.2

    While debugging the attached project, we got below results.
    Detected manufacturer code of 0x89 and device code of 0x8821 Erasing all sectors Testing sector 60...
    Test passed

    Device programmer for flash "bf609_pc28f128p33_dpia.dxe" is used to erase the flash and write the loader file in to flash. If LED example boots successful, it means that you were able to erase and write into flash successfully.

    Can you please share us the steps to follow to reproduce this issue and please share us your board details.
    Also, please share Status register value after erasing. Use "ReadStatusRegister" function to get Status register value.

    4846.BF609_flash_pc28f128P33_Core0.zip


    Regards,
    Anand Selvaraj.

Children