mikrocontroller.net

Forum: Projekte & Code SAM7FLASH kleiner USB Bootloader


Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo alle,

Die letzten Tage hab ich mich mit dem Thema USB rumgeschlagen und
versucht einen eigenen kleinen USB-Bootloader zu basteln, um SAM-BA
loszuwerden. Jetzt funktioniert er und kann auch auf anderen Boards
getestet werden.

Bei Interesse, kann man alle Details zum Bootloader auf meiner Homepage
(http://www.oxed.de) nachlesen. (Sourcecode ist dabei)

Ich würde mich über feedback freuen

Mfg
Thomas Pototschnig

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht sehr interessant aus - nur leider Windows only. Was macht diese
"USBLibrary"? Ist da viel Magie drin, oder könnte man das auch mit
wenig Aufwand z.B. mit libusb nachbilden (ich habe leider keinerlei
Erfahrung mit USB-Programmierung)?

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die USBLibrary ist aus dem Example "at91sam7s64_basicusb" des
WINARM-Pakets. Die Library verwendet den atm6124.sys Treiber und stellt
im Wesentlichen nur schreib und lese Funktionen über den Treiber zur
Verfügung.

Ich hab mal nach libusb gegurgelt und denke nicht, dass das so ein
großes Problem wäre die Applikation entsprechend umzubauen. Ich werd
mir morgen mal etwas Zeit nehmen um herauszufinden, was genau zu tun
wäre. Besonders interessant ist, dass es libusb auch für Win32 geben zu
scheint :-)

Gibt es hier evtl schon Leute, die mit libusb Erfahrung haben?

Autor: Lokko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jepp libusb ist nach einem cdc treiber die einfachste möglichkeit mit
usb devices kontakt aufzunehmen. einziger nachteil, den ich im moment
wüsste ist, dass es keine unterstützung für die 64bit windows versionen
gibt.

das beste ist, dass man den gleichen code auf win und linux nutzen
kann.

für den usb bootloader wäre wohl eine cdc implementierung das
genialste. dann könnten man unter linux wie windows über cdc sowie über
die libusb kommunizieren. dann ist auch eine nutzung unter xp64 kein
problem. unter windows hängt es dann nur vom inf file ab, was man
nutzt. unter linux bin ich mir nicht sicher, ob man auf ein vom system
als cdc device gemountetes usb device auch mit libusb zugreifen kann.

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo thomas,
ich arbeite gerade an einem cdc treiber unter libusb.
grund dafür war, das es mit usbser.sys und dem beispielprogramm vom
at91 zu sehr geringen übertragungsraten kam.
mit libusb läuft das ganze besser. probleme gibt es nur, wenn die
paketgröße eines bulk transfers < 64 bytes ist. daan "verschwindet"
ab und zu ein paket. die doku ist auch etwas dürftig aber ausreichend.

gruss
gerhard

Autor: DerMax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Brauch man für das Programm sonst noch irgendeinen Treiber? Wenn ich die
sam7flash.exe starte bekomme ich immer folgende Fehlermeldung:

Diese Anwendung konnte nicht gestartet werden, weil die
Anwendungskonfiguration nicht korrekt ist. Zur Problembehebung sollten
Sie die Anwendung neu installieren.

Autor: DerMax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Visual C installieren hats gebracht :)

Autor: MrRossi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.
Ich verwende den IAR-Compiler und würde den Bootloader auch gerne
verwenden.
Gibt es irgendwelche Projekte welche mit dem IAR-Compiler realisiert
worden sind?
Ich verwende auch bereits die USB-Schnittstelle. Kann ich trotzdem den
Bootloarder verwenden oder funktioniert das nicht?
Danke für antworten!
MrRossi

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vielleicht interessiert es jemanden, dass ich meinen flasher jetzt doch 
endlich nach Linux portiert hab mit libusb ...

Demnächst wirds dann die Linux-Version mal auf meiner Seite geben ... Da 
pack ich dann auch gleich noch ein Mini-Layout von meinem 
Bastel-ARM7-Board [1] dazu.

Mfg
Thomas Pototschnig

[1]: http://home.in.tum.de/~pototsch/sam7tst.jpg

Autor: Andreas Auer (aauer1) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Hätte gerne deinen Bootloader ausprobiert, aber das Windows Tool lässt 
sich bei mir nicht starten. Beim Aufruf aus der Console wird die Meldung 
"Das angegebene Programm kann nicht ausgeführt werden." ausgegeben. Muss 
man irgendwas beachten, wenn man das Programm starten will??

Thanks,
Andreas

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Auer wrote:
> Hätte gerne deinen Bootloader ausprobiert, aber das Windows Tool lässt
> sich bei mir nicht starten. Beim Aufruf aus der Console wird die Meldung
> "Das angegebene Programm kann nicht ausgeführt werden." ausgegeben. Muss
> man irgendwas beachten, wenn man das Programm starten will??

Bei VC++ scheinen DLLs oder sonstwas dabeizusein, die man normalerweise 
nicht hat, die aber gebraucht werden.

Ich werde sam7flash dann im Laufe des Tages nach vc++ rückportieren (mit 
libusb) und dann wird man den affigen Atmel-Treiber ganz los. Da scheint 
recht viel drin zu sein, das mit USB nichts zu tun hat. Jesper Hansen, 
der den Bootloader in seinem yampp integriert hat, hatte im 
Support-Forum ähnliche Probleme. Er konnte das lösen, indem er eine 
anders kompilierte Version vom PC-Tool zur Verfügung stellte. Ich weiß 
nur leider nicht, ob das PC-Programm noch kompatibel zu dem 
ursprünglichen Bootloader von mir ist.

Mfg
Thomas Pototschnig


Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mittlerweile funktioniert die Windows-LibUSB-Version auch ... am 
Wochenende gibts dann mal ein Update auf meiner HP mit Linux und Windows 
Version ...

Mfg
Thomas Pototschnig

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hat etwas länger gedauert, ist jetzt aber online.

Wenn jemand will, kann er die SAM7Flash-Version für Linux und Windows 
(beides LIBUSB) ausprobieren.

http://www.pcb-dev.com/showsite.php?open=028920af8...

Ich werde im Laufe der Woche noch eine Minimal-Board-Variante mit 
SAM7Sxx inkl USB auf meiner Seite zur Verfügung stellen, auf der dann 
direkt der Bootloader läuft. Eventuell kann jemand dann das als C++ 
Framework mit USB-Support nutzen :-)

Mfg
Thomas Pototschnig

Autor: embeddedsys (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
wie aufwendig wäre es den Code für den IAR Compiler zu portieren?
Ich würde den Bootloader gerne für den SAM7A3 einsetzen aber bräuchte 
Hilfe bzgl. der IAR Portierung.

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab keine Ahnung, ehrlich gesagt. Ich hab mit dem IAR noch nichts 
gemacht und man müsste den Code wohl einfach mal kompilieren um zu sehen 
was dann nicht funktioniert :-)

Mfg
Thomas Pototschnig

Autor: embeddedsys (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi und danke für die Antwort ;-)

Klar den Code kompilieren und so, werde ich wohl machen. Nur dachte ich 
es hätte jemand vielleicht schon gemacht und könnte sich dazu äußern 
oder evtl. den Code zur Verfügung stellen.

Wie ist das mit dem SAM7A3? Der Bootloader ist für die SAM7S-Reihe 
gemacht gibt es da größere Unterschiede zu den A3 außer die 
Peripherie/Pins oder lässt es sich einfach auf den A3 anwenden?

Autor: Bert M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

kann den Bootloader nicht laden.

Die Webseite gibt mir 'forbidden ..' zurück.

Was mache ich falsch?

Grüße Bert

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bert M. wrote:
> Hallo Thomas,
>
> kann den Bootloader nicht laden.
>
> Die Webseite gibt mir 'forbidden ..' zurück.
>
> Was mache ich falsch?

Hast du es über die Downloadseite versucht?
http://www.pcb-dev.com/showsite.php?open=e0c489a6e...

Mfg
Thomas Pototschnig

Autor: Bert M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, habe ich.

Der angezeigte Link ist 
'http://www.pcb-dev.com/getfile.php?download=7817ad....

Die Seitentext lautet wieder 'forbidden'.

Muß ich etwas im IE7 aktivieren?

Güße Bert

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm ... Direktes Linken geht nicht - man muss über die Downloadseite und 
man benötigt Cookies.

Kann es sein, dass du Cookies ausgeschaltet hast?

Mfg
Thomas Pototschnig

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie versprochen (aber leider verspätet) hier noch meine kleine 
SAM7-Minimal-Platine mit USB support:

http://www.pcb-dev.com/showsite.php?open=874ada094...

Mfg
Thomas Pototschnig

PS: Kann mal jemand den ganzen Thread in "Codesammlung" verschieben?

Autor: Marco S. (masterof)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Kann ich das vorhandene bin-File auch auf einen AT7sam7s256 flashen.

Gruß Marco

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nein, das Binary muss neu Kompiliert werden, weil der S256 eine größe 
Flash-Page-Größe hat. Ebenso muss die PC-Applikation neu kompiliert 
werden.

Mfg
Thomas Pototschnig

Autor: Programmer42 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,
hört sich interessant an, die Links funktionieren aber nicht mehr.
Wer kann mir da weiterhelfen?

Gruß und Dank für Eure Hilfe

KDU

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.