www.pudn.com > H265+_C64X_2008.8.rar > evmdm642_flash_write.c
/* * Copyright 2003 by Spectrum Digital Incorporated. * All rights reserved. Property of Spectrum Digital Incorporated. */ /* * ======== evmdm642_flash_write.c ======== * EVMDM642_FLASH_write() implementation */ #include#include #include #include /* Write data to a data range in Flash */ void EVMDM642_FLASH_write(Uint32 src, Uint32 dst, Uint32 length) { Uint8 *psrc, *pdst; Uint32 i; /* Establish source and destination */ psrc = (Uint8 *)src; pdst = (Uint8 *)dst; for (i = 0; i < length; i++) { // Program one 8-bit word *((Uint8 *)EVMDM642_FLASH_BASE) = 0xaa; *((Uint8 *)EVMDM642_FLASH_BASE) = 0x55; *((Uint8 *)EVMDM642_FLASH_BASE) = 0xa0; *pdst = *psrc; // Wait for operation to complete while(1) if (*pdst == *psrc) break; pdst++; psrc++; } /* Put back in read mode */ *((Uint16 *)EVMDM642_FLASH_BASE) = 0xf0; }