Forum: Compiler & IDEs Eclipse Indexer und STM32F10x CMSIS


von A. Z. (donvido)


Lesenswert?

Hallo miteinander,

ich bin mittlerweile echt am verzweifeln.
Ich versuch mein Anliegen mal chronologisch zu ordnen.
Ich programmiere schon seit ner Weile einen STM32F103CBT6 mit Eclipse 
CDT.
Irgendwann hatte ich dann das Problem, dass mein Programm zwar sauber 
kompilierte, aber im Editor semantische Fehler angezeigt wurden.
Genau genommen bekam ich ein *Field 'XYZ' could not be resolved* (Wie 
schreibt man bold/fett?) an jeder Stelle, an der ich auf ein Member von 
SysTick zugegriffen habe. Mit ein bisschen googlen konnte ich das 
Problem damals lösen und habe mich seit dem nicht mehr damit 
auseinandersetzen müssen.
Jetzt habe ich mir aber vor kurzem sämtliche Projekteinstellungen 
zerschossen, sodass nichts mehr ging.
Mittlerweile glaube ich, dass ich versehentlich in den C/C++ 
Build->Settings auf Restore Defaults geklickt habe.
Jedenfalls konnte ich das ganze wieder soweit zum laufen bringen, dass 
einwandfrei kompiliert wird. Nur der Indexer meint wieder, dass er die 
SysTick Member nicht auflösen kann.
Die Lösung von damals konnte ich leider nicht mehr finden.
Deshalb hoffe ich hier Hilfe zu erhalten.

Das sind die Include Paths (-I) für den Cross ARM GNU C und C++ Compiler
1
"${workspace_loc:/${ProjName}/system/include}"
2
"${workspace_loc:/${ProjName}/system/include/cmsis}"
3
"${workspace_loc:/${ProjName}/system/include/stm32f1-stdperiph}"

Für diese Zeile
1
cycle_cnt = SysTick->VAL;
erhalte ich *Field 'VAL' could not be resolved*

Wenn ich STRG+Klick auf SysTick mache, öffnet sich "core_cm3.h".
Klicke ich dagegen auch VAL wird "core_sc300.h" geöffnet.
Im Include Browser hat "core_sc300.h" aber gar keine Includers.
Wieso findet der Indexer jetzt also SysTick, aber nicht den Typ von 
SysTick?
Beide Header liegen im Ordner '/system/include/cmsis'.

Vielen Dank schonmal für eure Hilfe

von pegel (Gast)


Lesenswert?

Welche Folgen hat denn ein Index -> Rebuild ?

von A. Z. (donvido)


Lesenswert?

Leider gar keine.

von pegel (Gast)


Angehängte Dateien:

Lesenswert?

Ich benutze SW4STM32 mit HAL und habe keine Probleme mit der Auto 
Ergänzung.

von pegel (Gast)


Lesenswert?

Ich überlege ob ich ein kleines Projekt von dir hier öffnen und prüfen 
könnte und evtl. das zurück speichern die Pfade korrigieren würde.

von pegel (Gast)


Lesenswert?

A. Z. schrieb:
> ${workspace_loc:/${ProjName}

Ich denke damit sollte es eigentlich gehen.
Häng mal ein Projekt an, dann probiere ich das mal.

von donvido (Gast)


Lesenswert?

pegel schrieb:
> Ich überlege ob ich ein kleines Projekt von dir hier öffnen und
> prüfen
> könnte und evtl. das zurück speichern die Pfade korrigieren würde.

Was meinst du mit zurück speichern?

pegel schrieb:
> A. Z. schrieb:
>> ${workspace_loc:/${ProjName}
>
> Ich denke damit sollte es eigentlich gehen.
> Häng mal ein Projekt an, dann probiere ich das mal.

Auch hier kann ich dir leider nicht gaz folgen.

Kann das Projekt erst heute Abend hochladen.

von A. Z. (donvido)


Lesenswert?

Window -> Preferences -> C/C++ -> Indexer: uncheck "Index unused 
headers"
Das hat die Lösung gebracht. Jetzt findet er auch die richtigen struct 
Member.

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.