SAM7FLASH kleiner USB Bootloader

OP #323409
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
OP #323411
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?
Gast #323412
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.
Gast #323413
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
Gast #323414
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.
Gast #323416
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
OP #578496
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

OP #764447
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=028920af8dae02eeaad3fd119569bfae

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
Gast #765968
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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren