Hallo, ich suche einen OpenSource JTAG Programmer für SAM7. OpenSource deshalb, da die JTAG-Pins an GPIOs eines anderen ICs hängen und ich daher keinen normalen Programmieradapter verwenden kann und den SourceCode anpassen muss. Im Voraus vielen Dank für Tipps Mfg Morpheuz
> OpenSource deshalb, da die JTAG-Pins an GPIOs eines anderen > ICs hängen und ich daher keinen normalen Programmieradapter > verwenden kann und den SourceCode anpassen muss. Du bist Dir aber schon im Klaren darüber, daß die JTAG-Schnittstelle des ARMs nur an den dafür vorgesehenen Pins nutzbar ist? Du kannst dafür keine anderen Pins verwenden. Da hilft auch kein Anpassen irgendwelchen Sourcecodes.
> Du bist Dir aber schon im Klaren darüber, daß die JTAG-Schnittstelle des > ARMs nur an den dafür vorgesehenen Pins nutzbar ist? Du kannst dafür > keine anderen Pins verwenden. Da hilft auch kein Anpassen irgendwelchen > Sourcecodes. Selbstverständlich! Kuckst du hier: >> da die JTAG-Pins an GPIOs eines anderen ICs hängen Stell dir vor ich hätte irgendein IC das GPIOs hat und ich will über diese GPIOs den ARM7 programmieren. Das IC mit den GPIOs ist natürlich NICHT der ARM7 - das wäre ja furchtbarer Quatsch. Ich such eine PC-Software die OpenSource ist, damit ich die Software so anpassen kann, dass die JTAG-Pins über die GPIOs des anderen ICs gehen. Stell dir vor der ARM7 würde an den GPIOs einer z.B. PCI-Bridge hängen. Mfg Morpheuz
>> da die JTAG-Pins an GPIOs eines anderen ICs hängen Und? Das kann man auch so interpretieren: "Da die eigentlichen JTAG-Pins schon anderweitig belegt sind". Na gut. Du also willst einen JTAG-Adapter mit eigener Hardware bauen und den mit Software die irgendwodrauf läuft ansteuern. Das wirst Du mit den Sourcen von OpenOCD vermutlich hinbekommen können, nur wird das ein Heidenaufriss werden, da Du ja eigene Hardware verwenden möchtest. Was ist das für ein "anderes IC mit GPIOs"?
Hallo, > Das wirst Du mit den Sourcen von OpenOCD vermutlich hinbekommen können, > nur wird das ein Heidenaufriss werden, da Du ja eigene Hardware > verwenden möchtest. Ich seh das garnicht so. Ich hab nur einen anderen "Kommunikationsweg" - der Rest bleibt gleich. > Was ist das für ein "anderes IC mit GPIOs"? Es ist tatsächlich eine PCI-Bridge :-) Aber das Ganze soll nicht nur mit einer PCI-Bridge verwendet werden, sondern mir alle Möglichkeiten offen halten irgendwo beliebige JTAG Schnittstellen zu implementieren. Von mir aus auch über USB -> AVR -> JTAG oder sonstwas. Ich such doch wirklich nur eine OpenSource-Software die SAM7 per JTAG programmiert - mehr will ich doch nicht ... Zweifelt doch bitte nicht immer grundsätzlich an den Motiven des Posters :-) Mfg Morpheuz
AFAIK ist nicht alles in OpenOCD "Open Source". So weit ich mich erinnere gibt es eine Abstraktion zur Kommunikationsschicht, die von ARM geschützt ist und nicht offengelegt werden darf.
Na, OpenOCD ist die Ausgangsbasis für Deine Vorstellungen. Nur solltest Du Dir das Implementieren des "anderen Kommunikationsweges" nicht so trivial vorstellen. Die Variante, die mit FT2232 arbeitet, nutzt eine spezielle JTAG-DLL, die die erweiterten Funktionen der im FT2232 enthaltenen MPSSE ausnutzt. Das dürfte sich nicht auf irgendwas anderes portieren lassen. Was Du Dir als Ausgangspunkt anschauen solltest, ist der Quelltext für klassische Parallelport-JTAG-Adapter wie den "Wiggler" von Macraigor. Das ist nur ein simpler Bustreiber, der direkt an der Druckerschnittstelle hängt und der mit "Bit-Banging", also Gewackel an den Pins der Druckerschnittstelle angesprochen wird. Das sollte sich in der Tat auf andere parallel ansteuerbare Schnittstellen wie Deine PCI-Bridge umbiegen lassen, sofern Du mal eben noch den dafür erforderlichen Windows-Devicetreiber schreibst oder aber die Bridge über einfaches Port-I/O angesteuert werden kann und Du so etwas wie "giveio.sys" einsetzt.
> Was Du Dir als Ausgangspunkt anschauen solltest, ist der Quelltext für > klassische Parallelport-JTAG-Adapter wie den "Wiggler" von Macraigor. > Das ist nur ein simpler Bustreiber, der direkt an der > Druckerschnittstelle hängt und der mit "Bit-Banging", also Gewackel an > den Pins der Druckerschnittstelle angesprochen wird. Ja genau daran hab ich gedacht. > Das sollte sich in der Tat auf andere parallel ansteuerbare > Schnittstellen wie Deine PCI-Bridge umbiegen lassen, sofern Du mal eben > noch den dafür erforderlichen Windows-Devicetreiber schreibst oder aber > die Bridge über einfaches Port-I/O angesteuert werden kann und Du so > etwas wie "giveio.sys" einsetzt. Glaub mir - das ist das kleinste Problem! Die PCI Karte ist bereits mit eigenen Treiber in einer Software eingebunden und funktioniert auch. Sowas wie GiveIO oder PortTalk fällt damit weg. Danke für die bisherigen Tipps und ich hoffe dass mich OpenOCD da weiterbringt ... Irgendwie schade, dass es noch nicht so ultra-easy-tools wie z.B. AVRDude für die SAM7 gibt. Mfg Morpheuz
> Irgendwie schade, dass es noch nicht so > ultra-easy-tools wie z.B. AVRDude für die SAM7 gibt. Gibt es doch - Atmels SAMBA. Nur nicht für eine so undefinierte Schnittstelle wie JTAG (undefiniert ist hier die Anbindung an PC-Hardware, da gibt es halt nicht den Standard für JTAG, sondern zig unterschiedliche Implementierungen). Auch ist eine JTAG-Schnittstelle schon für ein bisschen andere Aufgaben gedacht als nur irgendwelche Flash-ROMs zu programmieren; beim Programmieren über JTAG wird ja auch nicht das Flash direkt programmiert, sondern das Nutz-Programm und ein Hilfsprogramm ins RAM geladen, um dann mit dem Hilfsprogramm (das zum Controller passen muss) das Flash zu programmieren ... An und für sich ist das eine Debug-Schnittstelle.
>> Irgendwie schade, dass es noch nicht so >> ultra-easy-tools wie z.B. AVRDude für die SAM7 gibt. > Gibt es doch - Atmels SAMBA. SAMBA ist ein Recovery-Tool für den Notfall und nicht für den täglichen Einsatz gedacht! Das wird oft missverstanden. Wie JTAG funktioniert weiß ich. Ich könnte auch eine eigene Programmiersoftware schreiben, wenn ich das JTAG Protokoll für die SAM7 finden würde. Aber ob man da fündig wird ist fragwürdig. Mir wär auch schon geholfen, wenn man svf-files erzeugen könnte. SVF-Player hab ich schon als OpenSource gesehen. Mfg Morpheuz
> wenn ich das JTAG Protokoll für die SAM7 finden würde Das ist kein Problem, das ist dokumentiert. Das ist nämlich das JTAG-Protokoll des verwendeten ARM7-TDMI-S - Kernes, und das sollte wie der Rest des ARMes irgendwo auf http://www.arm.com/products/CPUs/ARM7TDMIS.html dokumentiert sein. Nur die Programmierroutine für das Flash-ROM ist SAM7-spezifisch.
> AFAIK ist nicht alles in OpenOCD "Open Source". So weit ich mich > erinnere gibt es eine Abstraktion zur Kommunikationsschicht, die von ARM > geschützt ist und nicht offengelegt werden darf. Alles im OpenOCD ist Open Source - der einzige nicht quelloffene Teil ist FTDI's eigene Library zur Ansteuerung des FT2232, die jedoch durch die (L?)GPL lizenzierte libftdi ersetzt werden kann. Die Funktionalität der MPSSE des FT2232 ist dokumentiert, und könnte vermutlich sogar als Grundlage für ein eigenes Interface verwendet werden. Der OpenOCD ist allerdings etwas groß für "irgend einen IC". Wie bereits erklärt wurde ist es erforderlich, den ARM7TDMI-S im Debug Modus zu kontrollieren, um dann die Register des SAM7 Flash Controllers schreiben zu können. Es ist also ein vollständiger Debugger nötig, wenn der SAM7 via JTAG geflashed werden soll. Bei externen Flashes ist das einfacher, da hier via Boundary-Scan einfach alle Pins kontrolliert werden, und so die Buszugriffe simuliert werden (wird so z.B. von den openwince jtag-tools gemacht). Ohne mehr über den "anderen" IC zu wissen, an dessen GPIOs der SAM7 hängt (bzw. über die gesamte Umgebung), kann ich dir leider kaum weiterhelfen. Gruss, Dominic
@ Morpheuz: Nimm einfach die OpenOCD Sourcen und programmier die Ansteuerung für Deine Hardware rein. Das ist ein recht einfaches Vorhaben, weil in den Sourcen schon die Ansteuerung für 4 andere Interfaces stehen. Viel Erfolg wünscht:
Hallo, ich hab mir OpenOCD angeschaut und es ist genau das was ich gesucht habe. Es dürfte nur eine leichte Fingerübung sein den Parallel-Port-Wiggler auf meine Bedürfnisse umzubauen. Thx a lot! Mfg Morpheuz
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.