Forum: Compiler & IDEs nRF52 Entwicklungsumgebung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Markus (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Welche Entwicklungsumgebung nimmt man am besten für eine Nordic NRF52xxx 
MCU?

Ich würde gerne debuggen können und wenig Probleme bei der Installation.

Ist die Segger-Umgebung geeignet?

: Verschoben durch Moderator
von Markus (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von Testi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Markus schrieb:
> Ist die Segger-Umgebung geeignet?

Die Segger Umgebung funktioniert sehr gut! (ich nutze mittlerweile aber 
GCC, was aber mehr Kenntnisse mit Make, usw. braucht)

von Markus (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>ich nutze mittlerweile aber GCC,

Liegt unter dem Segger-Studio nicht auch der GCC?

von testi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Markus schrieb:
>>ich nutze mittlerweile aber GCC,
>
> Liegt unter dem Segger-Studio nicht auch der GCC?

Doch (soweit ich weis), aber sie nutzen ihr eigenes Linker-Script Format 
und keine Makefiles sondern *.emProject

Beitrag #6581967 wurde von einem Moderator gelöscht.
von Til S. (Firma: SEGGER) (til_s)


Bewertung
1 lesenswert
nicht lesenswert
Markus schrieb:
> Liegt unter dem Segger-Studio nicht auch der GCC?

Ja, aber auch Clang/LLVM bzw. darauf basierend seit einiger Zeit unser 
eigener Compiler.

testi schrieb:
> Doch (soweit ich weis), aber sie nutzen ihr eigenes Linker-Script Format
> und keine Makefiles sondern *.emProject

Korrekt, das kommt durch unseren eigenen Linker.

Markus schrieb:
> Ist die Segger-Umgebung geeignet?

Ja, es gibt eine Version von Nordic, die für Nordic Device kostenlos 
ist:
https://www.nordicsemi.com/Software-and-tools/Development-Tools/Segger-Embedded-Studio

von Markus (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>Ja, es gibt eine Version von Nordic, die für Nordic Device kostenlos
ist:

Mittlerweile habe ich mir Segger Studio mal installiert. Ich habe ein 
nRF52..DK Development Kit Entwicklungsboard und damit läuft der Segger 
Debugger.
Was mir sehr gut daran gefällt: Wenn man debugt, sieht man gleich den 
Assembler-Code und alle Register. Wenn ich es richtig sehe, geht das 
Debuggen mit nur 4 Leitungen seriell, was praktisch für eigene Boards 
ist.

Allerdings habe ich noch nie so lange bei einem System gebraucht, das 
Board zum Blinken zu bekommen. Ich bewerte die Qualität einer 
Entwicklungsumgebung anhand der TTB: Time To Blink oder kurz: wie lange 
braucht man bei der Inbetriebnahme eines Boards, bis die LED blinkt.

Der größte Anteil daran hat wohl Nordic selber. Das Blink-Beispiel ist 
soweit abstrahiert, dass man kaum noch die Pinzuordnung des Boards 
findet.

Das Nordic-Wiki verlinkt nicht einmal auf den Basiscode und man muss 
ewig das richtige Development Kit suchen:

https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.3.0%2Findex.html

In meinem Fall war das Problem, dass die Development-Boards mit z.B. 
PCA10040 durchnummeriert sind und man erst mal wissen muss, dass die 
Pin-Zuordnung unsichtbar nur mit der Auswahl der Board Nummer passend 
compiliert wird.

Da helfen dann nur noch GitHub Blink-Beispiele, in denen direkt auf die 
Peripherieadressen zugegriffen wird:
https://github.com/sAlexander/nrf52-minimal-c/blob/master/main.c

Das zweite Problem war, dass es verschiedene Nordic-SDK Versione gibt 
und in meinem Projekt die Version 14 eingestellt war, dass SDK auf der 
Platte aber 15.

In Segger-Studio konnte ich nicht heraus kriegen, wie man das dort in 
der GUI ändert und habe deshalb manuell den Text des Projekt-Files 
angepasst, weil ich nach längerer Suche in den Menues keinen anderen Weg 
gefunden habe.

Jetzt habe ich das Problem, ein Beispielprojekt von Github gezogen zu 
haben, bei dem aber nicht alle Verzeichnisse und Treiber des SDK 
eingebunden sind und ich noch nicht heraus gefunden habe, wie man in 
Segger-Studio die Dateien einbindet.

von Til S. (Firma: SEGGER) (til_s)


Bewertung
1 lesenswert
nicht lesenswert
Markus schrieb:
> Ich bewerte die Qualität einer
> Entwicklungsumgebung anhand der TTB: Time To Blink

He he, finde ich gut :-).
Aber wie du schon sagtest, die Kritikpunkte sind eher durch Nordic 
verschuldet als durch Embedded Studio.

Markus schrieb:
> In Segger-Studio konnte ich nicht heraus kriegen, wie man das dort in
> der GUI ändert und habe deshalb manuell den Text des Projekt-Files
> angepasst, weil ich nach längerer Suche in den Menues keinen anderen Weg
> gefunden habe.
Ich bin mir auch nicht sicher, ob das geht. Die IDE weiß ja erst einmal 
nichts von irgendwelchen SDK Versionen. Aber wenn du sagst, du konntest 
das in der Projektdatei einstellen, dann muss es ja eine Option geben. 
Wie heißt denn die Option oder war das nur ein Define?

Markus schrieb:
> Jetzt habe ich das Problem, ein Beispielprojekt von Github gezogen zu
> haben, bei dem aber nicht alle Verzeichnisse und Treiber des SDK
> eingebunden sind und ich noch nicht heraus gefunden habe, wie man in
> Segger-Studio die Dateien einbindet.
Sind das nicht einfach C Dateien oder Libraries, die du zu dem Projekt 
per Drag&Drop hinzufügen kannst? Evtl. musst du noch Include Pfade 
setzen.

von chris_ (Gast)


Bewertung
0 lesenswert
nicht lesenswert
von Til S. (Firma: SEGGER) (til_s)
15.02.2021 08:28
>He he, finde ich gut :-).
>Aber wie du schon sagtest, die Kritikpunkte sind eher durch Nordic
>verschuldet als durch Embedded Studio.

Ja, Nordic scheint auf seiner Webseite nicht aktuell zu sein, das läuft 
wohl ein wenig auseinander.

Ich muss euch jetzt mal wirklich loben: Ich habe Segger Studio nämlich 
jetzt auch auf Ubuntu installiert und das ging wirklich einwandfrei.
Selbst die udev-Rules wurden anstandslos so gesetzt, dass der Debugger 
auf dem nRF-Board ohne Probleme ansprechbar war.
Man findet es wirklich selten, dass eine Mikrocontrollerumgebung so 
reibungslos auf Linux läuft.

>Sind das nicht einfach C Dateien oder Libraries, die du zu dem Projekt
>per Drag&Drop hinzufügen kannst? Evtl. musst du noch Include Pfade
>setzen

Drag&Drop? ... dass es so einfach geht, auf die Idee bin ich noch nicht 
gekommen ... ich werde es probieren ....

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.