This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Flash Read Issue in NRF52

Hi All,

In Flash read am facing one issue .

Am writing some data to Flash and trying to read back, But when I read back I get some corrupted data or am not able to read in Flash .Am using this code to test flash read timings in Heart rate Sensor example in 11.0.0.2 alpha SDK with NRF52 DK . Here is my code snippet :

**// flash write**

    pg_size = NRF_FICR->CODEPAGESIZE;
    pg_num  = NRF_FICR->CODESIZE - 1;  // Use last page in flash
    addr = (uint32_t *)(pg_size * pg_num);
    printf("Page Size %d\r\n",pg_size);  // it is 4096 
    flash_page_erase(addr);
    printf("before flash write\r\n");
    for(i=0;i<4096;){
			i=i+4;
                        flash_word_write(addr,(uint32_t)'1');
                        ++addr;
    }
    printf("After flash write\r\n");

**// flash read**


   addr = (uint32_t *)(pg_size * pg_num); 

   for(i=0;i<4096;){
 
    addr++;

     printf("flash data:%d %c \r\n",i,*addr);

     i=i+4;

  }

First 32 (i=32) are coming properly but after that some random prints are coming , Am I doing anything wrong ??

I tried memcpy also that to have the same issue ,

Parents
  • Hi Aryan,

    I saw below comments in one of your post that helped me fix the issue,

    Try to increase the value for UART_RX_BUF_SIZE and UART_TX_BUF_SIZE to a greater value so that fifo library has more space to buffer. I am not sure if this will solve the problem, but it will at least rule out insufficient buffer problem.

    But still I have one question , actually I am trying to print character by character but how this is affected by UART_TX_BUF_SIZE ...... If I need to have more logs do I need to increase the buffer still ? DOes this buffer will also consume my RAM?

    Thanks for your support !!

Reply
  • Hi Aryan,

    I saw below comments in one of your post that helped me fix the issue,

    Try to increase the value for UART_RX_BUF_SIZE and UART_TX_BUF_SIZE to a greater value so that fifo library has more space to buffer. I am not sure if this will solve the problem, but it will at least rule out insufficient buffer problem.

    But still I have one question , actually I am trying to print character by character but how this is affected by UART_TX_BUF_SIZE ...... If I need to have more logs do I need to increase the buffer still ? DOes this buffer will also consume my RAM?

    Thanks for your support !!

Children
No Data
Related