mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT91SAM7S - SAM-BA Protokoll?


Autor: T.Rohde (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich möchte einen AT91SAM7S32 mittels SAM-BA programmieren. Das 
funktioniert auch mit dem entsprechenden Windows Programm von Atmel 
wunderbar. Für meine Anwendung, in der der SAM7 nur ein Co-Prozessor 
ist, wäre es schön, wenn ich selbst über die serielle Schnittstelle den 
Arm programmieren könnte.
Eine Möglichkeit wäre die Kommunikation die SAM-BA mit dem Chip 
durchführt mitzuloggen und dann das ganze nachzumachen.
Lieber wäre mir aber eine Dokumentation des SAM-BA Protokols. Kann mir 
da jemand helfen? Oder kennt jemand vieleicht einen SAM-BA Programmierer 
für Linux dessen Source frei zugänglich ist?

Grüße und Danke
Tobias

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo tobias,
im datenblatt des at91sam7s, kapitel "22.AT91SAM7 Boot Program" findest 
du alle infos die notwendig sind.

gruss
gerhard

Autor: T.Rohde (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dankeschön. Das hab ich übersehen...

Grüße

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich würde dir aber empfehlen sam-ba nicht zu verwenden, da die recovery 
prozedur sehr umständlich ist.
besser ist sicher ein "normaler" bootloader.

gruss
gerhard

Autor: T.Rohde (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okey stimmt,aber habs nun so zum Laufen gebracht.
Sam-ba wird automatisch geladen (hab den TST Pin an den Hauptcontroller 
angeschlossen) und dann wird das Flash über SAM-BA vom 2. Controller 
beschrieben.

Mit SAM-BA hat man Zugriff auf den gesamten Adressraum. Um zu flashen 
muss man allerdings noch den EFC richtig konfigurieren, was etwas 
"fummelig" ist, da man direkt an die entsprechende Speicherstelle 
(0xffffff64 und 0xffffff68) schreiben muss.

Funktioniert gut und auch beim 1. maligen flashen des SAM7, im Gegensatz 
zum eigenen Bootloader.
Insgesamt brauch ich für einen Flashvorgang ca. 15 Sek, wobei die meiste 
Zeit dafür verwendet wird um SAM-BA an den Anfang des Flashes zu 
kopieren.

Eventuell könnte man des ganze ja auch als kleines Modul aufbauen um 
SAM7s ohne JTAG relativ komfortabel, ohne eigenen Bootloader, zu 
flashen. Habs jetzt mit einem M32C als Hauptprozessor realisiert, müsste 
aber auch mit einem kleinerem AVR gehen.

Autor: Tobias Rohde (tobiasrohde)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Interesse poste ich später mal den Code mit dem man über SAM-BA, 
ohne das Windows Programm oder DLL, flashen kann.

Wobei man nach Möglichkeit schon mit einer JTAG entwickeln sollte, ist 
ja bequemer...

Grüße

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Bei Interesse poste ich später mal den Code mit dem man über SAM-BA,
>ohne das Windows Programm oder DLL, flashen kann.
wäre sicher von interesse!


gruss
gerhard

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.