mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ARM Programmierung/Debuggen mit Eclipse CDT 3.3 + Zylin Embedded CDT


Autor: It Hiwi (ithiwiz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute!

Ich bin nicht sehr erfahren auf dem Gebiet, also seid nett zu mir . ;)

Wir nutzen Eclipse CDT 3.3 mit dem Zylin-Plugin. Angeschlossen an diese 
Workstation ist über einen JTAG-Key eine kleine Platine, auf die wir nun 
ein Programm laden und debuggen wollen.
Mit dem GCC-Compiler und Gnu Make erstellt und Eclipse auch fein eine 
kleine Datei [ELF-Format] . Nur ist jetzt die Frage, wie bekommen wir 
sie auf den Phillip's Chip auf der Platine?
Der komplette Systemaufbau von unten nach oben:

Board mit Philips FPGA->JTAG-Key per USB an Rechner->OpenOCD als 
Schnittstelle->Eclipse mit Zylin

Wir suchen jetzt praktisch die Befehle, mit denen wir dem Chip über die 
Konsole in Eclipse unser Programm reinladen können, denn das scheint 
beim Debuggen ja irgendwie nicht automatisch zu passieren, oder?
Der Chip selber hat nur einen winzigen RAM und einen etwas größeren 
Flash-Speicher, in den das Programm geladen werden soll. Wie gesagt, es 
geht uns hauptsächlich um die generellen Befehle, wie man das macht.

Weiterhin hätten wir da noch das Problem mit Assembler-Files. Wir wissen 
nicht wirklich, welche ASFLAGS in der Make-File gesetzt werden müssen, 
damit der Compiler bzw. Linker die Assembler-Files mit einbezieht. Gibt 
es hier etwas bestimmtes zu beachten? Wenn wir welche versuchen mit zu 
kompilieren, werden sie irgendwie ignoriert.

Ich verrate euch gerne alle Infos die ihr noch braucht.

Danke Leute!!

Autor: Martin Thomas (mthomas) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
It Hiwi wrote:
> Hi Leute!
>
> Ich bin nicht sehr erfahren auf dem Gebiet, also seid nett zu mir . ;)
>
> Wir nutzen Eclipse CDT 3.3 mit dem Zylin-Plugin.
3.4 ist verfügbar, Zylin-Plugin ist o.k. aber es gibt inzwischen ein 
"offizielle" embedded-GDB plugin aus dem CDT Eclipse-Unterprojekt. Düfte 
aber nicht ausschlaggebend sein.

> Angeschlossen an diese
> Workstation ist über einen JTAG-Key eine kleine Platine, auf die wir nun
> ein Programm laden und debuggen wollen.
> Mit dem GCC-Compiler und Gnu Make erstellt und Eclipse auch fein eine
> kleine Datei [ELF-Format] . Nur ist jetzt die Frage, wie bekommen wir
> sie auf den Phillip's Chip auf der Platine?
> Der komplette Systemaufbau von unten nach oben:
>
> Board mit Philips FPGA->JTAG-Key per USB an Rechner->OpenOCD als
> Schnittstelle->Eclipse mit Zylin

Ein Anfang wäre, die genaue Bezeichnung des "Philips FPGA" zu nennen. 
Schon nachgeschaut, ob OpenOCD den "Philips FPGA" unterstützt?

> Wir suchen jetzt praktisch die Befehle, mit denen wir dem Chip über die
> Konsole in Eclipse unser Programm reinladen können, denn das scheint
> beim Debuggen ja irgendwie nicht automatisch zu passieren, oder?

Sofern der Chip unterstützt wird und man die Konfiguration richtig 
gemacht hat (was manchmal nicht ganz einfach ist), dann wird per 
gdb-Befehl load das Image auf den Chip transferiert. Auch ins Flash 
(zumindest bei neueren OpenOCD Versionen) funktioniert hier 
zufriedenstellend mit AT91SAM7SE. Vgl. OpenOCD-Dokumentation 
(openocd.texi im SVN oder daraus gemachte info, pdf, etc. Abschnitt 
gdb-flash-programming oder ähnlich)

> Der Chip selber hat nur einen winzigen RAM und einen etwas größeren
> Flash-Speicher, in den das Programm geladen werden soll. Wie gesagt, es
> geht uns hauptsächlich um die generellen Befehle, wie man das macht.

"der chip...winzig...etwas mehr...Orakel". Einfach die Chipbezeichnung 
nennen, noch besser direkter Link zum Datenblatt. Ohne die Information 
kann man schlecht helfen.

> Weiterhin hätten wir da noch das Problem mit Assembler-Files. Wir wissen
> nicht wirklich, welche ASFLAGS in der Make-File gesetzt werden müssen,
> damit der Compiler bzw. Linker die Assembler-Files mit einbezieht. Gibt
> es hier etwas bestimmtes zu beachten? Wenn wir welche versuchen mit zu
> kompilieren, werden sie irgendwie ignoriert.

Den Linker interessieren nur Objekt-Dateien. ASFLAGS sind üblicherweise 
Optionen für den Assembler und Änderungen daran helfen nur vielleicht. 
Wird objekt-Code aus dem Assemblercode erzeugt (eine ".o-Datei")? Ist 
die generierte Objekt-Datei in der Liste der zu linkenden Objekte?

> Ich verrate euch gerne alle Infos die ihr noch braucht.

Nur zu.

Autor: It Hiwi (ithiwiz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die großartige Antwort!
Das Problem mit der Programmierung hat sich inzwischen gelöst, es 
mussten spezielle OpenOCD Kommandos genutzt werden.
Den Namen des FPGA kann ich leider nicht sagen, ich habe ihn derzeit 
nicht in meiner Nähe.

Im Moment gibt es nur noch ein Problem, was sich jedoch nicht auf den 
FPGA bezieht:
Wie kann ich es schaffen, dass ASM-Files als Quellfiles erkannt werden?

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.