Beim MSP430 Launchpad werden ja zwei MSP430 µC mitgeliefert.
Beide haben 128 Byte RAM und 2 KByte Flash.
Der Flashspeicher wird für den Programmcode verwendet.
Wie aber muß man sich das dann auf dem Device bei der Ausführung eines
Programms vorstellen?
Beim klassischen x86 PC ist es z.B. so, dass der Programmcode von der
Festplatte/Diskette/USB-Stick usw. einfach komplett in den RAM geladen
wird
und von dort arbeitet dann das Programm.
D.h. der Instructionpointer zeigt auf den derzeit auszuführenden Opcode
des Programms, welches nun im RAM liegt und dann wird von dort aus
weiterverfahren, je nach dem, was das für ein Opcode ist.
Der Programmcode wird beim x86 also, wenn man davon ausgeht, daß das
Programm von Anfang bis Ende in einem Durchgang ohne Schleifen, Sprünge
usw. durchgearbeitet wird, im RAM quasi durchgescrollt.
Der Programmcode wird also nicht auf dem externen Datenträger wie z.B.
der Festplatte, dem Diskettenlaufwerk usw. durchgescrollt, sondern von
dort nur in den RAM geladen.
Wie ist das aber beim MSP430 Launchpad?
Das Ding hat ja nur 128 Byte RAM, also viel zu wenig um ein 1 KB großes
Programm, daß z.B. im 2 KB großen Flashspeicher gespeichert ist komplett
in den RAM zu laden.
Wird das nur Stückchenweise in das RAM geladen oder ist es sogar so, daß
der Instructionpointer auf einen Speicherbereich auf dem Flashspeicher
zeigt, so daß der Flashspeicher quasi wie RAM benutzt wird?
Noch etwas.
Damit das nicht verwechselt wird.
Beim x86 PC ist der Speicherplatz des Datenträgers zwar auch immer
größer, als der des RAMs, aber beim PC kam es praktisch (von so Sachen
wie der Auslagerungsdatei oder SWAP-Speicher mal abgesehen) kaum vor,
daß Programmcode nachgeladen werden musste.
Bestenfalls wurden Daten nachgeladen, aber eben kein auszuführender
Programmcode.
spess53 schrieb:> Hi>> Und bei deinem MSP wird das Programm im Flash ausgeführt. Der RAM wird> nur für Variablen und Stack gebraucht.>> MfG Spess
Genau das wollte ich wissen, danke.
Jetzt habe ich gerade im Internet entdeckt, daß es einen Simulator für
den MSP430 gibt, siehe Artikel und da das Bild:
http://ece124web.groups.et.byu.net/labs/L06-archsim/archsim.html#LetsStart
Da wird das sehr gut dargestellt, aber weiß jemand, ob es diesen
"MSP430 Micro-Architecture Simulator" irgendwo legal zum Downloaden
gibt?
Ich habe schon gesucht, aber nichts gefunden.
Launchpadfrage schrieb:> Hag Nag schrieb:>> Sag mal? Kennst Du den Unterschied der beiden Architekturen?>> Selbstbewusstsein scheint Dir ja nicht zu fehlen.>> Es ist trotzdem eine vNA.>> http://de.wikipedia.org/wiki/MSP430#Speicheraufteilung
Kollege,
hat hier irgendwer das Gegenteil behauptet? Du entlarvst dich mit deiner
Ausgangsfrage als absoluter Anfänger, was ja nicht weiter schlimm ist.
Aber wenn dir Leute schon helfen, dann solltest du das Danke sagen mal
nicht vergessen, und vielleicht auch mal innehalten, wenn dir jemand
nicht gleich die perfekte Antwort liefert - sonst bekommst du am Ende
gar keine oder eben nur blöde.
Würde ich an deiner Stelle mal drüber nachdenken, denn es kostet die
Zeit anderer, dir zu helfen. Und die haben's eigentlich nicht nötig.
Gun B. schrieb:> Aber wenn dir Leute schon helfen, dann solltest du das Danke sagen mal> nicht vergessen, und vielleicht auch mal innehalten, wenn dir jemand> nicht gleich die perfekte Antwort liefert - sonst bekommst du am Ende> gar keine oder eben nur blöde.
Deine Unterstellung, dass ich mich nicht bedankt hätte stimmt nicht,
denn ich habe mich bei spess53 sehr wohl bedankt, lies oben nach, da
steht das Wort "danke" dabei.
Aber ich muss mich nicht bei Tom K. bedanken, für eine Information die
falsch ist, deswegen habe ich, wie es sich gehört, ihn korrigiert, hier
mir deswegen ein falsches Verhalten vorzuwerfen ist von dir reichlich
unverschämt.
@Gun. B.
Noch etwas:
Vielleicht ist es dir nicht aufgefallen, genau wie das "Danke" auch,
aber Tom. K hat eine eindeutige Zuweisung gemacht.
Vor den Links zu Harvard A. und V.N.A steht nämlich jeweils µC und PC
und diese Zuweisung ist falsch, ihn dafür zurechtzuweisen war also
folgerichtig.
Launchpadfrage schrieb:> @Gun. B.> Noch etwas:>>> Vielleicht ist es dir nicht aufgefallen, genau wie das "Danke" auch,> aber Tom. K hat eine eindeutige Zuweisung gemacht.> Vor den Links zu Harvard A. und V.N.A steht nämlich jeweils µC und PC> und diese Zuweisung ist falsch, ihn dafür zurechtzuweisen war also> folgerichtig.
Auf das WIE kommt's an.
<OT>
Bitte beruhigt Euch wieder:
der meiste Ärger entsteht (nur) durch Mißverständnisse ...
Einige der "Alteingesessenen" hier reagieren m.E. etwas überempfindlich.
Immer daran denken: jeder fängt mal klein an ...
</OT>
Gemeinsam gehts leichter
Martin
Gun B. schrieb:> Auf das WIE kommt's an.
Na dann schreib dir das mal hinter die Ohren.
Dein Pamphlet besteht nur aus Demütigungen, Beleidigungen und
Unterstellungen.
Vielleicht fällt dir das nicht auf, aber ich zitiere mal deinen Mist:
1.
> Du entlarvst dich mit deiner
Ausgangsfrage als absoluter Anfänger,
2.
> dann solltest du das Danke sagen mal
nicht vergessen,
Anmerkung:
Du hast jetzt übrigens zwar um 9:07 hier nochmal reingerotzt, aber
entschuldigt hast du dich für diesen Vorwurf bis jetzt noch nicht.
Fass dich hier mal an die Nase!
3.
> und vielleicht auch mal innehalten, wenn dir jemand
nicht gleich die perfekte Antwort liefert - sonst bekommst du am Ende
gar keine oder eben nur blöde.
Die Antwort von Tom K. war bereits blöde und auch eine Unterstellung, da
sie unterstellt dass man den Unterschied zwischen HA und vNA nicht
kenne, dabei hat meine Frage, wenn man mal genau liest und genau darüber
nachdenkt, gar nichts mit HA oder vNA zu tun.
Der Flashspeicher hätte nämlich auch, genau wie beim PC auch, als bloßer
statischer Datenspeicher herhalten können, es ist keine
Selbstverständlichkeit, dass in einen solchen Bereich der
Instructionpointer zeigt.
Launchpadfrage schrieb:> Der Flashspeicher hätte nämlich auch, genau wie beim PC auch, als bloßer> statischer Datenspeicher herhalten können, es ist keine> Selbstverständlichkeit, dass in einen solchen Bereich der> Instructionpointer zeigt.
Wie steht es denn mit dem BIOS-Flash beim PC? Nach Reset geht es dort
los. Ursprünglich lag es im Adressraum und das Programm wurde direkt aus
dem Speicher ausgeführt. Später folgten Verbesserung durch Shadow-ROM
für einen schnelleren Zugriff.
Launchpadfrage schrieb:> Beim klassischen x86 PC ist es z.B. so, dass der Programmcode von der> Festplatte/Diskette/USB-Stick usw. einfach komplett in den RAM geladen> wird> und von dort arbeitet dann das Programm.
Das liegt nicht an der x86 Architektur. Es handelt sich um eine
Eigenschaft des Betriebssystems. Mit einem entsprechenden Programm kann
das auch auf einem µC erfolgen. Manche laden Programme aus einem EEPROM,
andere modifizieren den Code zur Laufzeit.
Doof schrieb:> Da hast Du vollkommen Recht! Daher müssen diese Artikel natürlich sofort> aus Wikipedia gelöscht werden!
Unfug. Richtig lesen hilft; die falsche Verallgemeinerung besteht darin,
zu behaupten, µCs würden implizit alle die Harvard-Architektur nutzen.
Und das hat nichts mit Wikipedia zu tun, sondern mit der von "Tom K."
genutzten Formulierung.
Übrigens ist der Thread schon etwas angestaubt, meinst Du tatsächlich,
daß Dein Beitrag die Diskussion hier inhaltlich etwas weiterbringt?
Launchpadfrage schrieb:> Beim klassischen x86 PC ist es z.B. so, dass der Programmcode von der>> Festplatte/Diskette/USB-Stick usw. einfach komplett in den RAM geladen>> wird>> und von dort arbeitet dann das Programm.
Hallo!
Das ist weder für den klassischen PC noch für modernere komplett
richtig.
Testweise kannst du ja mal die RAM-Riegel aus dem Mainboard ziehen. Ganz
ohne RAM stellt die CPU durch das BIOS-Programm fest, dass sie kein RAM
findet, und zeigt dies durch Piep-Töne oder auch auf einem
angeschlossenen POST-Display an.