示例#1
0
/*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
* Function:     emu_Flash_Release
* Inputs:       none
* Outputs:      PASS=0 (notice 0=ok here)
* Description:          Releases the flash.  
*               
*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/
uint16 emu_Flash_Release()
{
    int i;

#if FLASH_EMU_STATIC_MALLOC
    emu_write_mem_to_file(); 
#endif

#if FLASH_EMU_STATIC_MALLOC    
    i = 0;
    GLOB_FREE(GLOB_flash_memory[0]);
#else
    for(i=0;i<GLOB_LLD_BLOCKS*GLOB_LLD_PAGES;i++)
    {
        if (GLOB_flash_memory[i]) {
#ifdef ELDORA
            free(GLOB_flash_memory[i]);
#else
            GLOB_FREE(GLOB_flash_memory[i]);
#endif
            GLOB_flash_memory[i] = NULL;
        }
    }
#endif
    return PASS;
}
示例#2
0
/*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
* Function:     emu_Flash_Release
* Inputs:       none
* Outputs:      PASS=0 (notice 0=ok here)
* Description:          Releases the flash.
*
*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/
int emu_Flash_Release(void)
{
    nand_dbg_print(NAND_DBG_TRACE, "%s, Line %d, Function: %s\n",
                   __FILE__, __LINE__, __func__);

    emu_write_mem_to_file();  /* Write back mem to nand emu file */

    vfree(flash_memory[0]);
    return PASS;
}