mikrocontroller.net

Forum: Compiler & IDEs Frage zu Prüsumme und zum Flash lesen


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle

Beim schreiben eines Bootloaders hab ich nun 2 Fragen. Ich sende die 
Pages vom PC zum Avr. Hier ist eine Prüfsumme sicher sehr sinnvoll. Nur 
die Pages haben eine Größe bis zu 256 Bytes.

Welche Methoden sind den hier sinnvoll?? (einefache Prüfsumme aus den 
Modulo 255 Werten der Bytes oder doch eine höherer Methode??)

So nun die 2. Frage: Beim Bootloader möchte ich auch die Möglichkeit 
haben den Avr auszulesen. Nur wie lese ich den ganzen Flash Speicher aus 
der Boot Sektion aus??

Danke im Voraus

Gruß Martin

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab noch eine Frage,

Jeder Avr Typ hat doch sichher eine eigene Device ID. Wie kann ich die 
aus dem AVR auslesen?

Danke im Voraus

Gruß Martin

Autor: Ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ein 16-Bit-Wert,der lediglich nur alle aufaddierten Bytes 
beinhaltet,funktioniert schon recht zuverlässig.Sollten die Daten bei 
der Übertragung gestört werden (1-Bit und Mehrbit-Fehler),ist die 
Wahrscheinlichkeit sehr hoch,das du damit ungültige Daten 
erkennst.Allerdings bieten CRC&Co eine bessere Fehlererkennungsrate.

Zur ID:

In der Application-Note AVR910 von Atmel (doc0943.pdf) wird u.a. das 
Auslesen des Devicecode beschrieben.Einfach mal danach googlen.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Ronny

Danke für die Tipps. Ich hab mir die App Note von Atmel mal angeschaut. 
Ist recht interessant. Das Problem bei mir ist aber, dass ich nicht mit 
ISP programmiere, sondern über USB (mit FT245) oder über RS232.

Kann ich da auch irgendwie zum Device Code kommen?

Gruß Martin

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf 
http://www.roboter-teile.de/modules.php?name=Forum... 
hab ich schon einige Device Codes gefunden :)
    Device code: 0x13 = AT90S1200
    Device code: 0x20 = ATtiny2313
    Device code: 0x28 = AT90S4414
    Device code: 0x30 = AT90S4433
    Device code: 0x34 = AT90S2333
    Device code: 0x38 = AT90S8515
    Device code: 0x48 = (unknown)
    Device code: 0x4c = AT90S2343
    Device code: 0x51 = (unknown)
    Device code: 0x55 = ATtiny12
    Device code: 0x56 = ATtiny15
    Device code: 0x68 = AT90S8535
    Device code: 0x6c = AT90S4434
    Device code: 0x86 = (unknown)
    Device code: 0x87 = (unknown)
    Device code: 0x23 = (unknown)
    Device code: 0x3a = ATMEGA8515
    Device code: 0x3b = (unknown)
    Device code: 0x41 = ATMEGA103
    Device code: 0x43 = ATMEGA128
    Device code: 0x44 = (unknown)
    Device code: 0x45 = (unknown)
    Device code: 0x46 = (unknown)
    Device code: 0x5e = ATTINY26
    Device code: 0x60 = ATMEGA161
    Device code: 0x61 = (unknown)
    Device code: 0x62 = (unknown)
    Device code: 0x63 = (unknown)
    Device code: 0x64 = ATMEGA163
    Device code: 0x66 = (unknown)
    Device code: 0x69 = (unknown)
    Device code: 0x6a = (unknown)
    Device code: 0x72 = ATMEGA32
    Device code: 0x73 = (unknown)
    Device code: 0x74 = ATMEGA16
    Device code: 0x75 = ATMEGA169
    Device code: 0x76 = ATMEGA8
    Device code: 0x77 = (unknown)
    Device code: 0x78 = (unknown)
    Device code: 0x79 = (unknown)
    Device code: 0x65 = (unknown)
    Device code: 0x67 = (unknown)
    Device code: 0x42 = (unknown) 

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ich werde die CRC Prüfung nach dem gleichem Schema wie im IP 
Protokoll oder TCP Protokoll machen. Sprich: Addition der 
EInerkomplemente und dann aus der Summe wieder das Einerkomplement. Ich 
werde es aber auf 8 Bit BAsis machen.

Nun zum Problem beim Device ID auslesen. Ist das über den Bootlaoder 
möglich?

Gruß Martin

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ich hab nun wieder eine Tabelle mit Device Codes gefunden: 
http://www.atmel.com/dyn/resources/prod_documents/...

Jedoch unterscheiden sich die mit den obrigen.

Wo finde ich zuverlässige Quellen. Die Device ID ist ja für jeden Avr 
Typ fix, oder??

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke hierbaei handelt es sich nur um die Device Codes für das ST500 
Protkoll und hat nichts mit der Device ID des AVRs selbst zu tun, oder?

Ich möchte halt kontrolliern ob die Target MCU dem eingestellten 
Controller übereinstimmt...

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.