mikrocontroller.net

Forum: Compiler & IDEs AVR Eclipse: Load from MCU


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Hartmut S. (haschi)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bekanntermaßen funktioniert das MCU Type Auswahlmenü unter Project | 
Properties | AVR | Target Hardware ja nur, wenn man Eclipse mit 
LC_MESSAGES=C im Shell-Enviroment startet, sh. 
https://www.mikrocontroller.net/articles/AVR_Eclipse#H.C3.A4ufige_Fehler.

Der Button "Load from MCU" funktioniert allerdings trotzdem nicht, weil 
das AVR Eclipse Plugin die Ausgabe von aktuellen avrdude-Versionen nicht 
versteht (ebenfalls bekannt). Konkret wurde an "Device signature = 
0x??????" "(probably ...)" angehängt.

Gleiches Problem auch bei "Load from MCU" bei den Fuses und Lockbits.

Auch wenn man ohne diese Funktionen leben kann, hier ein Workaround, 
getestet mit Eclipse 2019-12 (4.14.0) und dem AVR Eclipse Plugin 2.4.2. 
Es geht darum, dem aktuellen avrdude 6.3 wieder die alte Ausgabe von 
avrdude 6.0.1 beizubringen:
mkdir tmp
cd tmp
wget http://download.savannah.gnu.org/releases/avrdude/avrdude-6.3.tar.gz
tar -xzvf avrdude-6.3.tar.gz
cd avrdude-6.3
vi main.c

Foldenden Block ab Zeile 1077 auskommentieren:
/*
      if (quell_progress < 2) {
        AVRPART * part;

        part = locate_part_by_signature(part_list, sig->buf, sig->size);
        if (part) {
          avrdude_message(MSG_INFO, " (probably %s)", part->id);
        }
      }
*/

Und jetzt bauen:
./configure --sysconfdir=/etc
make -j4
make check

Jetzt sollte der Unterschied in den Ausgaben des originalen und des 
selbst compilierten avrdude sichtbar sein:
/usr/bin/avrdude -pm328p -cstk500v2 2>&1 | grep signature
./avrdude -pm328p -cstk500v2 2>&1 | grep signature

Bei zweiterem sollte "(probably ...)" nicht mehr vorhanden sein. also 
installieren, wobei ich hier make install meide, um meine Installation 
nicht durcheinander zu bringen.
strip avrdude
sudo cp avrdude /usr/local/bin

Und abschließend in Eclipse:
Windows | Preferences | AVR | Path -> AVRDude | Edit | Custom | Custom 
Value /usr/local/bin | Ok | Apply

Jetzt sollte "Load from MCU" bei Target Hardware, den Fuses und den 
Lockbits funktionieren.

Ich hoffe, das hilft jemandem, weil ich habe hier im Forum schon gaaaaz 
viel Hilfe gefunden.



Eigentlich wäre es besser, das AVR Eclipse Plugin anzupassen. Die 
Sourcen bekommt man mit
git clone https://git.code.sf.net/p/avr-eclipse/code avr-eclipse-code

Die betreffende Regex steckt in 
avr-eclipse-code/de.innot.avreclipse.core/src/de/innot/avreclipse/core/t 
oolinfo/AVRDude.java,  Zeile 360:
Pattern mcuPat = Pattern.compile(".+signature.+(0x[\\da-fA-F]{6})")

Allerdings verstehe ich nicht, warum die wegen des " (probably..." nicht 
matcht. Ich weiß auch nicht, wie man mit Java aus diesen Sourcen das 
Plugin baut. Vielleicht kann das jemand. Oder innot selbst?

Haschi

von J. V. (janvi)


Bewertung
0 lesenswert
nicht lesenswert
>Ich weiß auch nicht, wie man mit Java aus diesen Sourcen das
>Plugin baut. Vielleicht kann das jemand. Oder innot selbst?

Das Gleiche interessiert mich gerade für das IntelliJ Plugin

https://github.com/IntelliJIdeaKeymap4Eclipse/IntelliJIdeaKeymap4Eclipse

Momentan krieg ich nicht mal das Hello World Beispiel von hier

https://www.codeproject.com/Tips/893547/How-to-Create-Your-Own-Eclipse-IDE-Plug-in

zum Laufen

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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.