Seite 1 von 2

Software zu out-cs-bim112

Verfasst: 29. Nov 2017, 12:53
von ZwergNase
Mahlzeit zusammen!

Erst mal auch von mir hier ein großes Dankeschön an Florian für dieses Projekt!

Inzwischen ist der erste Controller soweit, dass man flashen könnte. Beim Kompilieren habe ich aber leider noch so meine Probleme. Ist da schon jemand weiter als ich?

Ich habe:
  • MCUXpresso von nxp.com installiert
  • CMSIS_CORE eingebunden
  • Projekt inkl. Link zu sblib von GitHub importiert
  • in den Projekt-Settings von out-cs-bim112
  • Verweis auf sblib ergänzt
  • den Dialekt auf GNU C++ 11 gestellt
Aber irgendwie gibt es Fehler rund um UsrCallback. In app_main.cpp läuft #include <sblib/usr_callback.h> ins Leere. Ich vermute das ist der Anfang meines Problems... ABER in der sblib kann ich auch nichts zu usr_callback finden. Hat jemand einen Tipp oder vielleicht gleich die .hex?

Danke,
Oliver

Re: Software zu out-cs-bim112

Verfasst: 29. Nov 2017, 20:22
von Florian
Natürlich kann ich dir ein .hex schicken, aber für andere wäre es vermutlich recht interessant, ob das Projekt denn nun compiliert werden kann oder nicht :D

Hast Du die neuste Version der sblib auf dem Rechner? Dort sollte es eine usr_callback.h in software-arm-lib\sblib\inc\sblib geben. Du sagst, an dieser Stelle würde der Compile abbrechen. Da nur wenige Zeilen über diesem include zwei andere Header-Dateien ebenfalls aus der sblib ohne Fehler eingebunden werden, sind die Pfade zu dem include-Verzeichnis anscheinend richtig gesetzt. Was passiert, wenn du den Cursor auf den Dateinamen des Includes setzt und F3 drückst? Dann sollte die Datei im Editor geöffnet werden.

Oder hast du vielleicht mehrere Versionen der sblib auf der Platte und in Wirklichkeit wird eine ältere Version benutzt - anstatt der neueren Variante.

Re: Software zu out-cs-bim112

Verfasst: 29. Nov 2017, 22:28
von ZwergNase
Der Hinweis war gut! Ich hatte tatsächlich eine alte Version von sblib auf der Platte.
Im Repo software-arm-incubation gibt es einen Link auf sblib (software-arm-lib @ 6232301), allerdings auf eine alte Version. Wen man beim Clonen "Clone submodules" wählt, landet die alte Version auf der Platte. :cry:

Ich habe jetzt ohne "Clone submodules" beide Repos (software-arm-incubation und software-arm-lib) einzeln gecloned.

Jetzt bin ich schon mal weiter, knabbere aber an zwei weiteren Fehlern:

Code: Alles auswählen

app_main.cpp:118:20: error: 'class UserEeprom' has no member named 'serial'
app_main.cpp:124:13: error: 'class UserEeprom' has no member named 'commsTabAddr'
Eigentlich werden beide Member-Variablen in sblib/inc/sblib/eib/user_memory.h deklariert (Zeile 171 und 179) und sind auch im Projekt-Explorer zu sehen. :?

Grüße,
Oliver

Re: Software zu out-cs-bim112

Verfasst: 29. Nov 2017, 23:37
von Florian
Das riecht nach einem Problem der Build-Configuration. Wenn du im Projekt-Explorer die sblib angewählt hast, also unten im Quickstart-Panel die Befehle "Build 'sblib'", "Clean 'sblib'" auftauchen - was steht dann hinter genau diesen Texten. Da sollte [Debug_BIM112] stehen. Ich vermute mal, bei dir steht da BCU1. Dann würdest du die sblib für BCU1 übersetzen. Ändern kann man die Konfiguration über: Rechtsklick auf sblib im Projekt-Explorer, Build Configurations, Set active, Debug_BIM112. Dann diese Konfiguration übersetzen: Build 'sblib' [Debug_BIM112]
Bild

Beim out-cs-bim112 Projekt muss das Symbol "BIM112" definiert sein: Projekt Explorer "out-cs-bim112", Rechtsklick, Properties, C/C++ Build, Settings, Tool Settings, MCU C++ Compiler, Preprocessor - hier muss bei den "Defined Symbols" BIM112 auftauchen. Wenn nicht, mit Add... hinzufügen.
Bild

Re: Software zu out-cs-bim112

Verfasst: 30. Nov 2017, 14:30
von mattze
Hallo zusammen,

könnte man das compilierte Programm online stellen? Das würde mir das installieren von Eclipse ersparen! Oder spricht etwas dagegen?

Viele Grüße
Matthias

Re: Software zu out-cs-bim112

Verfasst: 30. Nov 2017, 18:40
von ZwergNase
Kompilieren klappt jetzt nach einigem hin und her. Woran es lag kann ich (noch) nicht sagen. Ich habe sowohl für sblib als auch für out-cs-bim112 neue Projekte angelegt und nur die Source-Codes übernommen.
Meine Hardware ist bisher nur halb fertig. Aber zumindest der Programm-Button und die LED funktionieren wie sie sollen.

Danke schon mal,
Oliver

Re: Software zu out-cs-bim112

Verfasst: 30. Nov 2017, 23:28
von Florian
Doch schön zu wissen, dass ich nicht der einzige Mensch bin, bei dem das Projekt kompiliert ;)

Ich werde am Wochenende mal das HEX in's GIT hochladen - ist ja dann doch einfacher :D

Re: Software zu out-cs-bim112

Verfasst: 3. Dez 2017, 23:07
von Florian
Das HEX-File ist jetzt hier zu finden:

https://github.com/selfbus/software-arm ... bim112.hex

Re: Software zu out-cs-bim112

Verfasst: 4. Dez 2017, 11:23
von mattze
Vielen Dank Florian!

Gruß Matthias

Re: Software zu out-cs-bim112

Verfasst: 16. Dez 2017, 11:29
von erich73
Hallo zusammen,

ich hab versucht den Code aus dem GIT zu kompilieren. Leider erhalte ich eine Fehlermeldung. Diese wird durch die Funktion

Code: Alles auswählen

void AdcIsrProcOffset(void)
{
 for (unsigned ChIdx=0; ChIdx < IMEASMUXCHANNELS; ChIdx++)
 {
  if ((IsrData.RegOvr[ChIdx]) < OFSCOMPOVRLIM)
  {
   //IsrData.OffsIntegral[ChIdx] += IsrData.RegSum[ChIdx];
   IsrData.OffsIntegral[ChIdx] = min(max(IsrData.OffsIntegral[ChIdx] + IsrData.RegSum[ChIdx], -BUFSIZE*8), BUFSIZE*8);
   if (IsrData.OffsIntegral[ChIdx] > (BUFSIZE*4))
   {
    IsrData.OffsIntegral[ChIdx] -= (BUFSIZE*4);
    IsrData.Offs[ChIdx] = min(IsrData.Offs[ChIdx]+1, OFSCOMPHIGHLIM);
   }
   if (IsrData.OffsIntegral[ChIdx] < (-BUFSIZE*4))
   {
    IsrData.OffsIntegral[ChIdx] += (BUFSIZE*4);
    IsrData.Offs[ChIdx] = max(IsrData.Offs[ChIdx]-1, OFSCOMPLOWLIM);
   }
  }
 }
}
ausgelöst. Es werden Funktionen min und max verwendet, diese sind jedoch nicht definiert.

Scheinbar ist der Stand im GIT nicht aktuell oder beim clonen ist bei mir was auf der Strecke geblieben. Kann das mal jemand gegenprüfen?

erich73