Forum: Mikrocontroller und Digitale Elektronik Motorola 68k


von Oswald Mario (Gast)


Lesenswert?

Hallo,

ich suche Informationen (Beschreibunge, Datenblätter,..) zu
Motorola 68k Prozessoren.
Mit was programmiert man die am besten? Welche Compiler nimmt man
da?

Werd nämlich ein Projekt mit diesem Controller machen und hab
noch keine Erfahrungen damit.

Danke Mario

von Rufus T. Firefly (Gast)


Lesenswert?

Du nennst "Motorola 68k" und "Controller" in einem Atemzug. Bist Du
Dir sicher?

Der 68K (ausgeschrieben: MC68000) wurde von Motorola 1979 auf den Markt
gebracht und war ein 32-Bit-Prozessor mit externem 16 Bit breitem Daten-
und 24 Bit breitem Adressbus. Verbaut wurde er unter anderem in frühen
Apple Macintosh-Modellen, dem Atari ST und dem Commodore Amiga.

Ein Controller ist das nicht, sondern eine CPU, die eine ganze Menge
Beschaltung benötigt, bis man damit auch nur irgendwas anfangen kann
(RAM, ROM, Peripherie, Takterzeugung, Adressdecodierung etc.).

Könnte es sein, daß Du vielleicht doch irgendetwas anderes meinst?

von Gerd K. (Gast)


Lesenswert?

Hi,
wie Rufus schon gesagt hat, die 68000er sind keine mal eben so
anzuprogrammierenden Chips, die brauchen ein Umfeld (zu finden z.B. in
einem alten Atari oder Amiga oder was vom Apfel).

Wer so fragt, dem ist wahrscheinlich hier vorerst am besten geholfen

http://www.freescale.com/webapp/sps/site/homepage.jsp?nodeId=0162468449&tid=tmhb

Einfach auf einen der Controller klicken, dann erscheint auch die
gesammte Doku dazu.

Die 8-bittigen Tierchen sind ja aus dem 6800er hervorgegangen.
Vielleicht war auch das gemeint. Mit einem C-Compiler anzufangen halte
ich für nicht sinnvoll, noch dazu gibt es diese kaum für lau (manche
sind dennoch mit deftigen Einschränkungen verwendbar - macht die Sache
aber auch nicht einfacher.)

Noch vor kurzem hießen die übrigens Motorola, aber man hat sich ja
daran gewöhnt, dass das Gute ausgegliedert wird.

Gruß
Gerd K.

von Rufus, das dicke Ei (Gast)


Lesenswert?

@ Rufus T. *):

"Du nennst "Motorola 68k" und "Controller" in einem Atemzug. Bist
Du
Dir sicher?"

Wo ist das Problem?


"Der 68K (ausgeschrieben: MC68000) wurde von Motorola 1979 auf den
Markt gebracht und war ein 32-Bit-Prozessor mit externem 16 Bit breitem
Daten und 24 Bit breitem Adressbus. Verbaut wurde er unter anderem in
frühen Apple Macintosh-Modellen, dem Atari ST und dem Commodore
Amiga."

68K ist eine ganze Familie und 68K steht bei Motorola nicht für 68000,
sondern für (unter anderem):
- 68000
- 68008
- 68012
- 68EC000
- 68HC000
- 68020
- 68EC020
- 68030
- 68EC030
- 68040
- 68EC040
- 68LC040
- 68060
- CPU32
- CPU32+
- Coldfire
- Dragonball

wobei die letzten vier keine Prozessorfamilien, sondern
Mikrocontrollerfamilien sind.


"Ein Controller ist das nicht, sondern eine CPU, die eine ganze Menge
Beschaltung benötigt, bis man damit auch nur irgendwas anfangen kann
(RAM, ROM, Peripherie, Takterzeugung, Adressdecodierung etc.)."

Leider völlig falsch, siehe oben. Ausserdem erkläre mir bitte, wieso
der Prozessor 68000 RAM braucht?
Komisch, die Platine vor mir hat keins und hat doch mal einwandfrei
funktioniert...


"Könnte es sein, daß Du vielleicht doch irgendetwas anderes meinst?"

Tja, an anderer Stelle hier im Forum gab es einen schönen Spruch, ich
denke, Du weißt, was ich meine...




*) T. != T-Punkt, also nicht zu verwechseln mit dem phonetisch gleichen
Läden eines großen deutschen Telekommunikationsunternehmens

von Christian (Gast)


Lesenswert?

@Oswald:
Wie Rufus, d.d.E, schon erwähnte, hat Motorola ihren 68k Core in eine
ganze Reihe von Microcontrollern integriert (genauso wie andere
Hersteller 8051- oder ARM-Kerne integrieren). Ooops, jetzt habe ich ja
'Motorola', '68k' und 'Controller in einem Atemzug genannt!
Ein bekanntes Beispiel ist der 68328, der u.a. auch in den PalmIII-V
und vielen Händies werkelt.
Die Halbleitersparte von Motorola wurde ausgegliedert und heißt jetzt
Freescale. Unter
http://www.freescale.com/webapp/sps/site/homepage.jsp?nodeId=0162468rH3YTLC
findest du jede Menge Infos. Entwicklungstools gibt es freie wie auch
kommerzielle.
Wenn du in Google nach 68k, 68000 oder 68328 suchst, wirst du alles
finden, was du so brauchst und noch viel mehr. Ein paar gute Infos und
Links gibts unter
http://members.ozemail.com.au/~davidwilliams/ddl_home.htm

Um welchen Controller, CPU oder welches Board handelt es sich denn
genau?

Gruß,

Christian.

von Rufus T. Firefly (Gast)


Lesenswert?

@Oswald:
Du wirst jetzt vermutlich vor Schreck vom Stuhl fallen, aber daß unter
dem Namen "68K" 'ne ganze Menge von Microprozessoren existieren, das
ist mir bekannt.

Die 68k-Varianten, die tatsächlich als Microcontroller verkauft werden,
werden -wie Du selbst aufgezählt hast- nicht unter der Bezeichnung
"68k" verkauft.

Und Du hast also eine Platine mit einem 68000 drauf, auf der kein RAM
ist und die irgendwas sinnvolles macht, außer Wärme zu produzieren? Das
ist schön für Dich, und schön für den Prozessor, der dank nicht
vorhandenem Stack nur sehr primitive Programme ausführen darf.

Wozu ein Prozessor RAM benötigt? Hast Du mir wirklich diese Frage
gestellt?

Welche der von Dir aufgezählten angeblich von Motorola zur 68K-Familie
gerechneten Varianten erfüllt denn Deiner Ansicht nach die Definition
eines Controllers (internes RAM, internes ROM, interne Peripherie)?
Wenn Du mir schon Falschaussagen unterstellst, dann solltest Du das
auch belegen.

von dose (Gast)


Lesenswert?

Hallo

Ich habe mit dem 68332 gearbeitet. Dieser Controller programiert sich
sehr gut in Assambler. Es gibt ein sehr gute Bücher von Werner Hilf.
Meine Gehversuche habe ich mit dem NF300 absolviert.

http://www.elektronik.vhf.de/nf300/nf300.html

Zu meiner Zeit hat es mit einem freien C Compiler geharpert. Es gab
schon einen GNU Crosscompler, jedoch war ich nicht in der Lage die
letzen Anpassungen durchzuführen.

von funbirdy (Gast)


Lesenswert?

Hi @all,

Rufus T.F. hat vollkommen recht. Denn Oswald fragte ursprünglich nach
68k-Prozessoren. Dazu gehören sämtliche Exemplare begonnen bei 68000
bis hin zum 68060. Dies sind unbestreitbar alles Prozessoren.
Alles was mehr enthält und damit zu den Controllern gezählt wird,
gehört nicht zur 68k-Familie.
Dies sind alles Controller mit 68k-Core (und natürlich Peripherie)! Ein
kleiner, feiner Unterschied.
Ich habe zwar schon eine längere Zeit kein Blick mehr in ein Datenblatt
von Freescale geworfen, aber als es noch Motorola war, las man es so in
Dokumetationen.

Funbirdy

von DirkD (Gast)


Lesenswert?

Hi!

Als Compiler kann der gcc eingesetzt werden. Je nach Derivat (z. B.
Coldfire) macht es Sinn einen speziell angepassten gcc zu verwenden.

Nützliche Infos kannst Du z. B. unter www.uclinux.org finden.

Gruß

    Dirk

von dose (Gast)


Lesenswert?

Ich bin an dem Linkerscript gescheitert. Das muss spezifisch für das
Board angepasst werden.

von Rufus T. Firefly (Gast)


Lesenswert?

@Oswald:
Eine Entschuldigung ist angebracht. Nicht Dich wollte ich mit meinem
heutigen Beitrag (von etwa halb neun) ansprechen, sondern die
Lebensform, die sich "Rufus, das dicke Ei" nennt und um 6:26
wichtiges hier zu posten meinte.


Dir sei dennoch die Frage gestellt, was exakt Du mit "diesem
Controller" meinst. (Genaue Typenbezeichnung)

von Marko B. (Gast)


Lesenswert?

Rufus T. F., funbirdy: totaler Schmarrn. Wie man hier sieht:

http://www.freescale.com/webapp/sps/site/homepage.jsp?nodeId=0162468rH3YTLC

werden unter '68k' zuerst die Mikrocontroller (MC683*) aufgezählt.

von Michael (Gast)


Lesenswert?

Wenn Du die 68K-Familie programmieren willst/mußt, würde ich Dir
Assembler empfehlen. Bei einem C-Compiler ist es fast egal, welcher
Prozessor/Controller die Befehle ausführt.
Die 68Ks (Plural) lassen sich zum einen sehr gut in Assembler
programmieren und vermitteln z.B. wegen der vielen Adressierungsarten
einen sehr hohen Lerneffekt (Variablen auf Stack, link-unlink,
verkettete Listen,...)

von Rufus T. Firefly (Gast)


Lesenswert?

Aha.

Weil Freescale das jetzt so will, bekommt eine seit 1979 (!) bestehende
Bezeichnung urplötzlich eine völlig andere Bedeutung?

Klasse. Da entscheidet also die Reihenfolge, in der irgendein
Hilfsdödel Texte auf einer Website unterbringt, über die Bedeutung von
Begriffen.

Also: Leute, die nicht nur auf ein schickes Webdesign hereinfallen,
sondern sich schon einige Jahre lang mit Dingen beschäftigen, haben
eine andere Vorstellung davon, was "68K" bedeutet, als diese
Website.

Selbst die Lebensform mit dem eigenartigen Namen zählte zuerst 13
Varianten der 68K-Familie auf, die keine Microcontroller sind.

von lektrikman1001 (Gast)


Lesenswert?

moin,
wo ist der unterschied zwischen windows2000 und w2k ?

von funbirdy (Gast)


Lesenswert?

Keiner!

2000 = 2k(ilo)

<sarkasmusan>Ist nur eine Abkürzung, weil es sehr aufwendig ist 2
Zeichen mehr zu tippen<sarkasmusaus> ;-)

Funbirdy

von Oswald Mario (Gast)


Lesenswert?

Also danke mal für die vielen Antworten.
Ich hab damit (und damit die falsche Bezeichnung gewählt) die
Mikrocontroller mit 68k-Core gemeint.
Also Sorry an alle, dass sowas wegen meiner falschen Bezeichnung
rausgekommen ist.

Gibt es gute Bücher zu solchen µC's oder auch gute Seiten (speziell in
Richtung Programmierung)??

Danke

von Rufus T. Firefly (Gast)


Lesenswert?

@Oswald:

Gut, daß das jetzt geklärt ist.

Die prinzipielle Programmierung in 68K-Assembler dürfte ja von der
Tatsache her, ob sie für einen µC oder einem "richtigen" Prozessor
stattfindet, sich nicht sonderlich unterscheiden.
Über 68K-Assembler dürfte sich auf Grund der hohen Verbreitung dieser
Prozessorarchitektur in den 80er Jahren reichlich Sekundärliteratur
anfinden (Atari ST, VC Amiga).
Allgemeiner gehalten gab es damals im Tewi-Verlag die Bücher "M68000
Familie - Grundlagen und Architektur" ISBN 3-921803-16-0 und
"M68000-Familie - Anwendungen und Bausteine" ISBN 3-921803-30-6 von
Werner Hilf und Anton Nausch. Von Hilf erschienen noch weitere Bücher
im Markt&Technik-Verlag und im Franzis-Verlag. Davon sollte sicherlich
irgendwas antiquarisch aufzutreiben sein (www.zvab.de ist
möglicherweise eine Anlaufstelle).

Die Ansteuerung der Peripherie ist der Punkt, wo sich die Dinge dann zu
unterscheiden beginnen, aber bei der 68K-Reihe wird sowieso nur mit
"memory mapped I/O" gearbeitet; ob an einer Adresse nun RAM, ROM oder
ein Register eines Peripheriebausteines liegt, macht in Bezug auf den
Zugriff darauf keinen Unterschied aus.

68k-Assembler sollte einem recht gut "von der Hand gehen", da die
Architektur ziemlich orthogonal ist, viele Daten- und Adressregister
und leistungsfähige Adressierungsarten zur Verfügung stellt.

Es gibt auch eine ucLinux-Portierung für MMU-losen 68K (das war, wenn
ich mich recht entsinne, sogar der "Urvater" davon), so daß sowohl
die übliche Linux/gcc-Toolchain für diese Prozessorfamilie verfügbar
sein dürfte.

Viel Erfolg!

von Olaf (Gast)


Lesenswert?

Also ich programmiere den 68332 beruflich und halte es fuer ziemlichen
Unsinn den in Assembler zu programmieren!
Und das nicht weil ich etwas gegen Assembler habe.

Man setzt so einen fetten Prozessor ja normalerweise nur ein wenn man
auch entsprechend aufwendige Probleme zu loesen hat. Da wuerde ich dann
doch dringend zu C raten.
Hinzu kommt noch das die Dinge wo Assembler normalerweise seine
Qualitaeten entfaltet, genaues Einhalten von Timings, schnelle kurze
Interruptroutinen, mehrere Sachen parallel machen ohne den Ueberblick
ueber das Timing zu verlieren, dass all dies sehr gut von der
eingebauten TPU uebernommen wird.

Damit will ich nicht sagen das man die nicht auch in Assembler
programmieren kann wenn man denn unbedingt will, aber das ist wirklich
einer der Controller wo dies am wenigsten notwendig ist.

Und was die Doku angeht, es gibt von Motorala zu den Teilen
Datenblaetter und Handbuecher. Ich wuesste wirklich nicht was man sonst
noch brauchen sollte.

Privat wuerde ich so eine CPU uebrigens nicht nutzen. Und zwar deshalb
weil ich nicht glaube das man die mit weniger als vier lagen Multilayer
einsetzen kann.

Olaf

von dose (Gast)


Lesenswert?

Ich bin der gleichen Meinung wie Olaf,

die 68k Kisten sind schon gute Zugpferde und sind für komplexe Sachen
sehr gut geeignet. Solche Sachen sind mit Hochsprachen zu erledigen.
Assambler ist gut für Mikrokontroller mit geringen Speicher und
Bitschubserei geeignet. Es gibt eine Grenze wo Assembler nicht mehr
sinnvoll ist.

von Michael (Gast)


Lesenswert?

@Olaf

Ob Sinn oder Unsinn, entscheidend ist, was Mario vor hat. Natürlich
verwende auch ich C, um zu Potte zu kommen. Aber mit 68K hat das dann
eher wenig zu tun.
Die Familie fängt bei 68008 an, der ohne Probleme 2-lagig zu
'layouten' ist. Die neueren Coldfire im BGA sind sicherlich nichts
mehr für Bastelarbeiten, aber sehr feine Teile.
Bei den 'alten' CPUs würde ich die Ausführungsgeschwindikeit
kritisieren, die nicht mehr zeitgemäß sind. Aber im Kern sind sie alle
gleich zu programmieren.

von Jürgen (Gast)


Lesenswert?

"sondern die Lebensform, die sich "Rufus, das dicke Ei" nennt und um
6:26 wichtiges hier zu posten meinte."

Kann es sein, Rufus T., daß Du immer dann ausfallend wirst, wenn Dir
jemand Paroli bietet und Deine Fehler aufzeigt?
Dein Ton hat sich ja in den letzten Wochen in der Tat gemäßigt, aber
wenn Du hier von "Lebensform" schreibst, dann zeigt das doch ganz
deutlich, daß Dir offensichtlich die Argumente ausgegangen sind.
Ist im Übrigen auch ein deutlicher Hinweis auf große
Charakterdefizite...


"Weil Freescale das jetzt so will, bekommt eine seit 1979 (!)
bestehende Bezeichnung urplötzlich eine völlig andere Bedeutung?"

So ein Blödsinn. Ich habe hier noch alte Vertriebsunterlagen, in den
Motorola höchstselbst die Controller auch als 68K bezeichnet. Die haben
den guten Ruf, den der gute alte 68000er begründet hat, ordentlich
ausgeschlachtet. Warum auch nicht?


"Klasse. Da entscheidet also die Reihenfolge, in der irgendein
Hilfsdödel Texte auf einer Website unterbringt, über die Bedeutung von
Begriffen."

Hmmm, "Lebensform", "Hilfsdödel", da fühlt sich einer aber als
etwas Besseres, wie?
Ein Psychologe würde wohl einen Minderwertigkeitskomplex im Endstadium
diagnostizieren...


"Also: Leute, die nicht nur auf ein schickes Webdesign hereinfallen,
sondern sich schon einige Jahre lang mit Dingen beschäftigen, haben
eine andere Vorstellung davon, was "68K" bedeutet, als diese
Website."

Tja, das solltest Du in der Tat einmal machen.


"Selbst die Lebensform mit dem eigenartigen Namen zählte zuerst 13
Varianten der 68K-Familie auf, die keine Microcontroller sind."

Oh, schon wieder...

von Rufus, das dicke Ei (Gast)


Lesenswert?

@Rufus T. Firefly:

Jetzt hast Du es mir aber gegeben. Privat läuft es wohl nicht so, was?

von Jens (Gast)


Lesenswert?

Meine Güte, seit ihr kindisch. Tauscht doch Telefonnummern aus, und
regelt das privat. Warum hat nur jeder was gegen RTF?

von Marius (Gast)


Lesenswert?

Hallo
Ich möchte mich ja nur ungern einmischen, aber diese Streitereien gehen
mir auf die nerven.

Für so Sachen wie:
>>>@Rufus T. Firefly:
>>>Jetzt hast Du es mir aber gegeben. Privat läuft es wohl nicht so,
>>>was?
sollte die IP von "Rufus, das dicke Ei" auf dieser Seite, meiner
Meinung nach, gesperrt werden. (wenn das was bringt, wegen
wahrscheinlich dynamischer IP???)

Sorry für das einmischen und nicht Mikrocontroller bezogene Posting.

Damit der Posting nicht ganz sinnlos ist:
Ich schreibe zwar (fast) nie Beiträge lese aber täglich das Forum, und
finde das (die meisten von) Rufus T. Firefly's Beiträge von sehr hoher
Qualität sind. Vielen Dank dafür (auch an alle anderen die Fachliche
Beiträge schreiben).

von Rufus, das dicke Ei (Gast)


Lesenswert?

Vielleicht, weil er keine Kritik vertragen kann, aber immer ordentlich
draufhaut?
Dazu - siehe oben - seine niveaulosen Beschimpfungen...

von Jens (Gast)


Lesenswert?

Nein, dickes Ei, daran liegt es sicher ist. Sein Fehler ist einfach, daß
er sich immer wieder auf die ganzen Diskussionen einläßt und oft das
letzte Wort haben will. Vielleicht sollte er einfach schwachsinnige
Beiträge ignorieren, irgendwann verlieren auch die ganzen Hohlblocks
den Spaß an der Sache. Aber ich weiß, es ist manchmal extrem schwer,
den Mund zu halten. Man siehts ja an meinem Posting, die Sache geht
mich nichts an und trotzdem addiere ich meinen Senf.

von Jens (Gast)


Lesenswert?

P.S.: Mit meinem Beitrag möchte ich niemanden persönlich angreifen! Wer
sich dennoch angegriffen fühlt, kann halt keine Kritik vertragen :)

von Gerd K. (Gast)


Lesenswert?

Für den 68000er Mikroprozessor gibt es eine integrierte
Entwicklungsumgebung IDE68K (google doch mal!) für Windows 9x (meine
ältere Version v1.1 ist Shareware) die C-Code nach 68k-Assembler
übersetzen kann und daraus ein Hexfile erzeugt, mit der Möglichkeit
dieses über die Serielle Schnittstelle an ein 68000er Prozessorboard zu
schicken. Welches Prozessor- bzw. Hardware-Umfeld beim 68000 hierfür
benötigt wird, weiss ich momentan nicht. Der Simulator funktioniert
aber auch so und schaut ganz nett aus (gibt vermutl. auch neuere
Versionen).

Der Vorteil, den die Mikrocontroller von Motorola (Freescale) z.B. die
68HC11 gegenüber dem 68000er Prozessor haben ist, dass für das Senden
solcher Programme nicht nur eine eingebaute serielle Schnittstelle (das
SCI = Serial Communication Interface) im Mikrocontroller vorhanden ist,
sondern sie haben zusätzlich noch eine spezielle Boot-Laderoutine, den
sog. "special bootstrap modus". Wenn der Controller (68HC11, 68HC908
oder dergleichen) das Programm über die Serielle Schnittstelle
empfangen hat wird automatisch ein Reset im Controller ausgelöst und
die Abarbeitung des empfangenen Programms begonnen. Diese Eigenschaft
des Bausteins macht es besonders einfach den Mikrocontroller für eigene
Bastelzwecke einzusetzen, sonst müßte erst einmal ein Monitorprogramm
von außen in den Controller eingebracht werden (z.B. über externe
Speicherbausteine) , das dann die Kommunikation nach außen ermöglicht.

Nebenbei erwähnt, der Assembler-Code für die 32-bittigen 68000er
Flagschiffe ist deutlich umfangreicher als der für die 8-bit
Controller. Die Befehle wollen z.B. zusätzlich noch Wortbreiten .b .w
.l angegeben wissen, was den Überblick nicht gerade vereinfacht, die
Interrupt-Verwaltung ist auch deutlich komplizierter, aber das muss
jeder selber beurteilen. Wer es sich aussuchen kann sollte besser mit
den Mikrocontrollern beginnen.

Vielleicht bringt das etwas Klarheit anstatt sich ständig nur mit dem
Begriff 68K zu beschäftigen.

Gruß
Gerd K.

von Michael (Gast)


Lesenswert?

@Gerd

Ich muß Dir in vielen Punkten widersprechen. Interruptroutinen beim 68K
sind ganz einfach zu programmieren: benötigte Register 'pushen',
Programmcode dazu, Register 'popen' und RETI. Der Vektor auf die
Routine muß wie bei jedem anderen Prozessor zuvor gesetzt werden. Und
wenn man will, kann man die Interrupts mit einer Priorität versehen,
oder IO-Bausteine verwenden, die zusätzlich einen Vektor auf die
Int-Routine liefern; man muß es aber nicht.

Daß man den Befehlen ein .B, .W oder .L dazugeben kann (nicht unbedingt
muß) ist doch kein Problem; bei C werden ja auch 'char', 'int' oder
'long' verwendet, um die Größe von Variablen zu deklarieren.

Und wenn man es braucht, hat ein 68K noch viel mehr Vorzüge gegenüber
den 'popeligen' 8-Bittern, wie z.B. großer linearer Adressraum.
Auf Anforderung kann externe Logik (ein anderer Prozessor) den
Prozessorbus übernehmen: der 68K schaltet dabei seine Adress-, Daten-
und Steuerleitungen passiv.
Der Befehl TAS erlaubt es, Prozesse zu synchronisieren. Das alles
machen schon die allerersten MC68000er aus den '70er Jahren.

Und wenn man den 68000 verstanden hat, greift man heutzutage zu einem
Coldfire, der keine Wünsche offen läßt.

von A.K. (Gast)


Lesenswert?

"Coldfire, der keine Wünsche offen läßt"

Ausser dass man dieser Familie auf Assembler-Ebene die Kompromiss-Natur
deutlich anmerkt. Abstammend von dem in 683xx verwendeten Core und noch
weitgehend (Subset-) kompatibel, fehlt jedoch manches was 68K angenehm
machte und der Befehlssatz wirkt etwas unvollständig und unlogisch.
Einige Designfehler mussten daher später wieder korrigiert werden.
Dafür sind die Dinger halt einfacher herzustellen.

Und von wegen Wünsche offen lassen... beim Preis hätte ich da schon
noch welche offen.

von Marco (Gast)


Lesenswert?

Heute morgen sind bei mir zwei Coldfire (5206E 50MHz) und 4 2MB EDO Ram
Chips bekommen... das alles gibts im Moment SEHR preiswert bei ebay!
Lötbar ist die CPU noch gut, dafür leider auch recht wuchtig (QFP
160).
Naja mal sehen wann ich mich dazu aufraffe ein Testboard zu ätzen aber
ich denke dieses Bauteil ist für den Preis (um die 3€) einen Versuch
wert.

von Gerd K. (Gast)


Lesenswert?

@Michael

So wie Oswald Mario in seinem ersten Posting fragte kennt er sich wenig
bis gar nicht aus, d.h. er ist Anfänger. Solchen Leuten würde ich
jedenfalls nicht empfehlen mit einem 68000 oder Nachfolger sein
Platinen-Projekt zu beginnen. Es kann schon schwierig genug sein ein
vernünftiges Layout für einen einfachen Mikrocontroller auf die Beine
zu stellen, das auch dann noch funktioniert wenn eine Störquelle in
geringem Abstand auftritt. Die zahlreichen Varianten der verschiedenen
Controller machen die Übersicht auch nicht einfacher.

Die von dir zu unrecht verächtlich genannten "popligen 8-bitter"
genügen völlig für die meisten Steuerungsaufgaben und falls nicht
greift man eben zu stärkeren Zugpferden (aber eben nicht mit Kanonen
auf Spatzen schießen!).

Der Begriff linearer Adressraum ist in diesem Zusammenhang unsinnig
bzw. überflüssig, es geht ja hier nicht um x86-Architektur. Der 68HC11
hat auch einen "linearen Adressraum", wenn auch nur 64 kByte.

Und lieber Michael, z.B. schon der 16-bittige HC12 ist deutlich
komplexer als seine 8-bittigen Urgesteine und das zeichnet sich dann
auch in der Programmierung ab. Also bitte nicht den Fragestellern einen
68000er als einfacher gegenüber einem 8-bitter zu verkaufen versuchen.

Ich hab auch nur versucht kurz darzustellen wo einer der wesentlichen
Unterschiede zwischen Prozessor und Controller aus der Sicht desjenigen
liegt, der einen schnellen Erfolg haben möchte. Und ES IST EIN
UNTERSCHIED, ob man sich einen Chip mit ein paar wenigen Bauteilen
beschafft und mittels serieller PC-Schnittstelle relativ schnell
loslegen kann oder ob man sich am Layout, ähnlich des eines Amigas oder
Ataries versucht.

Den Schlagabtausch um Begriffe halte ich jedenfalls für den Streit um
des Kaisers Bart, damit kann man sich höchstens schön seine Zeit
verplempern.

Grüße
Gerd K.

von Michael (Gast)


Lesenswert?

""Werd nämlich ein Projekt mit diesem Controller machen und hab
noch keine Erfahrungen damit.""

Was immer die Beweggründe sind, er will es machen und ich werde es ihm
nicht ausreden, auch wenn es viele Gründe gäbe sich anders zu
entscheiden. Von Motorola/Freescale bin ich persönlich abgekommen, da
Preise, Lieferzeiten und Ankündigungen von nicht lieferbaren Teilen
mehr Fruist als Lust machten.
Zur Klarstellung: den 68K habe ich nicht als einfacher als einen
8-Bitter beschrieben und mit 'großem linearen Adressraum' meine ich
deutlich mehr als 64K.
Ich denke, Mario wird wissen was er macht. Vorher oder nachher :-)

von Oswald Mario (Gast)


Lesenswert?

Hallo,

also es gehtim speziellen darum, dass ich ein Projekt für eine Firma
machen soll, wo die komplette Hardware schon zu Verfügung steht, ich
bis jetzt aber noch nichts weiß außer das ein 65k Prozessor/Controller
eingesetzt wird. Und ich will mich einfach vorm Kick-Off Meeting
einwenig über den Prozessor/Controller und dessen
Programmiermöglichkeiten informieren.
Und einwenig Erfahrung hab ich schon (8051, 286er, PIC, ATMEGA,...).

Aber ihr konntet mir bis jetzt schonmal einen guten Überblick geben und
ich bin für weitere Informationen dankbar.

Mario

von Olaf (Gast)


Lesenswert?

Naja, die 68k sind prinzipiel genauso CPU/Microcontoller wie jeder
anderer auch. Ungewoehnlich fuer jedemanden der erstmals darauf trifft
ist vielleicht das Businterface. Das unterscheidet sich naemlich von
dem was man von anderen CPUs gewohnt ist.

Ein anderer Punkt ist die schon erwaehnte TPU in den Microcontrollern
auf 68k Basis. Das ist im Prinzip eine zweite kleine relativ doofe CPU,
oder ein sehr intelligenter Portbaustein. Das Handbuch allein ueber die
TPU ist etwa genauso umfangreich wie das eines ganzen AVRs.

Olaf

von Moritz (Gast)


Lesenswert?

Was ich vielleicht noch für erwähnenswert halte:

Wenn man sich schon mal für 68xxx entschieden hat und dann z.B. den
68332 wegen seiner umfangreichen On-Chip-Peripherie gewählt hat, ist es
sehr sinnvoll für die ersten Tests sich ein Board von VHF-Elektronik zu
besorgen. Auf den Boards ist das lästigste am Prototypen schon
erledigt, nämlich RAM und FLASH hinzudengeln, ohne gleich alle
Chipselectleitungen zu verbraten und hinterher lauter Designfehler
korrigieren zu müssen. Der Preis ist moderat, wenn auch nicht billig.

Weiterhin sollte man auf die Eigenschaften des BDM-Interfaces
aufmerksam machen. Mit dieser Schnittstelle kann man ohne den UART des
Controllers zu blockieren Software in den angeschlossenen RAM laden,
selbigen wieder auslesen, die Ausführung an beliebigen Punkten starten,
stoppen, Register modifizieren, Fehler fangen und schrittweise die
Codebearbeitung steuern. Das BDM-Kabel für den Parport gibt's fast
geschenkt. Der GDB kann zur direkten Steuerung der 683xx-CPU gepatcht
werden. Unter Linux brauchts dann noch einen Kernelpatch.

Hut zum Gruß,
Moritz

von Moritz (Gast)


Lesenswert?

Grrr, bin auf den Back-button meines Browsers getappt, sorry.

von Oswald Mario (Gast)


Lesenswert?

Welche guten Entwicklungsumgebungen bzw. C-Compiler gibt es den für
derartige Prozessoren/Controller?

Mario

von A.K. (Gast)


Lesenswert?

Nu, immerhin hat meiner Erinnerung nach der GNU-Compiler auf Suns
68020ern das Licht der Welt erblickt. Ist also gewissermassen grad
dafür geschrieben worden.

von Horst Mewald (Gast)


Lesenswert?

Hallo Leute,
ich verwende den Mc68332 und bin von dem Controller sehr begeistert.
Ich programmiere in C und empfehle jedem, wenn er es kann, dies
auch zu tun. Bei etwas größeren Programmen ist es doch eine
Erleichterung. Aber ich habe auch ein Problem. Mir fehlen IO-Pins.
Daher will ich den TP4-Kanal als IO-Pin schalten. Laut Manual geht das
auch, aber ich habe es noch nicht geschafft TP4 als digitalen Ein-
gang zu schalten. Wer kann mir dabei helfen?
Horst

von Moritz Kaiser (Gast)


Lesenswert?

Mehr als im TPU-Handbuch steht, kann ich dir auch nicht schreiben, weil
ich das selber nocht nicht gemacht habe.
Da steht, dass das Schalten eines TPU-Kanals als diskrekter IO etwa so
abläuft. Man programmiert für den TPU-Kanal die Funktion "DIO", das
ist beim Maskenset A 0x8 und beim Maskenset G gibt's das nicht. Dann
muss man noch den Host Service Request Code 3 absetzen und den Host
Sequence Code auf 2 setzen. Man kann sich auch die Transitions zählen
lassen, aber das willst du wohl nicht.

Wenn das nicht hinhaut, könntest du noch eine Periodendauermessung
programmieren, damit kann man auch Input Pins überwachen.

Ich kann auch nochmal genauer nachlesen, wenn die Tips nicht
ausreichen.

Grüße,
Moritz

von Horst Mewald (Gast)


Lesenswert?

Vielen Dank für die schnelle Antwort. So wie Du es beschreibst, hatte
ich auch schon programmiert. Ich wußte nur nicht wie ich das
Parameter Ram programmieren sollte. Ich hatte auch Schwierigkeiten
im Parameterram den Pin_Level richtig zu interpretieren. Beim Lesen
des Pin_Level wird der aktuelle Zustand des Pins in Bit 15
geschrieben.
Beim nächsten Lesevorgang wird der vorhergehende Zustand nach Bit
14 verschoben und der aktuelle Zustand in Bit 15 geschrieben. Man
muß Bit 15 maskieren, sonst erhält man bei jedem Lesevorgang ein
anderes Ergebnis. Unter http://www.freeskale-com/webapp/sps/site/...
ist die TPU sehr gut beschrieben. Hier mein Testprogramm in C.

#include <stdio.h>
#include <target.h>

int
main(viod)
{

int hz1;

INTERN.tpu.tmcr = 0x2000;
INTERN.tpu.cfsr2 |=8:          // DIO Funktion
INTERN.tpu.c[4].p[0] = 0x0f;   // Eingabe
INTERN.tpu.cpr1 |=0x200;       // mitlere Priorität
INTERN.tpu.hsrr1 |=300;        // initialisieren
INTERN.tpu.hsqr1 |=200;

hz1=INTERN.tpu.c[4],p[1] & 0x8000;  // Pin_Level

printf("%X",hz1);
printf("/n");

return 0;
}

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.