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
Edit Notes
.
[edited by: John21 at 11:22 AM (GMT -4) on 17 Aug 2021]
blackfin
Hi,
Please download and install BF609 BSP package from the below link.
download.analog.com/.../ADI_ADSP-BF609_Evaluation_Board-Rel1.1.0.exe
Refer "pc28f128p33.c" file from POST example in the below path to know about writing and reading the data from pc28f128P33 flash <Installation path>\ADSP-BF609_Evaluation_Board-Rel1.1.0\BF609_EZ-Board\Blackfin\Examples\Power_On_Self_Test
Regards,
Anand Selvaraj.
Hi Anand Selvaraj,
I tried after referred "pc28f128p33.c" file from power on self test and write data (0x123) in 60 sector but I got the value 70 after write that data into that sector.
When I tried to read after sector erase I got the value as ff. Was that right?
By default, any data available in nor flash? If it is what kind of data available and what happens if those data's erased?
Am i able to write and read data into nor flash again?
Regards,
John
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.
Hi,
Our setup details:
CCES 2.9.3.0
ADSP BF609 EZ-board 1.0 rev 0.2
Please refer the attached code here..
4617.nor.zip
Regards,
Ragav.
Hi,
After erasing I got the following "ReadStatusRegister" value "0xffa0207e".
Regards,
Ragav
Hi,
Any update ?
Thanks.
Hi Anand Selvaraj,
When will I get the update?
Thanks and Regards,
Ragav.
Hi,
We have created project based on your source files and able to write and read the data from flash successfully. Please refer the attached project.
We are also tried with different BF609 EZ-KITs and works fine. If possible can you please try with some other BF609 EZ-kit.
If still you are facing issue, can you please email to Processor Support through: processor.support@analog.com
Please make sure to add the link of this EZone thread while contacting private support.
nor_test_Core0.zip
Regards,
Anand Selvaraj.
Please log in to reply.
