Flashtest fuer Atmel AT49xx Flash chips

OP #653588
Lesenswert?

Hallo Leute,

Hat schon jemmand ein flashtest fuer diese chips geschrieben oder 
irgendwelche   beispiele dafür.

Ich habe ein problem dass ich der Flash nur beschreiben kann, aber 
löschen geht einfach nicht. Ich gebe die richtige Befehle aber es 
scheint was falsch zu sein. Meine "Write" funktion is OK aber die 
"Erase" geht nicht.Hier ist den source code:

pSektor = zeiger auf der Sector
FLASH_OFFSET = 0x0

void DeleteSektor_Cp(void)
{
  unsigned short *pSektor = (unsigned short*) nFlash_Para[0];
  volatile unsigned short* ROM = FLASH_OFFSET;

//  Delete sector - 6 cycles
    ROM[FLASH_SETUP_ADDR1] = FLASH_SETUP_CODE1;
    ROM[FLASH_SETUP_ADDR2] = FLASH_SETUP_CODE2;
    ROM[FLASH_SETUP_ADDR1] = FLASH_SETUP_CODE3;
    ROM[FLASH_SETUP_ADDR1] = FLASH_SETUP_CODE1;
    ROM[FLASH_SETUP_ADDR2] = FLASH_SETUP_CODE2;
    *pSektor = FLASH_BLOCK_ERASE;

  do{
    ;                  /* Reserved for TimeOut */
  }while(  (((*(unsigned short*)(nFlash_Para[0])) & 0x80) == 0) &&
    (((*(unsigned short*)(nFlash_Para[0])) & 0x20) == 0) );


  if(((*(unsigned short*)(nFlash_Para[0])) & 0x80) == 0)
  {
//    *(unsigned short*)(nFlash_Para[0]) = 0xF0;    /* Reset Flash */
    nFlash_Para[0] = 0;                /* Erase failed */
  }
  else
  {
    nFlash_Para[0] = 1;                /* Erase OK */
  }
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren