Forum: Mikrocontroller und Digitale Elektronik Rundsteuerbibliothek NXP mit IAR Verständnissproblem


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 C. L. (calle)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Ich möchte die Rundsteuerbibliothek von NXP ausprobieren in einem STM32 
Board. https://www.nxp.com/docs/en/application-note/AN5046.pdf

Nun habe ich mit dem NXP Support Kontakt aufgenommen, weil meiner 
Meinung nach die vier wichtige Routinen (im PDF unter 4.1.1 Function API 
summary Seite 17) im Code nicht auffindbar sind.
NXP sagte mir dann das sie unter der neusten IAR IDE mit 30 Tage Lizenz 
den Code fehlerfrei kompilieren können. Das kann ich auch aber trotzdem 
sind die Routinen nicht auffindbar. Wenn ich die Verwendungsstellen 
suche, gibt es nur die Definition in der .h Datei.
=>  extern void RcolibInit (tRCOLIB_DATA *const ptr);

Wo sind die Routinen? Kann sowas geschützt oder versteckt oder von 
woanders her eingebettet sein?
So kann der Code doch nícht laufen, oder?
Kann mich da mal jemand auf die Spur bringen?

PS:
Bisher wusste ich, das sich ein .hex oder .bin file in den Controller 
flaschen lässt; geht das mit .out auch?
Die IAR IDE gibt nämlich ein Project.out file aus.
Wie stehts damit?

Gruß und bleibt gesund!  ;-)

CL

von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht lesenswert
Der code kann auch in einer kompilierten Form vorliegen, als Library 
(Archivefile) oder einzelnen objectfiles. Sowas ist aber immer unschön 
weil das dann zum Compiler und den Projekteinstellungen passen muss.
Aber Erstaunlich das der NXP Support bei einer STM Portierung helfen 
soll...

Nachtrag:
die Funktionen stecken in den .a archives, kein Sourcecode vorhanden.

: Bearbeitet durch User
von C. L. (calle)


Bewertung
0 lesenswert
nicht lesenswert
Johannes S. schrieb:
> Der code kann auch in einer kompilierten Form vorliegen, als Library
> (Archivefile) oder einzelnen objectfiles.

Ok, das werden dann wahrscheinlich die *.o Dateien sein?
Das kann ich dann nicht in anderen Systemen verwenden?

Das Originale von NXP läuft im ARM® Cortex®-M0+.
Ich habe hier nur ein Board von Amazon betitelt mit
"STM32F103C8T6 Development Board Modul mit ARM Cortex M3 Prozessor"
Darin sollte das doch laufen...

CL

von Larry (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der F103 ist ein M3 und kein M0+.

Was IAR (out,elf,bin,hex,...) hinten ausspuckt, kann man in den
Projekteigenschaften einstellen.
Was dann noch was nicht passt, kann man das selber in einem
Postbuildstep verwursten. Den muss man aber selber definieren.

Die Prognose auf lauffaehigen Code, wuerde ich aber als
schlecht einschaetzen.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Bewertung
0 lesenswert
nicht lesenswert
Ohgott, der IAR, lauf weit weg!

Die .out Datei ist die elf Datei.
Da sind im Gegensatz zum binary/hex noch viele Zusatzinformationen 
drinne.
Ein JTAG/SWD Debugger versteht das aber meist auch und du musst dann 
nicht die FLash Startadresse angeben.
Ansonsten gibts in den projekteinstellungen einen output converter, der 
spcukt dir dann bin/hex/whatever aus.

Was sagt denn eigentlich die Lizenz des Codes zur Verwendung auf fremden 
Prozessoren?
Das ist meist ausgeschlossen.

von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht lesenswert
wenn der Code in der Lib irgendwelche Freescale HW anspricht läuft das 
auch nicht.

von C. L. (calle)


Bewertung
0 lesenswert
nicht lesenswert
Danke erstmal für Eure Infos.
Damit ist schonmal einiges klar geworden.
Also habe ich das falsche Zielsystem, damit ist das mit der Lizenz auch 
erstmal egal, aber das wusste ich nicht.
Brauche also den original Freescale ARM Cortex M0+.
Dann sollte es ggf. auch kein Problem mit freescale Hardware geben.

NXP support meldete mir noch, das die Routinen in der .a "precompiled" 
sind.
Damit ist eigentlich erstmal alles klar.

Kann jemand ein entsprechendes Board empfehlen oder will eins loswerden?
In der Doku der lib steht ja 128kb.

Gruss

CL

von W.S. (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
C. L. schrieb:
> Bisher wusste ich, das sich ein .hex oder .bin file in den Controller
> flaschen lässt; geht das mit .out auch?
> Die IAR IDE gibt nämlich ein Project.out file aus.
> Wie stehts damit?

Namen sind Schall und Rauch - wie schon unsere Altvorderen wußten. Du 
solltest in der Lage sein, die ausgegebenen Dateien nach ihrem 
tatsächlichen Inhalt beurteilen zu können.

Frage: was ist der Unterschied eines .mhx Files zu einem .S19 File?

W.S.

von C. L. (calle)


Bewertung
0 lesenswert
nicht lesenswert
Hi,
Das kann ich dir nicht sagen, so tief stecke ich da nicht drin und das 
ist für Hobbybedarf auch ok.
Man muss nicht die letzten Einzelheiten aller Eigenschaften einer IDE 
kennen um ablauffähigen Code zu generieren.
Die .c und .h dateien und daraus .bin oder .hex zu machen ist ja der 
Kern.

CL

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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