www.mikrocontroller.net

Forum: Codesammlung SAM7FLASH kleiner USB Bootloader

Autor: Thomas Pototschnig (pototschnig)
Datum: 13.04.2006 21:17

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
Datum: 16.04.2006 20:50

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: 16.04.2006 21:08

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: 16.04.2006 21:59

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: 17.04.2006 09:05

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: 14.05.2006 19:45

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: 14.05.2006 20:26

Visual C installieren hats gebracht :)
Autor: MrRossi (Gast)
Datum: 30.06.2006 12:06

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: 09.06.2007 23:01

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: 10.06.2007 00:17

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: 10.06.2007 08:36

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: 22.06.2007 10:10

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: 28.01.2008 11:19

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: 29.01.2008 16:13

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: 29.01.2008 16:31

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: 29.01.2008 17:17

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: 21.02.2008 07:06

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: 21.02.2008 08:54

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: 21.02.2008 14:30

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: 21.02.2008 14:55

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: 23.02.2008 11:31

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 Schwan (masterof)
Datum: 26.03.2008 22:30

Hallo,

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

Gruß Marco
Autor: Thomas Pototschnig (pototschnig)
Datum: 27.03.2008 12:54

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

Antwort schreiben

Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email ü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




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate

Hinweis: der Originalbeitrag ist mehr als 6 Monate alt.
Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net