Forum: Mikrocontroller und Digitale Elektronik Stm Studio C++


von Eugen M. (Firma: is) (eugenmx)


Lesenswert?

Hallo,

ich arbeite seit ein paar Tagen mit meinem STM32F4 Discovery Board herum 
und es funktioniert soweit alles perfekt. Als Entwicklungsumgebung 
verwende ich Keil MDK V4.72. Wenn ich mich im STM Studio ins Menu 
'Import Variables' gehe funktioniert auch dies einwandfrei. Sobald ich 
aber eine Klasse verwende, komt beim 'Import Variables' laufend die 
Meldung (anscheinend für jede Methode): z.B. GDB cmd [ptype 
oAvg.GetRawValue(void)] failed: Type clsAverage has no component 
GetRawValue Error. (Meine Beispiel Klasse heisst clsAverage und eine der 
MEthoden GetRawValue()).
Meine Frage an euch: kann das Stm-Studio keine C++ Klassen verarbeiten 
bzw. braucht es dafür irgendwelche besonderen Einstellungen.

Es ist ziemlich lästig, alle Fehlermeldungen jedesmal zu bestätigen und 
ausserdem werden es immer mehr, je grösser mein Projekt wird.

Vielleicht kennt jemand von euch das Problem.
Ich wäre euch für einen Tip sehr dankbar.

freundliche Grüsse
Eugen

von Peter II (Gast)


Lesenswert?

woher willst du denn die Klasse importieren? Warum muss man dafür über 
ein Menü gehen?

Schreib doch einfach mal in eine Quellcodedatei eine Klasse rein und 
teste.

class Test
{
   void foo() {};
}

int main()
{
   Test test();
   test.foo();
};

von TTL (Gast)


Lesenswert?

wozu STM-Studio? das kann die KEIL IDE doch alles auch, nur besser

von Eugen (Gast)


Lesenswert?

Hallo Peter,

ich habe mich vielleicht nicht korrekt ausgedrückt.
Ich will nicht die Klasse importieren sondern ich möchte
die Variabeln importieren, damit ich sie im Varviewer ansehen bzw.
überwachen kann.

Ich habe jetzt das Beispiel vereinfacht und lege es hier bei.
Durch deine Meldung habe ich jetzt festgestellt, dass die Fehlermeldung 
erst
dann kommt, sobal ich den Konstruktor einfüge. Wenn ich diesen 
auskommentiere, ist die Fehlermeldung weg. Hier das Beispiel:


class clsTest
{   // Properties
  private:
    int _value;

  public:
    clsTest()  { _value = 0;  };  // Constructor

    int   GetValue(void)  {  return _value;  }
};




clsTest    oTest;

int var = 0;

int main(void)
{
    oTest.GetValue();

    while (1)
    {
        var++;
    }
}


Vielleicht könnt Ihr euch dieses Beispiel kurz anschauen.

Grüsse
Eugen

von Eugen (Gast)


Lesenswert?

Hallo TTL,

ich moechte zum inspizieren der Variablen STM Studio verwenden weil ich 
hier auch eine graphische Darstellung machen kann und so kann ich die 
Variablen auch ohne Entwicklungssystem anschauen, wenn z.b. ein Kollege 
mal reinschauen soll.

Grüsse
Eugen

von TTL (Gast)


Lesenswert?

KEIL kann auch grafisch siehe LogicAnalyzer, aber mit den Kollege das 
macht Sinn

von Eugen (Gast)


Lesenswert?

Hallo nochmal,

habe inzwischen wieder etwas neues herausgefunden.
Das Problem tritt nur dann auf, wenn es sich um globale Objekte handelt,
andernfalls werden die Objekte korrekt angezeigt und es erfolgt keine
Fehlermeldung beim Importieren der Variabeln.

Hat jemand dafür eine Erklärung?

Schönen Tag noch
Eugen

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.