/* erase_flash_sector.c Erase Flash Ram by Sectors Written by: Rod Klein Date: July 23, 1998 Rev. History: */ /* Include Files */ #include #include #include "VISION.h" #include "tracker.h" #include "functions.h" /* Start program */ void erase_flash_sector( addr) unsigned int addr; { int i; int seconds; unsigned int bytes; unsigned int status; unsigned int fl_cmd; unsigned int fl_addr; unsigned int erase_data[] = {0x00AA, 0x0055, 0x0080, 0x00AA, 0x0055, 0x0030}; unsigned int erase_addr[] = {0x555, 0x2AA, 0x555, 0x555, 0x2AA}; i = 0; bytes = 0; status = 0; fl_cmd = 0; fl_addr = 0; seconds = 8; for( i=0; i<5; i++ ) { fl_addr = FLASH_RAM | (erase_addr[i] << 2); fl_cmd = (erase_data[i] << 24) | erase_data[i]; status = VISIONwrite( finder, fl_addr, WORD_LEN, &bytes, &fl_cmd); if( status != 0 ) perror(" erase_flsh_sector: VISIONwrite"); } fl_addr = FLASH_RAM | (addr << 2); fl_cmd = (0x30 << 16) | 0x30; status = VISIONwrite( finder, fl_addr, WORD_LEN, &bytes, &fl_cmd); if( status != 0 ) perror(" erase_flsh_sector: VISIONwrite"); sleep( seconds); }