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.
PC: http://de.wikipedia.org/wiki/Von-Neumann-Architektur µC: http://de.wikipedia.org/wiki/Harvard-Architektur Grüße
Hi Und bei deinem MSP wird das Programm im Flash ausgeführt. Der RAM wird nur für Variablen und Stack gebraucht. MfG Spess
Tom K. schrieb: > PC: http://de.wikipedia.org/wiki/Von-Neumann-Architektur > µC: http://de.wikipedia.org/wiki/Harvard-Architektur > > Grüße Das ist eine falsche Verallgemeinerung. Ob eine CPU nach der Von-neumann- oder Harvard-Architektur arbeitet hat nichts damit zu tun, ob es ein µC ist oder nicht. Außerdem arbeitet der MSP430 nach der klassischen Von-Neumann-Architektur, also völlig falsch was du gesagt hast. Die HA wird z.B. vom ARM verwendet, aber nicht vom MSP430.
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: > 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-archsi... > rt Nein, aber: http://www.lauterbach.com/frames.html?home.html Du musst nach Trace32 suchen, weiter nach Instruction Set Simulator Beschränkt nutzbar. Selten gemacht, weil Controller besser. Gruß
Wenn dir ein Simulator auf Register Ebene reicht, kannst du auch den IAR MSP430 Compiler nehmen. Der ist bis 4k frei.
Launchpadfrage schrieb: > Tom K. schrieb: >> PC: http://de.wikipedia.org/wiki/Von-Neumann-Architektur >> µC: http://de.wikipedia.org/wiki/Harvard-Architektur >> >> Grüße > > Das ist eine falsche Verallgemeinerung. Erst das und dann Launchpadfrage 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. Sag mal? Kennst Du den Unterschied der beiden Architekturen? Selbstbewusstsein scheint Dir ja nicht zu fehlen.
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
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.
Wenn man "msp430 run code on ram" beim großen G eingibt, findet man bissl was.
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.
Launchpadfrage schrieb: >> PC: http://de.wikipedia.org/wiki/Von-Neumann-Architektur >> µC: http://de.wikipedia.org/wiki/Harvard-Architektur >> >> Grüße > > Das ist eine falsche Verallgemeinerung. Da hast Du vollkommen Recht! Daher müssen diese Artikel natürlich sofort aus Wikipedia gelöscht werden! Wieviele weniger Schlaue sind wohl schon auf diese völlig falsche Verallgemeinerung hereingefallen? Nicht auszudenken, was das für den Wirtschaftsstandort Deutschland bedeutet...
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.