Forum: Mikrocontroller und Digitale Elektronik Lohnt sich der Einstieg in die MSP430 Welt?


von AVR (Gast)


Lesenswert?

Hi,

ich werde bald mit meiner Masterarbeit anfangen. Als Basis wollte ich 
einen 16 Bitter von TI nehmen. Ich dachte an einen MSP430.

Ich wollte halt nun wissen, ob die Dinger in der Industrie oft 
eingesetzt werden? Lohnt es sich, mit den Dinger anzufangen?

MfG

:
von Rene B. (themason) Benutzerseite


Lesenswert?

Lohnen ist immer relativ. Für ne Masterarbeit isses sicher ok (je nach 
Projekt bzw Masterarbeit). Aber ich denke in der Industrie wird der ARM, 
speziell die Cortex-M Reihe mehr und mehr an Bedeutung gewinnen, da eben 
viele Hersteller diesen Kern lizensiert haben und "nur" noch ihre eigene 
Hardware drumrum bauen. Der Umstieg von "klassischen" Systemen wie AVR, 
MSP usw auf Cortex ist schon noch ne Nummer für sich, gerade weil die 
Register-Fummelei bei klassischen Systemen zugunsten einer HAL 
"wegfällt", aber das auch gewisse Probleme mit sich bringt die man nur 
effektiv lösen kann wenn man Register Fummelei betrieben hat, und weiß 
wie bestimmte Dinge "ticken". Von daher würde ich sagen : Masterarbeit 
ja, und ein bissl lernerei für die Praxis, aber langfristig wird es 
sicher eine oder mehrere andere Architekturen sein mit denen man zu tun 
hat.

von Alles andere wäre blöd ;-) (Gast)


Lesenswert?

Der MSP430 lohnt sich immer! Tolles Ding und ohne die Fallstricke vom 
avr.
Die Doku von TI ist top und du wirst schnell voran kommen. Billige 
Erstausstattung durch die Launchpads (all in one: uC, Debugger, Flasher, 
RS232/USB) erleichtern den Start.

Die Industrie stellt um auf Cortex. Der ist für das Selbststudium 
parallel zur Masterarbeit aber eine Nummer zu groß.

von AVR (Gast)


Lesenswert?

Alles andere wäre blöd ;-) schrieb:
> Der ist für das Selbststudium
> parallel zur Masterarbeit aber eine Nummer zu groß.

Das habe ich mir auch schon gedacht, als ich mit meinem Nucleo Board 
anfangen wollte. Nun will ich es etwas "sanfter" angehen. Ich glaube mit 
einem STM sitze ich zu lange an der Masterarbeit.

MfG

von Andreas S. (igel1)


Lesenswert?

Kenne zwar nir AVR und ARM, kann Deiner eigenen Einschätzung auf Basis 
meiner Erfahrungen aber voll zustimmen.

Ich würde mir auch kein ARM für eine Masterarbeit anlernen wollen, wenn 
ich es irgendwie vermeiden könnte. Ist einfach zu umfangreich.

Viele Grüse

Igel1

von Peter (Gast)


Lesenswert?

Was ist an einem ARM Cortex Mx so kompliziert?

Jeder neue Prozessor hat seine Maken und die TOOLs sind fast für alle 
gleich.

Wenn Du mit C Code arbeitest dann ist es Dir eingentlich egal was 
dahinter steckt. Bei Hardware zugriffen must Du so oder so das Handbuch 
ansehen.

Ich kenne MSP430, AVR und ARM. Bei keinem war etwas besonder schwer oder 
leicht.
Eignetlich kommt es mehr auf die IDE an wie schnell man was zustande 
bringt.
Wenn gleich das Grundgerüst mit geliefert wird dann hat man schon 
gewonnen.

ARM & MSP430 Debugger kosten fast nichts.

von pegel (Gast)


Lesenswert?


von Clemens L. (c_l)


Lesenswert?

AVR schrieb im Beitrag #5534434:
> ob die Dinger in der Industrie oft eingesetzt werden?

Ja. (Genau wie die Mikrocontroller der meisten anderen Hersteller.)

> Lohnt es sich, mit den Dinger anzufangen?

Die CPU selbst ist ziemlich egal, solange du nicht mit Assembler 
programmierst. Die Peripherie der meisten ARMs ist komplexer (außer beim 
MSP432).

Die MSP430FR-Serie (mit FRAM) ist ein Alleinstellungsmerkmal, falls du 
etwas mit Datalogging machst.

von Frank K. (fchk)


Lesenswert?

AVR schrieb im Beitrag #5534434:
> Hi,
>
> ich werde bald mit meiner Masterarbeit anfangen. Als Basis wollte ich
> einen 16 Bitter von TI nehmen. Ich dachte an einen MSP430.
>
> Ich wollte halt nun wissen, ob die Dinger in der Industrie oft
> eingesetzt werden? Lohnt es sich, mit den Dinger anzufangen?

Der CPU-Kern wird fast immer durch den C-Compiler wegabstrahiert. Das 
ist heutzutage kein Kriterium mehr. Multiplikation ist kein Teil des 
CPU-Kerns, sondern eher eine Peripherieeinheit.

Die Peripherie ist bei MSP430 ok, aber mehr auch nicht. Was schön ist, 
dass es 16 und 24 Bit ADCs gibt, dafür wirst Du kein CAN und kein 
Ethernet finden.

RAM ist eher wenig zu finden, meistens so bis 8k. Taktraten gehen bis 25 
MHz, also auch eher wenig für die heutige Zeit.

Die Frage ist: Was wirst Du damit machen? Wenn der Fokus auf Stromsparen 
liegt, ist es eine gute Wahl. Wenn Du die 16 oder 24 Bit SD-ADCs nutzen 
kannst und auch die Expertise hast, ein entsprechend gutes analoges 
Frontend zu bauen, wo nicht die unteren 8 Bit im Rauschen verschwinden, 
dann ist es auch eine gute Wahl.

Als Allzweckprozessor bist Du aber mit ARM und MIPS (PIC32) besser 
bedient. Nicht teurer, aber viel schneller.

Ich hantiere gerade mit TI TIVA TM4C bzw MSP432. Schöner Softwaresupport 
mit TI-RTOS und Driverlib.

fchk

von soso... (Gast)


Lesenswert?

MSP430 ist in der Industrie relativ gängig. Wenn es dir gefällt, spricht 
gar nichts dagegen!
Insbesondere dann nicht, wenn du in C arbeitest. Ich habe festgestellt, 
dass das Wissen, welches man sich mit einem µC erarbeitet, leicht auf 
andere übertragbar ist.

Lass dir hier also nichts einreden. Das Forum hier ist eh nur eine 
kleine Ecke, hier besteht die Welt nur aus STM32, PIC und AVR. In der 
Praxis sieht man aber mehr MSP430, Renesas und Atmel-SAM7 als die hier 
so hochgejubelten STM32, ARMS oder PICs.

Das Hochjubeln dieser 3 Forumsüblichen, aber höchst mittelmässig 
verbreiteten µC-Familien hier im Forum kann man getrost igorieren.

Dass "nur ARM" "Die Zukunft" und "alles Andere veraltet" ist, ist 
sowieso Kokolores ;-)

von Alles andere wäre blöd ;-) (Gast)


Lesenswert?

So, so, warum haben jetzt alle Halbleiterhersteller die ARMs im 
Programm? Oft als Konkurrenz zu den eigenen Cores.

Die Industrie geht ARM!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Im übrigen bekam man bis gestern* das MSP430FR2433-Launchpad** für 4.30 
USD - inklusive Versand.

Das enthält ein JTAG-artiges Debug- und Programmierinterface 
(Spy-By-Wire) und "Energy-Trace"-Unterstützung (um die Stromaufnahme zur 
Laufzeit zu untersuchen).

*) jetzt kostet es 10 USD
Bernd hatte hier Beitrag "Back to School - MSP430 Rabattaktion" darauf 
hingewiesen

**) 
https://store.ti.com/MSP-EXP430FR2433-MSP430FR2433-LaunchPad-Development-Kit-P53206.aspx

von W.S. (Gast)


Lesenswert?

AVR schrieb im Beitrag #5534434:
> Als Basis wollte ich
> einen 16 Bitter von TI nehmen. Ich dachte an einen MSP430.
> Ich wollte halt nun wissen, ob...

.. es sich LOHNT?

Tja, lohnt sich Bildung? Lohnt sich ein weiter Horizont mehr als ne 
Scheuklappe? Lohnt sich Latein zu verstehen? Oder Assembler? Oder 
Spanisch? Oder boeuf bourguignon kochen zu können?

Solange du jung bist und deswegen schnell lernst (hoffentlich!!), 
solltest du dich mit mehreren Prozessorfamilien befassen - eben um 
kein Schmalspur-Idiot zu werden, sondern um deinen Horizont so weit wie 
möglich zu erweitern.

Da ist es relativ egal, wie verbreitet ein bestimmter aktueller Typ ist. 
Jede derzeit gehandelte Sorte hat ihre Meriten und ihren optimalen 
Einsatzbereich. Ja, auch die kleinen Controller.

Vergiß das mit dem Einsatzbereich NIE. Hier im Forum brüllen sämtliche 
Fanboys, daß nur ihr Chip das Allerbeste sei. Dazu kommt, daß 
Programmierer, die von Hardware keine Ahnung haben (oder haben WOLLEN), 
ständig brüllen, daß die Welt nur aus C-Programmierung besteht und alles 
Andere verächtlich sei.

Laß dich von sowas nicht breit reden. Mikrocontroller sind dafür 
gedacht, in Geräte eingebaut zu werden, also ist Gerätetechnik, 
Schaltungstechnik, Kenntnis von Controllern UND deren Spezialitäten, 
Programmierung in Hochsprache UND Assembler im Grunde angesagt.

Guck dir lieber alles mal an, vom PIC10 über MSP, Atmel AVR, PIC24, 
Cortexe von diversen Herstellern, PIC32, div. Renesas und und und. 
Manche Architekturen wirst du dann irgendwann man mehr mögen und andere 
weniger, aber wenigstens in den Grundzügen solltest du so viele wie 
möglich kennen.


Nochmal zur Klarheit: Ja, man soll (gerade für kleinere Controller) auch 
in Assembler zu programmieren fähig sein. Ob und in welchem Umfang man 
das tatsächlich tut, ist eine andere Frage. Aber KÖNNEN soll man's.

Und man sollte heutzutage trotz des Siegeszuges der ARM-Cortex auch 
andere Architekturen kennen, von 8 Bittern bis zu 32 Bittern. Die MSP 
Typen von Texas stehen da mittendrin. Und sie werden auch in 
Größenordnungen eingesetzt.

W.S.

von soso... (Gast)


Lesenswert?

Alles andere wäre blöd ;-) schrieb:
> So, so, warum haben jetzt alle Halbleiterhersteller die ARMs im
> Programm? Oft als Konkurrenz zu den eigenen Cores.
>
> Die Industrie geht ARM!

Ein ARM-Fanboy in Schnappatmung. Ohje.

Bevor du in Erstickst, solltest du bedenken, dass einige von mir 
genannte Hersteller ARM-Derivate anbieten, und dass der SAM7 ein ARM-µC 
ist.

Fakt ist jedoch, dass dir Größte Menge der 2018 produzierten 
Prozessorkerne 8051er ausmachen dürfte. Desweiteren sieht ARM gegen X86 
im PC-Markt kein Land, und am µC-Markt erfreuen sich diverse 
nicht-Arm-Kerne wie M16 oder STM-8 weiter großer Beliebtheit.
Am Horizont ist bereits RISC-V in Sicht.

Niemand stellt in Frage, dass die Cortex-Ms im µC-Bereich relativ 
wichtig sind, aber du unterschätzt die Bedeutung anderer Architekturen.

Ich wage die Prognose, dass in einigen Jahren Chinesische µCs den Markt 
umkrempeln werden, und das werden keine ARMs sein. Bereits jetzt haben 
die Asiaten die große Übermacht bei den Mengen.

Nochmal:
Die gefühlte Wirklichkeit auf Microcontroller.net hat nichts mit den 
echten Marktanteilen der Hersteller zu tun, oder damit, was in der 
Industrie wichtig wäre.

Für eine Masterarbeit ist es keine Verschwendung, den Umgang mit einer 
so gängigen µC-Familie wie MSP430 zu lernen.

von Alles andere wäre blöd ;-) (Gast)


Lesenswert?

soso... schrieb:
> Ein ARM-Fanboy in Schnappatmung. Ohje.
>
> Bevor du in Erstickst, solltest du bedenken, dass einige von mir
> genannte Hersteller ARM-Derivate anbieten, und dass der SAM7 ein ARM-µC
> ist.

Nö, ein Realist. Einer der nicht nur Cortex M kennt, sondern auch die 
A. Möchtegerne wie du vergessen das leider. Sie kennen nur die die M 
und denken, das sei die große weite Welt.

soso... schrieb:
> ARM gegen X86
> im PC-Markt

Daran erkennt jeder, wie weit weg du bist. Was der x86 Hype beim PC war, 
ist heute der ARM im embedded Bereich.

soso... schrieb:
> M16 oder STM-8 weiter großer Beliebtheit

Beide Kerne werden garantiert nicht in neuen Designs verwendet. Du 
kannst beide Hersteller nach der Langzeitverfügbarkeit fragen. ;->

(Ist der R32 überhaupt noch ein M16er?)

=> Du bist ein Sprücheklopfer ohne Anhnung.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

AVR schrieb im Beitrag #5534434:
> Hi,
>
> ich werde bald mit meiner Masterarbeit anfangen. Als Basis wollte ich
> einen 16 Bitter von TI nehmen. Ich dachte an einen MSP430.
>
> Ich wollte halt nun wissen, ob die Dinger in der Industrie oft
> eingesetzt werden? Lohnt es sich, mit den Dinger anzufangen?
>
> MfG

Was ist dein Ziel? Wahrscheinlich erstmal deine Masterarbeit,und erst 
wenn du die erfolgreich abgegeben und bewertet bekommen hast dann 
vielleicht mal die Frage, ob die Wahl des Controller in der Masterarbeit 
irgendwie auf Beschaeftigungschancen im Beruf durchschlagen koennte.
Und da sag' ich mal: Die Masterarbeit wird wohl hoffentlich irgend ein 
anderes Thema sein als: "Warum der 430er der tollste µC ist" - sondern 
doch wahrscheinlich irgendeine Problemstellung in eine Richtung, die man 
dann mittels eines µC loesen kann.

Insofern wuerd' ich mir das Leben/die Masterarbeit nicht komplizierter 
machen als noetig, und selbstverstaendlich keinen neuen Controller 
einsetzen, sondern einen, mit dem du schon gearbeitet hast. Dann kannst 
du dich mehr auf den eigentlichen Kern des Pudels konzentrieren und 
musst nicht noch in alle Anfaengerfallgruben eines neuen Controllers 
oder seiner Entwicklungsumgebung tappen.
Hast du bisher noch nie was mit irgendeinem Controller gemacht, ist die 
Masterarbeit ein ganz schlechter Zeitpunkt, damit anzufangen.

Gruss
WK

Beitrag #5534674 wurde von einem Moderator gelöscht.
Beitrag #5534677 wurde von einem Moderator gelöscht.
von Stefan F. (Gast)


Lesenswert?

Ich denke, es spielt überhaupt keine Rolle, für welche µC Serie du dich 
entscheidest, solange deine Prüfer damit zufrieden sind.

Was du dabei lernst, kannst du nach dem Studium teilweise auf andere µC 
Serien anwenden und die Unterscheide sind schnell gelernt. Wenn du 
später beruflich mit Mikrocontrollern entwickelst, kannst du sehr 
wahrscheinlich ohnehin nicht frei wählen. Du wirst den Chip nehmen 
müssen, der Dir vorgegeben wird.

Bei einem ARM basierten Controller stehen die Chancen auf ein späteres 
Wiedersehen etwas höher. Andererseits wäre ich als Prüfer nicht gerade 
positiv beeindruckt, wenn mein Prüfling lediglich zeigt, dass er 
Projekte von Hobbyelektronikern nachmachen kann bzw. sein Know-How 
möglicherweise von dort bezogen hat.

Auf jeden Fall ist die MSP430 Serie kein Exot und damit sicher keine 
schlechte Wahl.

von Peter D. (peda)


Lesenswert?

AVR schrieb im Beitrag #5534434:
> Ich dachte an einen MSP430.

Die 16Bit-Nische ist weder Fisch noch Fleisch.
Zum Einstieg sind die 8Bit AVRs recht gut geeignet. Sobald man mehr 
Rechenpower braucht, nen 32Bit ARM-Cortex (NXP, ST, Michrochip, TI, AD, 
Maxim usw.).

Die Bitbreite hat nichts mit der Rechengenauigkeit zu tun, sondern nur 
mit der Geschwindigkeit und dem Adreßbereich. Auch ein AVR kann 32Bit 
float und 64Bit int (AVR-GCC) und 256kB Flash (ATmega2560).

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Zum Einstieg sind die 8Bit AVRs recht gut geeignet.

Zum Einstieg sind die MSP430 aber ebenfalls recht gut geeignet.

Keine "Harvard"-Fallstricke, verfügbare kostengünstige 
jtag-artige-Debug-Möglichkeiten, UARTs, die auch bei geringen 
Taktfrequenzen ohne Baudratenquarze auskommen, zur Laufzeit 
konfigurierbares Systemverhalten ohne "Fuses", Barrelshifter bei vielen 
Modellen (d.h. schnelle Bit-Schiebeoperationen).

Nachteile:
- Keine Ausführung mit externem Adress-/Datenbus, so daß das RAM nicht 
erweiterbar ist.
- nur sehr wenig und dann nicht leistungsfähige Varianten im 
bastelfreundlichen DIP-Gehäuse
- maximal 3.3V Versorgungsspannung, keine 5V-toleranten I/Os.
- Verfügbarkeit bei Bastelhändlern à la Reichelt geringer
- keine (oder fast keine) günstigen Bastelboards à la Arduino

--

Letztlich hat jede Controllerfamilie ihre Nach- und ihre Vorteile.

Manche sind aus historischen Gründen weiter verbreitet als andere (TI 
hat erst relativ spät angefangen, MSP430 auch für nicht-kommerzielle 
Anwender zu vermarkten, da existierte schon eine große AVR-"Community").

: Bearbeitet durch User
von Christopher J. (christopher_j23)


Lesenswert?

Ich denke das es sich nicht unbedingt lohnt. Ich hab selber mit denen 
angefangen. Es gibt gute Doku und eine komplette IDE für lau aber eine 
große Zukunft würde ich den MSP430 nicht vorhersagen. Die Gegenwart und 
Zukunft gehört ganz klar den Cortex-M. Da würde ich auch nicht auf einen 
AVR setzen, selbst wenn der theoretisch ausreichen würde. Das hat sonst 
den Nebeneffekt das deine Arbeit wirkt als sei sie von 2003 und am Ende 
wirst du noch in die Arduinoecke verfrachtet. Neben den großen Fischen 
wie ST oder NXP gibts ja noch zig andere Cortex-M. Wenn es stromsparend 
sein soll, bieten sich z.B. Nordic oder Silabs an. Die darf man durchaus 
auch verwenden wenn man kein BLE benötigt und bei Stückzahl eins sind 
die Kosten für den Controller sowieso egal. Kannst dir auch mal die 
MSP432 von TI anschauen.

Beitrag #5535198 wurde von einem Moderator gelöscht.
von Peter D. (peda)


Lesenswert?

NXP hat auch einen 5V ARM Cortex-M4 im Programm (Kinetis). Das macht es 
erheblich einfacher für Steuerungsanwendungen.
Ich arbeite auch lieber mit 5V statt nur 3,3V. Man spart dann 
Pegelwandler ein. Z.B. Logic-Level FETs geben den RDSON bei 4,5V an, der 
CAN-Bus will 5V sehen, Analog hat bei 5V bessere SNR usw.

von Jürgen W. (Firma: MED-EL GmbH) (wissenwasserj)


Lesenswert?

Weil da oben von 8 bit geschrieben wurde: Bitte nicht! Das kommt einer 
Amputation gleich, da alles >256 Bytes (und das ist nicht viel) 
Adreßraum nur über irgendwelche Offset-Register, Flags o.ä. realisieren 
kann - ich habe das bei einem PIC16F-Modell (8-bit) kennenlernen müssen 
und das ist einfach nur grausam.

Persönlich arbeite ich mit einem MSP430F5438A (64K RAM, 256K Flash mit 
viel Peripherie) - das ist tw. historisch bedingt, aber ich habe dazu 
auch die gekaufte IDE (IAR Workbench) und bin mittlerweile einfach 
darauf eingefahren. Jedoch merke v.a. bei Signalprozessierung die 
Schwächen von 16 bit (der nutzbare Dynamikumfang bei z.B. 8 bit 
"Fixkommastellen" ist relativ gering). Dazu kommt die nur als Peripherie 
ausgeführte Multipliziereinheit - das kostet relativ viele CPU-Takte 
(vom Laden der Register bis zum Abholen des Resultats min. 8 Takte!). 
Beim MSP430 ist bei 25MHz CPU-Takt Schluß und das macht Probleme, wenn 
man z.B. einen banalen Audiodatenstrom in Echtzeit konvertieren und 
weiterleiten will.

In der Hinsicht ist die CORTEX-M-Reihe mit 32bit und etlichen Befehlen 
mit nur 1 Takt Dauer (und höhere Taktfrequenz) definitiv besser und 
meine Kollegen entwickeln neue Geräte mit STM32-Modellen - von TI gibt 
es seit einiger Zeit ja auch einen "MSP432" - also eine 
MSP430-Peripherie mit CORTEX-M4F-Kern.

Würde ich mit meinem aktuellen Projekt heute anfangen, würde ich wohl 
auf einen Controller mit CORTEX-M4F zurückgreifen statt auf einen 
MSP430, aber wie gesagt: Mein Projekt hat vor 6 Jahren angefangen (ja, 
die Medizintechnik braucht immer länger) und es ist zu weit 
fortgeschritten als daß ein Plattformwechsel jetzt sinnvoll wäre.

Für Dich also als finale Empfehlung meinerseits: Gleich auf einen 
Cortex-M (MSP432, STM32, etc)  aufsatteln. Solange Du in C 
programmierst, ist die darunterliegende Hardware ziemlich egal, die 
Cortex-Kerne haben aber einfach mehr Luft nach oben. Wenn Du 
Periphiemodule (PWM, ADC, etc.) nutzt, mußt Du ohnehin das Datenblatt 
konsultieren und die entsprechenden Register richtig setzen - das bleibt 
Dir bei keiner MCU erspart.

von Wolle G. (wolleg)


Lesenswert?

Jürgen W. schrieb:
> MSP430F5438A (64K RAM, 256K Flash

sicher? mein Datenblatt sagt 16k RAM

von Jürgen W. (Firma: MED-EL GmbH) (wissenwasserj)


Lesenswert?

Ja, sorry. Hab' die 16-bit-Grenze im Kopf gehabt ;)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jürgen W. schrieb:
> Weil da oben von 8 bit geschrieben wurde: Bitte nicht! Das kommt einer
> Amputation gleich, da alles >256 Bytes (und das ist nicht viel)
> Adreßraum nur über irgendwelche Offset-Register, Flags o.ä. realisieren
> kann - ich habe das bei einem PIC16F-Modell (8-bit) kennenlernen müssen
> und das ist einfach nur grausam.

Kaum ein 8-Bit-Prozessor kennt nur 8-Bit-Adressen. Die meisten sind in 
der Lage, mit 16-Bit-Adressen zu arbeiten und können damit 64 kiB 
Adressraum verwenden.

Ältere PICs sind wohl besonders grauenerregende Ausnahmen.

von Jürgen W. (Firma: MED-EL GmbH) (wissenwasserj)


Lesenswert?

Rufus Τ. F. schrieb:
> Kaum ein 8-Bit-Prozessor kennt nur 8-Bit-Adressen. Die meisten sind in
> der Lage, mit 16-Bit-A

Natürlich kann man. Aber wenn der Datenbus nur 8bit breit ist, besteht 
alles zwangsläufig aus 256-Byte-Blöcken und größere Datenmengen, die en 
block verarbeitet werden, sind dann unnötig umständlich zu handhaben.

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jürgen W. schrieb:
> Aber wenn der Datenbus nur 8bit breit ist, besteht alles zwangsläufig
> aus 256-Byte-Blöcken

Denk' darüber noch mal ein Weilchen nach.

von Stefan F. (Gast)


Lesenswert?

> Aber wenn der Datenbus nur 8bit breit ist, besteht
> alles zwangsläufig aus 256-Byte-Blöcken und größere Datenmengen

Bei allen mir bekannten 8bit Mikrocontrollern sind sowohl der 
Programmzähler als auch die wesentlich Zeiger größer als 8bit. Einige 
(z.B. AVR) haben sogar einen 16bit breiten Programmspeicher.

von Jürgen W. (Firma: MED-EL GmbH) (wissenwasserj)


Lesenswert?

Ja, habt's recht (hab' ja beim MSP auch 20bit-Register).

Dennoch: Warum sollte man mit kastrierten Systemen arbeiten, noch dazu, 
wenn man 16- oder 32-bit-Systeme um fast denselben Preis nutzen kann.

Wenn irgendwo ein 4-bit oder 8-bit-Controller ausreicht, sind das 
entweder exotische Spezialanwendungen oder wohl eher Massenprodukte, bei 
denen jeder Cent zählt - und damit sollte man sich nicht unbedingt 
herumschlagen, wenn man's nicht wirklich beruflich macht.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jürgen W. schrieb:
> (hab' ja beim MSP auch 20bit-Register).

Nur bei denen mit MSP430X-Kern wie Deinem 'F5438. Die anderen (mit 
weniger als 64 kIB Flash-ROM) haben nur 16-Bit-Adressregister.

von Bernd B. (microwave-designer)


Angehängte Dateien:

Lesenswert?

AVR schrieb im Beitrag #5534434:
> ich werde bald mit meiner Masterarbeit anfangen

Hallo AVR,

gerne berichte ich Dir, von einem meiner Projekte, doch zunächst ein 
paar Anmerkungen. Ich konnte bis hier nicht herauslesen, was in Deiner 
Masterarbeit abgehandelt werden soll und welche Rolle der MSP430 dabei 
spielt. Vor ein paar Wochen habe ich selbst einem (seit 1.8.) Studenten 
(BA / dualer Studiengang bei einer Bundesbehörde)vorgeschlagen, dass er 
sich mit einem Prozessor auseinandersetzen sollte. Der Vorschlag 
erfolgte noch in seiner freien Zeit vor Semesterbeginn. Ich hatte ihm 
den MSP430 mit dem Starterkit FR2433 vorgeschlagen. Auch hatte ich ihm 
vorgeschlagen die IAR-Workbench zu verwenden und NUR in Assembler zu 
programmieren. Der Prozessor besitzt einen orthogonalen Befehlssatz und 
ist von der Programmierbarkeit gut zu überblicken.

Assembler deshalb, weil es aus meiner Sicht wurscht ist, ob ich ein 
Register in C setze oder Assembler. Mir lag sehr viel dran, dass sich 
der Student in die Denkweise einfindet und den Ablauf versteht, statt 
sich in case-Anweisungen oder if-then-else festbeißt. Auch Subroutines 
und Parameterübergabe via Stack ist möglich und man versteht, wie es 
geht, wenn man es selbst einmal macht. Meine Empfehlung zielte darauf 
ab, zu verstehen, was die modernen Compiler alles machen und wie dann 
das Ergebnis aussieht, das in dem Prozessor läuft. Er soll bis in die 
Register eintauchen und logische Verknüpfungen, Entscheidungen, bedingte 
Verzweigungen, usw. über den OP-Code erlernen.

Das kann ich noch viel weiter ausführen, soll zunächst nur ein 
Denkanstoß sein. Der Assembler von IAR war und ist OHNE Codebegrenzung 
und nutzt auch den Debugger der Workbench. Alternativ kann man sich auch 
ein Stück C-Code compilieren lassen und den Assembler im Listing 
ansehen, wenn man einmal eine kleine Hilfe benötigt. Ich schreibe das, 
da ich selbst mit einem Z8 von Zilog angefangen hatte (kein Z80 und kein 
Z8000) Damals gab es auch keine so schöne Entwicklungsumgebung, so dass 
ich mir einen Cross-Compiler in MS-Pascal selbst schreiben musste. Auch 
das Programm zum Herunterladen lief auf dem AT, usw. Windows war das 
Loch in der Hauswand.

Den Z8 hatte ich aufgegeben, als ich den MSP430x320 kennengelernt habe. 
Damals war die Hardware sehr teuer, aber die Software für Assembler 
kostenlos. Bis 10k-Code war C ebenfalls kostenlos.

Ich habe durch meine Assemblerprogrammiererei viele Projekte realisiert 
und auch viel gelernt. Die beiden angehängten Dateien zeigen zum 
Beispiel einen GPS-Tracker. Die Bilder zeigen zwei Darstellungen, die 
gesamt OHNE Sinus und Cosinus aufgebaut sind. Dazu bin ich bis ins 
Archiv von IBM eingetaucht und habe mir angesehen, wir in den 60-er 
Jahren Kreise als Pixeldarstellungen aufgebaut werden, ohne Floating 
Point Operationen zu verwenden. Selbstverständlich habe ich auch 
irgendwann einmal Produkt- und Divisionsrechnungen programmiert, da 
einige MSP430 damals keine Mathemodul besaßen.

So, wenn Du wirklich etwas vollständig lernen willst, fange ganz klein 
an. Später, wenn Du das Prinzip verstanden hast, kannst Du in C oder in 
Java programmieren und einen der supergutenhochskalierbaren Prozessoren 
verwenden und richtig einsteigen. ("richtig" war ironisch)

Wenn ich wüsste, was im Rahmen Deiner Arbeit aufgebaut werden soll, 
könnte ich Dir sagen, ob der MSP430 das in der begrenzten Zeit schafft. 
Du darfst aber auch auf andere Stimmen hören, die Dir zu einem anderen 
System raten. Versuche nicht in das Schema gut/schlecht, schwarz/weiß 
oder so zu verfallen.

Die Entscheidung bleibt bei Dir. Du wirst vielleicht später fragen ob 
Deine Entscheidung richtig war, die Verantwortung nimmt Dir niemand ab. 
Egal, welchen Prozessor Du verwendest, Du wirst immer Leute finden, die 
Dich unterstützen und dir kurzfristig helfen.

Nochmal mein Vorschlag, nimm den MSP430 in der Ausführung, die zu Deinem 
Thema passt und in vielleicht 2 oder 5 Jahren wechsle auf einen 
"stärkeren" Typ, wenn Du im Umgang mit den Basics fit bist - mindestens 
2 Jahre!

Viel Erfolg und
happy coding!

Bernd

von Bernd B. (microwave-designer)


Angehängte Dateien:

Lesenswert?

...ein Schelm hat die Uhr gelöscht. Nochmal, das übt!

B.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.