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