/
void Save_K(void) //将DDR2当中的K值写入到flash当中
{
uint8 *pointK;
uint16 i=0;
alt_flash_fd* fd;
pointK = (uint8 *)(DDR_K_BASE);
fd = alt_flash_open_dev(EPCS_FLASH_CONTROLLER_0_NAME);
if(fd!= NULL)
{
alt_erase_flash_block(fd,EPCS128_K_1_ADDR,1);
for(i=0;i<150;i++) //76800*2byte/1024
alt_write_flash_block(fd,43,EPCS128_K_1_ADDR + 1024*i, (uint8 *)(pointK + 1024*i),1024);
}
alt_flash_close_dev(fd);
}
void Load_K(void) //主函数初始化调用
{
alt_flash_fd* fd;
uint16 i = 0;
uint8 *point_K;
point_K = (uint8 *)DDR_K_BASE;
fd = alt_flash_open_dev(EPCS_FLASH_CONTROLLER_0_NAME);
if (fd != NULL)
{
for(i=0;i<150;i++) // 320*240*2byte/1024 1块=1024
{
alt_read_flash(fd, EPCS128_K_1_ADDR + 1024 * i, (uint8 *)(point_K + 1024 * i), 1024);
}
}
alt_flash_close_dev(fd);
}
很经典的操作save_k(),将ddr中的数据保存到flash中,load_k()把flash的数据加载到ddr中。