Forum: Mikrocontroller und Digitale Elektronik Transistortester AVR


von Madin (maks58)


Lesenswert?

Hallo Leute,
Grüße und ein neues und juhhtes NeuesJ. aus dem usseligen Berlin an 
Alle.

Mein Respekt an die treibenden Entusiasten dieses Projekts Karl-Heinz 
Kübler, Markus Frejek, Markus  Reschke!
Und an all die anderen Profis/Begeisterten wie Asko, Horst O, Borislaf 
nur um einige zu nennen die ich  beim querlesen der letzten 2 Jahre im 
Blog erinnere, sowie an all die Anderen die fruchtbar engagiert  sind.
Mein Ziel: So viel wie möglich von Eurem Projekt in Hardware und 
Software zusammenzubringen.
Für den passende Atmega-MC(Größe) möchte ich die die M- und K-software 
testen.

Habe das Projekt auf einem Strip-Board für/und mit Arduino Mega2650 mit 
den passenden Port-Anweisungen  der M-Softw. und einem SPI-Hardware 
ST7735 Graphic Color Display aufgebaut.

In der ausgebrachten M-Softw-1.51. Makefile (angepasst an den 2560 und 
ST7735) funktionierte es mit  Anzeige Startbutton Auswahl etc.auch.
Sobald ich nur den DrehEncoder aktivierte in config.h gab es Fehler 
(siehe unten)... :))
Ich benutze Atmelstudio7 mit dem entsprechenden MAKEFILE Addon noch auf 
Win7-64.

Sicher Linux ist "Die" Umgebung der Wahl", nur sehe ich als Unbedarftem 
Hürden zeitlicher und  Struktureller Art, Oberfläche, Dateisystem, 
Anweisungen, dauernde Updates von unbekannten Dateien auf 
Commandozeilen-Ebene, etc.

Nun mein Problem beim Kompilieren bekomme ich folgende Fehler-Meldung:
....(letzte Outputzeilen)
1
avr-gcc -mmcu=atmega2560 -Wl,-Map=ComponentTester.map -Wl,--relax main.o user.o pause.o adjust.o ADC.o  probes.o display.o resistor.o cap.o semi.o inductor.o tools_misc.o tools_signal.o tools_LC_Meter.o SPI.o  I2C.o serial.o commands.o OneWire.o IR_RX.o IR_TX.o DHTxx.o ADS7843.o MAX6675.o MAX31855.o HD44780.o  ILI9163.o ILI9341.o ILI9481.o ILI9486.o ILI9488.o PCD8544.o PCF8814.o SH1106.o SSD1306.o ST7036.o  ST7565R.o ST7735.o Semi_ST7735.o ST7920.o STE2007.o VT100.o RD_Display.o wait.o   -o ComponentTester
2
user.o: In function `MainMenu':
3
C:\Users\Admin\Documents\Mytester\M-Softw\ComponentTester-1.51m/user.c:2519: undefined reference to  `EventCounter'
4
make.exe: *** [ComponentTester] Error 1
5
6
> Process Exit Code: 2
7
> Time Taken: 00:08
8
 Process Exit Code: 2
9
> Time Taken: 00:08
Gibt es ein Rezept/ Umgehung dafür? Zeiger Referenzierung ?
Oder hängts am Windoof Overhead...

Schon mal Danke für Euer Tastenklopfen
Grüße maks

: Verschoben durch Moderator
von Steve van de Grens (roehrmond)


Lesenswert?

Offenbar fehlt noch eine Quelltext-Datei, in der ein "EventCounter" 
erzeugt wird.

: Bearbeitet durch User
von Madin (maks58)


Lesenswert?

Steve van de Grens schrieb:
> Offenbar fehlt noch eine Quelltext-Datei, in der ein "EventCounter"
> erzeugt wird.

Mmh, hab nur die veröffentliche ComponentTester-1.51m Dateien vorliegen.

von Alexander S. (alesi)


Lesenswert?

Madin schrieb:
> Steve van de Grens schrieb:
>> Offenbar fehlt noch eine Quelltext-Datei, in der ein "EventCounter"
>> erzeugt wird.
>
> Mmh, hab nur die veröffentliche ComponentTester-1.51m Dateien vorliegen.

In den vorliegenden Dateien kannst Du doch nach "EventCounter" suchen:
1
$ grep EventCounter *.c
2
tools_counter.c:void EventCounter(void)
3
tools_counter.c:    Display_ColoredEEString(EventCounter_str, COLOR_TITLE);
4
tools_counter.c:    Display_EEString(EventCounter_str); /* display: Event Counter */
5
user.c:  Item_Str[n] = (void *)EventCounter_str;
6
user.c:      EventCounter();

In Deinem oben zitierten Aufruf des Linkers
1
avr-gcc -mmcu=atmega2560 -Wl,-Map=ComponentTester.map -Wl,--relax main.o user.o pause.o adjust.o ADC.o  probes.o display.o resistor.o cap.o semi.o inductor.o tools_misc.o tools_signal.o tools_LC_Meter.o SPI.o  I2C.o serial.o commands.o OneWire.o IR_RX.o IR_TX.o DHTxx.o ADS7843.o MAX6675.o MAX31855.o HD44780.o  ILI9163.o ILI9341.o ILI9481.o ILI9486.o ILI9488.o PCD8544.o PCF8814.o SH1106.o SSD1306.o ST7036.o  ST7565R.o ST7735.o Semi_ST7735.o ST7920.o STE2007.o VT100.o RD_Display.o wait.o   -o ComponentTester
gibt es aber keine Objektdatei tools_counter.o. Wahrscheinlich musst Du 
beim Konfigurieren noch irgendwo angeben, dass Du die brauchst.

von Alexander S. (alesi)


Lesenswert?

Nachtrag:

Ist in Deiner config.h
1
//#define HW_EVENT_COUNTER
aktiv oder auskommentiert?

Im Makefile ist tools_counter.o enthalten:
1
OBJECTS_C += tools_misc.o tools_signal.o tools_counter.o tools_LC_Meter.o
D.h. eigentlich sollte tools_counter.o durch Kompilieren von 
tools_counter.c erzeugt werden und dann auch verlinkt werden. Benutzt Du 
die originalen configure.h und Makefile?

von Madin (maks58)


Lesenswert?

Alexander S. schrieb:
> Ist in Deiner config.h
     //#define HW_EVENT_COUNTER
> aktiv oder auskommentiert?

Ja ist/war er nach dem auskommentieren meckert der Compiler nicht mehr.

Und ja ich benutze die originalen aus Madires warehouse Seite.

muß wohl noch tiefer gucken was alles mit dem Eventcounter in der 
cofig.h aktivtiviert bzw. deaktiviert sein muß.

Erstmal Danke für Deinen Hinweis!

von Madin (maks58)


Lesenswert?

Problem gelöst!

Mea culpa, Kleiner „Käfer“ im von mir verwendeten MAKEFILE.

Dort fehlte in Zeile 159 der tools_counter.o Eintrag.
Ich hatte versehentlich den Makefile aus dem ComponentTester-1.45
in die Version ...-1.51 abgespeichert.

So kommt's, wenn ein Neuling sich an so einem ausgereiften komplexen 
Projekt versucht.

Also noch mal herzlichen Dank an Steve und Alexander für Eure 
hilfreichen Hinweise und Mühe!

Gruß madin

PS: Warum der webmaster den Beitrag gleich verschoben hat, verstehe ich 
nun schon fast.

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
Noch kein Account? Hier anmelden.