Die Frage ist ernst gemeint. Gibt es solche µC, die keinen
nichtflüchtigen Speicher haben, also kein Flash oder EEPROM. Wo man
darauf angewiesen ist, das Programm von außen in den RAM zu schreiben
und von dort auszuführen? bzw. eine externe Speicherquelle zu nutzen?
greg schrieb:> Das trifft auf viele alte MCS-51 Mikrocontroller zu.
Genau genommen nicht. Auch die 8031 haben ein sehr nichtflüchtiges
Masken-ROM drin, allerdings mit nutzlosem Inhalt.
Tannenbaum77 schrieb:> Die Frage ist ernst gemeint. Gibt es solche µC, die keinen> nichtflüchtigen Speicher haben, also kein Flash oder EEPROM. Wo man> darauf angewiesen ist, das Programm von außen in den RAM zu schreiben> und von dort auszuführen? bzw. eine externe Speicherquelle zu nutzen?
Genau. Für den 8051 gab es früher reichlich Eval-Boards, die mit ein
paar Logik-Gattern eine Von-Neumann-Schaltung auf der Platine erzeugten,
und man ein Testprogramm über die serielle Schnittstelle ins RAM laden
konnte. Im EPROM war nur ein Ladeprogramm dafür. Ich arbeite heute noch
damit. Z.B. die Compuboards von Elektor. Nach Stromabschaltung ist das
Programm aber weg, wenn man nicht noch für das RAM eine
Batteriepufferung auf dem Board hat.
Man machte das wohl deshalb, weil es noch keine µC mit integriertem
Flash-ROM gab, und das EPROM ein separater Baustein war.
AN2131 (Cypress) war so einer - 8KB RAM, 8051-Kern.
Sonst nichts. Der musste entweder ein externes EEPROM haben oder man
musste per USB die Firmware erst laden (der hatte einen USB Bootloader
drin).
Ich meine die 7C68013 von Cypress haben das immer noch so.
Tannenbaum77 schrieb:> Die Frage ist ernst gemeint. Gibt es solche µC, die keinen> nichtflüchtigen Speicher haben, also kein Flash oder EEPROM.
Manche definieren den Begriff µC, dass ein Prozessor ohne intergiertem
Speicher per Definition kein Microcontroller ist.
Andere definieres alles, was irgendwas steuert, als Microcontroller. Und
wenn es ein ARM9 mit Linux in externem Flash ist. Dann gibts das schon.
A. K. schrieb:> greg schrieb:>> Das trifft auf viele alte MCS-51 Mikrocontroller zu.>> Genau genommen nicht. Auch die 8031 haben ein sehr nichtflüchtiges> Masken-ROM drin, allerdings mit nutzlosem Inhalt.
Das war doch aber sicher nur deshalb der Fall, weil der 8031er aus
teildefekten 8051-Dies selektiert wurde, oder?
NXP LPC2290 (ARM7) hat auch kein Flash. Auch andere aus dem Bereich
LPC22xx.
Andere definieren µC wenn CPU + irgend eine Speicherart + Peripherie in
einem Chip ist.
greg schrieb:> Das war doch aber sicher nur deshalb der Fall, weil der 8031er aus> teildefekten 8051-Dies selektiert wurde, oder?
Das waren eher jene Exemplare, deren maskenprogrammiertes ROM für den
gedachten Zweck dann doch nicht zu gebrauchen war. Und deren
ursprünglicher Kunde nichts dagegen hatte, dass Intel diese 8051er als
8031er verkaufte.
greg schrieb:> Das war doch aber sicher nur deshalb der Fall, weil der 8031er aus> teildefekten 8051-Dies selektiert wurde, oder?
Einen beliebigen programmierten 8051 mit unbekanntem Programm konnte man
immer noch als vollwertigen 8031 benutzen. Mit dem Pin EA schaltet man
zwischen Masken-ROM und externem ROM um.
Wilhelm F. schrieb:> Einen beliebigen programmierten 8051 mit unbekanntem Programm konnte man> immer noch als vollwertigen 8031 benutzen.8051 <> 8031, du meintest wohl "vollwertigen 8051"...
D. V. schrieb:> 8051 <> 8031, du meintest wohl "vollwertigen 8051"...
Technisch: 8031 == 8051. Wenn eine Kunde einen 8051 brauchte, dann
schickte er ein Programm als Intel-Hex zu Intel, bestellte 30000 Stück
und wartete viele Wochen bis die Produktion durchlief. Wenn er
währenddessen merkte, dass das Programm eine bösen Fehler hatte, dann
wurde aus dem in Produktion befindlichen aber noch nicht fertigen 8051
u.U. ein 8031 für den freien Markt.
D. V. schrieb:> Wilhelm F. schrieb:>> Einen beliebigen programmierten 8051 mit unbekanntem Programm konnte man>> immer noch als vollwertigen 8031 benutzen.>> 8051 <> 8031, du meintest wohl "vollwertigen 8051"...
Nein, der 8051 hat ja ein Masken-ROM. Wenn man EA auf Low legt, ist das
Masken-ROM abgeschaltet, und auf externen Programmspeicher umgeschaltet.
Bei einem neu gekauften 8031 muß man EA auch auf Low legen.
So kann man einen irgend wo gefundenen 8051 mit beliebigem
Maskenprogramm immer als 8031 verwenden.
Aber keine Ahnung, was ein neu gekaufter 8031 macht, wenn man EA auf
High legt. Vielleicht sind ja Testprogramme des Herstellers drinne.
Harald Wilhelms schrieb:>> Gibt es solche µC, die keinen nichtflüchtigen Speicher haben,>> z.B. der: http://de.wikipedia.org/wiki/4004
Das war kein µC, sondern ein Mikroprozessor.
Der Unterschied zwischen beiden besteht nach Ansicht mancher im
Vorhandensein oder Nichtvorhandensein von Speicher, aber auch im
Vorhandensein von Peripheriefunktionen, wie Schnittstellen, Timern etc.
Mikroprozessoren enhalten diese nach der "reinen Lehre" allesamt nicht.
Markus Müller schrieb:> NXP LPC2290 (ARM7) hat auch kein Flash. Auch andere aus dem Bereich> LPC22xx.
Tatsächlich, es gibt einige LPC22xx Chips die kein Flash und kein EEPROM
haben.
Markus Müller schrieb:> NXP LPC2290 (ARM7) hat auch kein Flash. Auch andere aus dem Bereich> LPC22xx.
Wobei ich nicht überrascht wäre, wenn sich auf dem Die dann doch
unbenutzes Flash-Mem finden liesse. Und es sich um eine
Produktionsvariante anderer LPC2000 handelt.
EEPROM haben die LPC2000 sowieso nicht.
Kein Name schrieb:> Z.B. Geldautomat. Erste Hürde für den Hacker - beim Ausbauen ist das> Programm weg.
Aber das Geld ist noch da. Das würde mir reichen.
Kein Name schrieb:> Z.B. Geldautomat. Erste Hürde für den Hacker - beim Ausbauen ist das> Programm weg.
Natürlich ist es noch da, sonst würde der Automat ja nicht
funktionieren. Und wenn es in einem externen Flash steht, macht das die
Sache für den Hacker viel einfacher, weil das nicht gegen Auslesen
geschützt werden kann.
Tannenbaum77 schrieb:> Gibt es solche µC, die keinen> nichtflüchtigen Speicher haben, also kein Flash oder EEPROM.
z.B. eZ80L92 von Zilog.
Gruss Reinhard
cyblord ---- schrieb:> Aber das Geld ist noch da. Das würde mir reichen.
Ich dachte immer, das Geld wird erst in dem Augenblick gedruckt,
wo man es anfordert. Die Geräuschkulisse eines Geldautometen
passt jedenfalls dazu. :-)
Gruss
arald
Kein Name schrieb:> Z.B. Geldautomat. Erste Hürde für den Hacker - beim Ausbauen ist das> Programm weg.
In so einem werkelt ueblicherweise ein PC, heutzutage sicher schon mit
Windows 2000 ausgestattet.
Harald Wilhelms schrieb:> Ich dachte immer, das Geld wird erst in dem Augenblick gedruckt,> wo man es anfordert.
Das lohnt sich nicht wirklich, denn dann müsste man ja immer noch jemand
hinschicken, der Papier nachfüllt. Echten Fortschritt bringen erst die
BitCoin-Automaten.
Gruss Reinhard
> Die Frage ist ernst gemeint. Gibt es solche µC, die keinen> nichtflüchtigen Speicher haben, also kein Flash oder EEPROM.
Renesas SH2A -> SH7262/7264. Die haben nur intern 1Mbyte Ram + 64k
Dualportram. (letzeres damit ein DMA keine Performance kostet)
http://www.renesas.com/products/mpumcu/superh/sh7260/sh7262/
SH7268 mit 2.5MByte Ram:
http://www.renesas.com/products/mpumcu/superh/sh7260/sh7268/index.jsp
Nach dem Reset laedt der Controller ein Programm aus einem externen
Datenflash ins Ram und startet es da. Und danach zeigt der Controller
den langweiligen ARMs wo der Hammer haengt. :-)
Nachteile: Brauchen etwas laenger bis sie nach dem Reset arbeiten weil
sie ja erst das Programm einlesen.
Ausserdem gibt es dann keinen Schutz des Programms vor dem auslesen.
Vorteile: Schnell! Sehr gute Doku. Ausgereifte fehlerfreie Hardware. Man
merkt dem Prozessor an das er bereits ausgereift ist und nicht so auf
Kante genaeht wie die Schickimicki-Arms wo jeden Monat neue Bugs
auftauchen. Das Programmieren auf den Teilen fuehlt sich an als wenn man
auf einem PC arbeitet. Irgendwie grenzenlos.
Olaf
Markus Müller schrieb:> AN2131 (Cypress) war so einer - 8KB RAM, 8051-Kern.> Sonst nichts. Der musste entweder ein externes EEPROM haben oder man> musste per USB die Firmware erst laden (der hatte einen USB Bootloader> drin).>> Ich meine die 7C68013 von Cypress haben das immer noch so.Rufus Τ. Firefly schrieb:> Harald Wilhelms schrieb:>>> Gibt es solche µC, die keinen nichtflüchtigen Speicher haben,>>>> z.B. der: http://de.wikipedia.org/wiki/4004>> Das war kein µC, sondern ein Mikroprozessor.>> Der Unterschied zwischen beiden besteht nach Ansicht mancher im> Vorhandensein oder Nichtvorhandensein von Speicher, aber auch im> Vorhandensein von Peripheriefunktionen, wie Schnittstellen, Timern etc.
Der Übergang kann aber auch fließend sein. Ich habe mal einen ARM7
programmiert, der einiges an Peripherie eingebaut, aber an Speicher nur
8k RAM hat. Flash muß man extern anschließen, und auch RAM kann man in
reichlicher Menge anschließen. Den internen RAM kann man wahlweise als
normalen Speicher oder als Cache für den externen Speicher
konfigurieren. In dem Gerät, wo ich den betreiben hab, sind 16 MB RAM
angeschlossen und der eingebaute RAM ist als Cache konfiguriert. Ist das
nun ein µC oder nicht?
> Mikroprozessoren enhalten diese nach der "reinen Lehre" allesamt nicht.
Es gibt dann auch noch die SoCs, die sogar extrem viel Peripherie
bereits integriert haben. Der Speicher ist zwar nicht auf dem selben
Chip, aber im selben Gehäuse. Schau dir den RasPI an. Der besteht im
Wesentlichen aus einem einzelnen IC. Aber bei 700 MHz Takt und 512 MB
RAM und einem Desktop-Linux drauf würde ich nicht mehr von einem µC
sprechen.
Für USB-Geräte (z.B. WLAN- oder DVB-Sticks) gibt es so etwas. Der
Prozessor enthält einen einfachen Booter im ROM und bekommt die
eigentliche Firmware nach jedem Reset vom Treiber auf dem PC per USB
geliefert. Vorteil: keine Inkompatibilitäten zwischen Firmware und
Treiber. Und der Prozessor ist billiger (Flash on chip ist zusätzlicher
Aufwand in der Chipherstellung)