Quantcast
Channel: Forum - Recent Threads
Viewing all articles
Browse latest Browse all 5781

In My project flash memory Program is not Working

$
0
0

Hello,I Wrote Flash Memory Program in Dk S7G2 Board but when i make switch OFF and ON then In my GUIX screen Data was removed.My data was store in array.

Please give me answer where I do Mistake.

void data_flash_operations()
{

uint8_t read[64];
char write[4]; 

flash_result_t blankCheck;

/* Set write buffer, clear read buffer */
for(j=0;j<4;j++)
{
write[j] = g_target_temp_str[j];// array where my data was store

}
//char a[64]=write[j];
for(j=0;j<64;j++)
{
// // write[j] = g_target_temp_str[j];
read[j] =CLEAR_READ_BUFFER;//0x00000000
}
err = g_flash0.p_api->open(g_flash0.p_ctrl, g_flash0.p_cfg);
if(err != SSP_SUCCESS)
{
while(1);
}
/* Perform blank check */
err = g_flash0.p_api->blankCheck(g_flash0.p_ctrl, FLASH_DF_64B_BLOCK1, FLASH_DF_BLOCK_SIZE, &blankCheck);//FLASH_DF_64B_BLOCK1=0x40100040;

// if(err == SSP_SUCCESS)
// {
//
//
//
// /* Wait for callback function to set flag */
// while(!(flash_event_not_blank||flash_event_blank));
// if(flash_event_not_blank)
// {
//
// /* Reset Flag */
// flash_event_not_blank = false;
// }
// else if(flash_event_blank)
// {
//
// /* Reset Flag */
// flash_event_not_blank = false;
// }
// }

/* Erase a block */
err = g_flash0.p_api->erase(g_flash0.p_ctrl, FLASH_DF_64B_BLOCK1, 1 );


/* Perform blank check after erase to ensure block is blank */
err = g_flash0.p_api->blankCheck(g_flash0.p_ctrl, FLASH_DF_64B_BLOCK1, FLASH_DF_BLOCK_SIZE, &blankCheck);

if(err == SSP_SUCCESS)
{

if(blankCheck == FLASH_RESULT_BGO_ACTIVE)
{

/* Wait for callback function to set flag */
while(!(flash_event_not_blank||flash_event_blank));
if(flash_event_not_blank)
{

/* Reset Flag */
flash_event_not_blank = false;
}
else if(flash_event_blank)
{

/* Reset Flag */
flash_event_not_blank = false;
}
}
}


/* Write Data to Data Flash */
err = g_flash0.p_api->write(g_flash0.p_ctrl, (uint32_t) write, FLASH_DF_64B_BLOCK1, FLASH_DF_BLOCK_SIZE);

/* Delay of one cycle after write operation */
R_BSP_SoftwareDelay((uint32_t)DELAY, (bsp_delay_units_t)FREQ_Hz);

/* Read From DATA FLASH */
err = g_flash0.p_api->read(g_flash0.p_ctrl, read, FLASH_DF_64B_BLOCK1, FLASH_DF_BLOCK_SIZE);

}

 

/* Callback function for FLASH HP HAL. */
void BGO_Callback(flash_callback_args_t * p_args)
{
if(p_args->event == FLASH_EVENT_NOT_BLANK)
{
flash_event_not_blank = true;
}
else if(p_args->event == FLASH_EVENT_BLANK)
{
flash_event_blank = true;
}
else if(p_args->event == FLASH_EVENT_ERASE_COMPLETE)
{
flash_event_erase_complete = true;
}
else if(p_args->event == FLASH_EVENT_WRITE_COMPLETE)
{
flash_event_write_complete = true;
}
else if(p_args->event == FLASH_EVENT_ERR_DF_ACCESS)
{
flash_event_err_df_access = true;
}
else if(p_args->event == FLASH_EVENT_ERR_CF_ACCESS)
{
flash_event_err_cf_access = true;
}
else if(p_args->event == FLASH_EVENT_ERR_CMD_LOCKED)
{
flash_event_err_cmd_locked = true;
}
else if(p_args->event == FLASH_EVENT_ERR_FAILURE)
{
flash_event_err_failure = true;
}
}


Viewing all articles
Browse latest Browse all 5781

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>