mikrocontroller.net

Forum: Compiler & IDEs MSPGCC Dokumentation


Autor: Michael Jung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe vor ca. einem Jahr zum ersten mal Kontakt mit einem
Microcomputer gehabt. Ein BFZ MFA, der durch seine 8085 CPU und die
Handfeste Groesse. (19" 3HE) recht einfach zu verstehen war. Nun habe
ich mir vor zwei Wochen einen MSP430 bestellt und stehe vor dem
Blinklicht-code ohne wirklich zu verstehen was die einzelnen Zeilen
bedeuten. Ich kann zwar C und C++ fliessen sprechen, aber so Sachen wie
P1DIR und P1OUT sind mspgcc spezifisch. De facto finde ich auf der
MPSGCC Seite keinerlei brauchbare Informationen fuer die MSP
spezifischen defines und aus den Headerfiles werde ich nur sehr
beschraenkt schlau.

Gibt es irgend ein referenzwerk zum thema MSP430 programmierung in C?
Onlinedokumentation waere mir am liebsten, jedoch auch ein Buchtipp
wuerde mir weiterhelfen.

Gruesse,

Michael

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die offizielle Doku kennst du schon? Steht doch eigentlich alles
wichtige drin.
http://mspgcc.sourceforge.net/manual/book1.html

Autor: Michael Jung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin zwar nicht blind aber scheinbar nah dran. Ich finde nirgendwo
etwas das fuer mich wie eine Referenz aussieht. Ich steh nicht so sehr
auf umschreibende Dokumentation, sondern ziehe simple API
Beschriebungen vor.

Vieleicht gibt es ja sowas nicht und man muss sich wirklich durch die
Headerfiles durchschlagen, aber fuer den Fall, dass nicht ganz klar ist
wonach ich konkret suche moechte ich eine andere API Referenz als
Beispiel heranziehen. http://www.gtk.org/api/ - Die Funktionen sind
uebersichtlich gelistet und mit beschriebungen versehen. So stell ich
mir auch eine API Referenz fuer MSPGCC vor.

Gibt es sowas fuer MSPGCC nicht, oder habe ich einfach nur an der
falschen stelle nachgesehen? In der MSPGCC Dokumentation kann ich
soetwas jedenfalls nicht finden.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine großartige "API-Referenz" ist überhaupt nicht nötig. In der Doku
steht wie man Ports, Interrupts, Inline Assemler usw. verwendet, das
war's schon. Referenzen zur C-Standardbibliothek (string.h, stdlib.h,
math.h...) gibt es ja an jeder Ecke.

P1OUT, P1DIR usw. sind für den Compiler nichts weiter als Variablen die
an bestimmten Adressen liegen. Wenn du da Verständnisprobleme hast,
würde ich dir dringen empfehlen erst mal mit Assembler anzufangen.

Gruß
Andreas

Autor: Michael P. Jung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dass es sich dabei um irgendwelche Variablen handelt, die direkt mit der
Hardware in verbindung stehen ist mir auch klar. Jedoch kann ich diese
Variablen in keiner der Texte der MSPGCC Dokumentation finden.

Oder suche ich an der falschen Stelle und TI hat diese selbst
dokumentiert?

ps.
Ich hatte mir auch zuerst vorgenommen mit dem MSP direkt Asembler zu
schrieben, als ich dann jedoch zu lesen bekommen habe, dass der MSPGCC
hervorragende Resultate liefern soll und Asembler nicht mehr wirklich
notwendig ist habe ich mich dazu entschieden doch lieber lesbaren
Asembler zu schreiben... C ;-)


Gruesse,
Michael

Autor: Michael P. Jung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schliesslich habe ich dann doch etwas gefunden. In der "MSP430x1xx
Family User's Guide" findet man das Instruction Set. Wenn ich das
richtig verstehe sind in MSPGCC die Assemblerbefehle bzw. Konstanten
1:1 uebernommen worden. Dass dies der Fall ist wurde leider in keinem
einzigen MSPGCC Dokument erwaehn, oder ich habe es einfach
ueberlesen...

http://www-s.ti.com/sc/psheets/slau049c/slau049c.pdf


Wenn ich das jetzt doch falsch verstanden habe und die MSPGCC header
files doch teils andere Konstanten benutzten klaert mich bitte darueber
auf. - Ich werde, wenn ich das alles endlich geschnallt habe eine
kleines Howto fuer MSP430 Neulinge (so wie ich es im moment bin)
schreiben um ihnen einen Schmerzfreien Einstieg zu ermoeglichen. Ich
denke dagegen hat niemand etwas, denn die Dokumentation fuer diese
Hardware ist relativ duenn gesaet.

Gruesse,
Michael

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Üblicher Weise hat ein Microcontroller kein Operating-System, d.h. es
gibt nichts, was einen API-Call ausführen könnte.

Man kann höchstens eins kaufen oder lizensieren, aber das kostet
richtig Mäuse.

D.h. Du mußt Dir schon die Hardwarebeschreibung durcharbeiten und dann
direkt auf die Hardwareregister (Portpins, Timer, UART, ADC usw.)
zugreifen.

Wichtig ist auch, daß Du genau die Hardwarebeschreibung des Typs
nimmst, den Du später auch einsetzen willst. Die einzelnen Derivate
haben nämlich unterschiedliche Features. Und es macht z.B. wenig Sinn,
den Timer2 zu starten, wenn dieses Derivat gar keinen Timer2 hat.

Deshalb gibt es für jedes Derivat auch das entsprechende Headerfile, wo
die nur dafür zutreffenden Hardwareregister und Bits schon vordefiniert
sind.


Peter

Autor: Michael P. Jung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon kapiert, mit API hatte ich eigentlich genau diese Makros fuer die
portpins gemeint. Ist vieleicht uebertrieben soetwas API zu nennen,
aber wenn man es genau nimmt ist auch ein Instructionset eine art API.
;-)

...oh weia, jetzt bekomm ich gleich was von den MSP cracks auf die
Muetze...

Ich bin jetzt jedenfalls eifrig dabei den MSP430 zu verstehen. Mir ist
mitlerweile klar geworden wieso die Pins in Ports aufgeteilt sind und
insgesamt habe ich endlich in der TI doku hilfe zu den
Makros/Funktionen gefunden, die auch in MSPGCC eingesetzt werden. Also
auf dem Weg vom Mega-Noob zum Nurnoch-Bisserl-Noob. ;-)

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.