Diskussions- und Newsboard des DARC-Ortsverbandes I40
allgemeine Kategorie => UHSDR Firmware => Message started by: hb9trt on 07. March 2019, 22:44:51

Title: UHSDR Umgebung unter Ubuntu
Post by: hb9trt on 07. March 2019, 22:44:51

Nachdem ich nun einige Projekte basiernd auf UHSDR gebaut habe, wollte ich auch mal versuchen in die Software zu schauen um ev. noch etwas mehr von dieser Seite her zu verstehen. Ich installierte Eclipse unter WIndows was auch reativ problemlos gelang. Damit konnte ich zumindest mal für alle Controller die entsprechenden Firmware Files erzeugen.

Nun wollte ich dasselbe unter Ubuntu machen. Das erstellen der mchf Firmware klappte auch wunderbar und sehr schnell.

In einem anderen Post hier im Board habe ich gesehen, dass Andreas andere Builds durch setzen von Umgebungsvariablen erzeugt. So habe ich diese gesetzt und versuchte einen Build für den H7 zu bauen. Das misslang. Ich erhielt die folgende Fehlermeldung:

In file included from ./hardware/uhsdr_board_config.h:21:0,
from ./hardware/uhsdr_board.h:17,
from ./src/uhsdr_main.h:19,
from basesw/ovi40-h7/Src/main.c:92:
./hardware/board_configs/UHSDR_UI_mchf_config.h:19:6: error: #error McHF boards support only CORTEX_M4 MCU!
#error McHF boards support only CORTEX_M4 MCU!
^~~~~
[CC] basesw/ovi40-h7/Src/spi.o
make: *** [Makefile:253: basesw/ovi40-h7/Src/main.o] Fehler 1
make: *** Auf noch nicht beendete Prozesse wird gewartet …


gesetzt hatte ich folgendes:

export TRX_ID=ovi40
export TRX_NAME=OVI40
export BUILDFOR=H7

Was habe ich falsch gemacht oder übersehen?

Gruss
Reto

Title: Re:UHSDR Umgebung unter Ubuntu
Post by: DB4PLE on 07. March 2019, 23:15:51

Hallo,

der Post ist veraltet. Schau bitte in .travis.yml nach, um zu sehen wie wir make aufrufen für make builds aufrufen.

Nicht alles davon muss man machen, aber die notwendigen Settings für make etc. sind klar erkennbar.
Wenn Du den Standard-Ubuntu Compiler einsetzt, kannst Du natürlich die Angabe für den GCC weglassen.

Das ist die beste Stelle, da wir mit travis unsere automatische Builds machen, um zu sehen, ob ein neuer Commit Probleme beim Erstellen der verschiedenen Varianten macht.

73
Danilo



Title: Re:UHSDR Umgebung unter Ubuntu
Post by: hb9trt on 07. March 2019, 23:41:35

Hallo Danilo

Danke dir für den Hinweis. Ich werde das morgen prüfen.

Gruss Reto

Title: Re:UHSDR Umgebung unter Ubuntu
Post by: hb9trt on 08. March 2019, 07:41:33

Hallo Danilo,

Ich habe make nun mit den folgenden Parametern aufgerufen:

make BUILDFOR="H7" TRX_ID="i40h7" TRX_NAME="OVI40H7" CONFIGFLAGS="-DUI_BRD_OVI40 -DRF_BRD_MCHF -DRF_BRD_OVI40" all

Damit erhielt ich ein funktionierendes .bin File, das ich in das i40 lud und funktioniert.

Dasselbe, angepasst, führte ich für die F7 version aus (ich habe 2 i40 Boards, eines mit H7 und eines mit F7. Das funktionierte auch, musste aber zuerst ein clean machen. Sonst gabs einen Fehler am Schluss des Vorgangs.

Ist das so,wie ihr das macht? Oder gibts da eine intelligentere Vorgehensweise?

Ihr braucht GCC wie ich gesehen habe. Meine Versuche wurden mit dem Ubuntu Standardcompiler erstellte. Gibt es Vorteile oder Gründe GCC zu verwenden?

Gruss
Reto

Title: Re:UHSDR Umgebung unter Ubuntu
Post by: DF8OE on 08. March 2019, 07:57:09

Hallo Reto,

ein clean ist immer nötig - sonst hast Du ja Build Produkte des "falschen" Targets mit dabei!

Auch Ubuntu benutzt den gcc - allerdings nicht in der Version, die gerade aktuell ist, sondern in einer älteren Version. Aus dem Grund benutzen wir die neueste Version des gcc.

vy 73
Andreas

Title: Re:UHSDR Umgebung unter Ubuntu
Post by: hb9trt on 08. March 2019, 09:03:11

Hallo Andreas,

Besten Dank, ja das ist für mich verständlich. So funktioniert das ganze auch. Ich werde dann noch GCC aktualisieren.

Ich werde mal versuchen mich in die Quellen einzulesen. Wird nicht ganz einfach, bis jetzt programmierte ich, wenn überhaupt in Assembler, Pascal, Modula-2, Oberon und verschiedene Basic. Und das ganze ist mindestens 30 Jahre her...
Mal gucken wie ich mit C klarkomme. ;)

Es geht aber in einer ersten Phase darum, zu verstehen was da genau passiert...vielleicht auch schon eine unmögliche Herausforderung.

Gruss
Reto

Title: Re:UHSDR Umgebung unter Ubuntu
Post by: DF8OE on 08. March 2019, 10:26:24

Hallo Reto,

nein - unmöglich sind nur die Sachen bei denen wir schon vor dem Versuch sie zu meistern zurückzucken ::). Einige Dinge brauchen dann Zeit - und die muss man sich geben.

Zum GCC: Du kannst den aktuellen gcc von der Entwicklerseite als "Ordnerstruktur mit ausführbaren Binaries" herunterladen. Ich mache das dann so, dass ich diesen Ordner in /opt/ kopiere. Jetzt kommt die Umgebungsvariable für den gcc ins Spiel: Wenn Du die setzt, wird anstelle des vom System vorgegebenen GCC der aus der Umgebungsvariable genommen. So kannst Du mehrere gccs gleichzeitig auf deinem System haben.

vy 73
Andreas

Title: Re:UHSDR Umgebung unter Ubuntu
Post by: DB4PLE on 08. March 2019, 12:03:55

Hallo,

damit man verschiedene Binaries (Bootloader, Firmware für jeweils verschiedene Prozessoren) separat bauen kann, ohne die Daten das anderen Builds zu löschen, gibt es BUILDROOT, siehe auch .travis.yml was davon extensiv Gebrauch macht.
Ist ganz einfach:

Verzeichnis anlegen,
Angenommen mein mchf-github/mchf-eclipse Verzeichnis ist in /home/danilo/git/mchf-github/mchf-eclipse


Code:

BUILDROOT=/home/danilo/git/mchf-github/mchf-eclipse make -f $BUILDROOT/Makefile ROOTLOC=$BUILDROOT <restliche Optionen wie immer>



73
Danilo

Title: Re:UHSDR Umgebung unter Ubuntu
Post by: hb9trt on 08. March 2019, 19:01:16

Hallo Andreas und Danilo

Danke euch für die Aufmunterung und Tipps. Das werde ich gleich probieren.
Unmöglich ist nichts, Andreas, ich bin zwar in der heutigen Zeit nicht mehr der programmierer, aber ich habs damals unter Prof. Nikolaus Wirth (der Entwickler einiger Programmier Sprachen wie Pascal, Modula-2 und Oberon) gelernt. C hatte er nicht gern, das sei chaotisch und unstrukturiert :)... Und war vor allen aber weil nicht von ihm ;) Sogar einem Vortrag von Konrad Zuse durfte ich lauschen... Er wurde Ehren Doktor oder Professor der ETHZ. Das war sehr eindrücklich. Ja, sehr intensiv die Zeit in Zürich.
Dafür durften wir uns mit invarianten herumschlagen, was ich bis heute nicht begreifen habe. Aber seis drum. Tief drinnen ist irgebdwo noch der Programmierer...
Ich komme da schon rein... Bloss, was soll ich dann verbessern, wenn es ihr nicht schon gemacht habt?
Aber verstehen würde ich gerne was da abgeht.
Habe mal den Filter angeschaut.... Hmmm FFT... Damit musste ich auch rechnen.
Auf alle Fälle spannend.

Gruss Reto


Diskussions- und Newsboard des DARC-Ortsverbandes I40 | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.