Forum: Mikrocontroller und Digitale Elektronik Flashtest fuer Atmel AT49xx Flash chips


von Valko Z. (hydravliska)


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 */
  }
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.