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


von T.Rohde (Gast)


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

von gerhard (Gast)


Lesenswert?

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

gruss
gerhard

von T.Rohde (Gast)


Lesenswert?

dankeschön. Das hab ich übersehen...

Grüße

von gerhard (Gast)


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

von T.Rohde (Gast)


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.

von Tobias R. (tobiasrohde)


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

von gerhard (Gast)


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

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.