www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT90CAN128, Bootloader Rampz


Autor: J_c_b Fernandez (j_fernandez)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn ich auf meinem uC (AT90CAN128) den Speicher aus dem Bootloader 
auslese, lese ich zuerst den unteren Bereich des 128K Flash, setze 
RAMPZ=1, um den oberen Bereich zu lesen. Hier gibt er mir den unteren 
Bereich des Speichers wieder aus. Hier der Code:

Size_Firmware = 0x00020000;
uint32 i;
uint32 j;





static void copyCpuFlashToBuffer( uint32 cpuAddress, byte* buffer )
{
  uint16 i;
  if( cpuAddress >= 0x10000 )
    RAMPZ = 1;
  else
    RAMPZ = 0;


  _cpuFlashCurrentPageAddress_register6 = cpuAddress;
  for( i = 0; i < 256; i += 2 )
  {
    /* 2 Bytes aus cpuflash lesen */
    #asm
      movw r30, r6;       //move  _cpuFlashCurrentPageAddress_register6 
to Z pointer
      lpm r2, Z+;         //read LSB
      lpm r3, Z;          //read MSB
    #endasm

    buffer[ i     ] = _pageData_register2_3;
    buffer[ i + 1 ] = _pageData_register2_3 >> 8;
    _cpuFlashCurrentPageAddress_register6 += 2;
  }
}


main()
{
for( i = 0; i < Size_Firmware; i += 256 )
  {
    copyCpuFlashToBuffer( i , _buffer );
      for( j = 0; j < 256; j++ )
      {
        Putchar (_buffer[j]);
      }
  }
}



MFG Fernandez

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.