This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: RedBoot RAM version problem
>>>>> "Andre" == Andre Sebastien <sebastien.andre@sxb.bsf.alcatel.fr> writes:
Andre> Hi everybody !! So i try to increase a pause in this function
Andre> : 'void flash_dev_query(void* data)'
Wrong place. You want to tweak this function:
//----------------------------------------------------------------------------
// Flash Query
//
// Only reads the manufacturer and part number codes for the first
// device(s) in series. It is assumed that any devices in series
// will be of the same type.
void
flash_query(void* data)
{
volatile flash_data_t *ROM;
flash_data_t* id = (flash_data_t*) data;
int i;
ROM = (volatile flash_data_t*) CYGNUM_FLASH_BASE;
ROM[FLASH_Setup_Addr1] = FLASH_Setup_Code1;
ROM[FLASH_Setup_Addr2] = FLASH_Setup_Code2;
ROM[FLASH_Setup_Addr1] = FLASH_Read_ID;
// FIXME: 10ms delay
for (i = 10000; i > 0; i--);
// Manufacturers' code
id[0] = ROM[0];
// Part number
id[1] = ROM[1];
ROM[FLASH_Setup_Addr1] = FLASH_Setup_Code1;
ROM[FLASH_Setup_Addr2] = FLASH_Setup_Code2;
ROM[FLASH_Setup_Addr1] = FLASH_Read_ID_Exit;
// FIXME: 10ms delay
for (i = 10000; i > 0; i--);
}
it's in devs/flash/atmel.../flash_at29cxxxx.inl
Jesper