Forum: Mikrocontroller und Digitale Elektronik RS08 Mikrocontroller ohne Stackpointer Register, Interrupt Vektor aber *neu* wer kennt ihn?


von AVRNeuling (Gast)


Lesenswert?

Hallo,

Freescale selbst bezeichnet den Controller als Ultra-Low-End 8 Bit 
Microcontroller!

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=RS08KA&nodeId=01624684499487

Hat jemand mit diesem Controller schon Erfahrungen gemacht?

Also so wie ich das sehe lässt sich darauf nicht mal ein C-Compiler 
aufsetzen. Was bedeutet, dass dieser Controller NUR in Assembler zu 
programmieren ist... klar, gibt es Leute, die das bevorzugen, aber sich 
so einzuschränken, wer will das schon?

Mich würde eure Meinung zu diesem Low End Controller interessieren. 
Würde euch spontan ein Einsatzgebiet für diesen Micro Zwerg einfallen?

lg

von holger (Gast)


Lesenswert?

>Würde euch spontan ein Einsatzgebiet für diesen Micro Zwerg einfallen?

Wenn DIR keins einfällt, warum interessiert er dich dann überhaupt?

von Chris (Gast)


Lesenswert?

Klingt eine interessante Alternative zu Microchip, bezüglich deren 6pin
Devices. Mehr Resourcen, Preislich weiß ich nicht, kannst du dazu was 
sagen ?

von Иван S. (ivan)


Lesenswert?

AVRNeuling schrieb:
>
> Also so wie ich das sehe lässt sich darauf nicht mal ein C-Compiler
> aufsetzen.

Was meinst Du mit "Compiler auf MCU aufsetzen"? Im Microcomputerbereich 
hat sich im Allgemeinen das Crosscompiling durchgesetzt, das bedeutet 
die Plattform auf der der Compiler läuft ist eine Andere als die 
Zielplattform.

> Was bedeutet, dass dieser Controller NUR in Assembler zu programmieren ist

Stimmt doch gar nicht. Mit zwei Klicks auf der von Dir verlinkten Seite 
gibts den CrossWorks Compiler zum Download. Auch in der "Freescale 
Low-Power Microcontroller Solutions Brochure" wird auf die IDE mit 
Compiler von Crossworks hingewiesen. Wie kommst Du also zu dieser 
Aussage?

> Mich würde eure Meinung zu diesem Low End Controller interessieren.

Gefällt mir grundsätzlich. Die Dinger gibts mit ADC, Komperator, SPI, 
I2C und sogar mit LCD-Controller. Von 6 bis 48 Pins. Nur mit Aussagen 
wie "highly cost-effective" wäre ich vorsichtig, Freescale war 
eigentlich schon immer eher teuer.

> Würde euch spontan ein Einsatzgebiet für diesen Micro Zwerg einfallen?

Ziemlich das selbe, was auch bei den Application Notes steht:
- Lüftersteuerung
- LED-Controller
- Einfaches Meßgerät (z.ß. Digitalthermometer)
- Weißwarensteuerung
- Ersatz einfacher Logikschaltungen

Übrigens hat er natürlich einen Stack(pointer) und Interrupts kennt er 
natürlich auch. Mir scheint, hier soll die neue Controllerlinie 
willkürlich schlecht gemacht werden, denn das kann nur mutwillige 
Vorspiegelung falscher Tatsachen sein.

von Eckhard (Gast)


Lesenswert?

Hallo,


natürlich Kann man den Controller in C Programmieren. Codewarrior 
unterstützt die Familie auch. Wirklich sinn macht der aber wohl nur wenn 
man n roßen Stückzahlen produziert. Die HCS08 Familie ist in allen 
belangen überlegen und in ebenso kleinen Gehäusen zu haben. Die Dinger 
gibt es in 10000er Stückzahlen ab 0,32$ das macht sich dann schon 
bemerkbar. Bei Digikey gibts die dann ab 70 Cent.  Ich würde mal sagen 
löhnt sich nur wenns bei großen stückzahlen auf jeden Cent ankommt.


Eckhard

von (prx) A. K. (prx)


Lesenswert?

Иван S. schrieb:

> Übrigens hat er natürlich einen Stack(pointer) und Interrupts kennt er
> natürlich auch.

Die Dinger sind krass minimalisiert, bis kaum noch weniger geht.

Einen Stack-Pointer habe ich keinen gefunden, nur ein Link-Register 
unter anderem Namen. Unterprogrammaufrufe sind natürlich möglich, aber 
bei mehr als einer Ebene etwas umständlicher als sonst.

Interrupts gibt es nur dem Namen nach, nicht aber im üblichen Sinn. Als 
Konzept zum Aufwecken aus Stromsparmodi existieren sie, als automatische 
Aufrufe nicht.

> Mir scheint, hier soll die neue Controllerlinie
> willkürlich schlecht gemacht werden, denn das kann nur mutwillige
> Vorspiegelung falscher Tatsachen sein.

Sie sind hier im Forum völlig falsch untergebracht. Für industriellen 
Einsatz in grossen Stückzahlen möglicherweise sinnvoll, im Hobbybereich 
und bei Kleinstückzahlen m.E. völlig sinnlos, weil dafür keine Vorteile 
vorhanden sind, wohl aber etliche Nachteile.

von Иван S. (ivan)


Lesenswert?

A. K. schrieb:
> Die Dinger sind krass minimalisiert, bis kaum noch weniger geht.
>
> Einen Stack-Pointer habe ich keinen gefunden, nur ein Link-Register
> unter anderem Namen. Unterprogrammaufrufe sind natürlich möglich, aber
> bei mehr als einer Ebene etwas umständlicher als sonst.

Stimmt, ich habe soeben nochmal nachgesehen. Das kommt davon, wenn man 
die pdf-suche nur mit "Stack" füttert und nach 53 Ergebnissen implizit 
irgendwelche Schlüsse zieht. Mea culpa. Fakt ist: Es gibt einen 
Hardwarestack, der aber nur eine Ebene tief ist.

> Interrupts gibt es nur dem Namen nach, nicht aber im üblichen Sinn. Als
> Konzept zum Aufwecken auf Stromsparmodi existieren sie, als automatische
> Aufrufe nicht.

Es gibt zumindest keine Vektoren. Es gibt aber ein System Interrupt 
Pending Register für den Komperator, Timer, etc. Daß man dieses Register 
selbstständig abfragen muß, führt natürlich das Interruptkonzept ad 
absurdum. Vektoren hätte man ihm schon spendieren können, IMO.

>> Mir scheint, hier soll die neue Controllerlinie
>> willkürlich schlecht gemacht werden, denn das kann nur mutwillige
>> Vorspiegelung falscher Tatsachen sein.

Daher möchte ich mich hiermit beim OP entschuldigen, er hat recht, wenn 
er schreibt, es gäbe keine Vektoren und keinen Stackpointer. Mein 
Fehler. Allerdings wundert mich dann schon, wie er den C-Compiler 
übersehen hat können, über den stolpert man ja schon fast zwangsläufig.

> Sie sind hier im Forum völlig falsch untergebracht.

Finde ich nicht. Es ist doch schön zu sehen, was es sonst noch auf 
dieser Welt an Hardware gibt. Leider gibt es für viele nur PIC und AVR, 
Themen die mich persönlich eher weniger interessieren. Ich mag halt 
eher die exotischeren Familien, es lohnt doch immer wieder über den 
eigenen Tellerrand zu blicken.

> Für industriellen Einsatz in grossen Stückzahlen möglicherweise sinnvoll

Wobei ich bei großen Stückzahlen auch eher OTPs oder maskenprogrammierte 
Typen einsetzen wollen würde, da nochmals billiger. Von dieser Familie 
gibts aber anscheinend (soweit ich sehe) nur Flash-Typen. $0.32 für den 
kleinsten Typen bei 10.000 Stück ist meiner Meinung nach nicht gerade 
billig. Das muss günstiger gehen. Aber es ist eben Freescale.

> im Hobbybereich und bei Kleinstückzahlen m.E. völlig sinnlos,

Gerade beim Hobby kann man sich ja auch mal auf eine alternative 
Lösungsmöglichkeit einlassen, da man von diversen Zwängen, die sich im 
beruflichem Umfeld ergeben können, befreit ist. Angenommen, ich möchte - 
aus Lust am Hobby und zur Erweiterung des Horizonts - gerne eine kleine, 
beschränkte Architektur lernen, wo es keine Interruptvektoren gibt, und 
ich nur eine Rücksprungadresse zur Verfügung habe, würde sich der RS08 
wohl eher exzellent eignen.

> weil dafür keine Vorteile vorhanden sind, wohl aber etliche Nachteile.

Ich kann weder Vor- noch Nachteile erkennen.

Gruß, Iwan

von (prx) A. K. (prx)


Lesenswert?

Иван S. schrieb:

> Ich mag halt
> eher die exotischeren Familien, es lohnt doch immer wieder über den
> eigenen Tellerrand zu blicken.

Für Exoten habe ich durchaus auch was übrig. Allerdings nicht im 
praktischen Einsatz, nur der Neugierde zuliebe. Diese RS08 sind mir nur 
nicht exotisch genug. Da kenne ich Besseres.

Wenn dir nach Exoten zumute ist, dann wirf mal einen Blick auf die 
soweit mir bekannt einzige real existierende One-Instruction-Machine 
(immerhin 2 Adressierungsarten): MAXQ2000. Und spiel mal durch wie man 
bei dem Ding auf den Speicher zugreift, byte- wie wortweise. Das Ding 
wirkt, als hätte jemand frisch aus den gelegentlichen 
Architekturdiskussionen in Informatik-Ecken einer Uni kommend noch im 
Vollrausch einen Prozessor entworfen.

Fehlt eigentlich nur noch, dass demnächst einer mit der Turing-Maschine 
ankommt.

von Gast (Gast)


Lesenswert?

Hi,
so neu ist dier µC nun auch wieder nicht, vor ca. 2 Jahren verschenkte 
Spörle StarterKits für diesen µC. Ich hatte eines erhalten und mir 
einmal die beiliegenden Doku´s durchelesen (war zu der Zeit, als in 
Elektor der "größere" Bruder mit dem SoftTec Spyder behandelt wurde.
Wenn ich es noch richtig in Erinnerung habe lässt sich der µC 
tatsächlich nur in Assembler programmieren und ist für absolute LowCost 
Anwendungen ähnlich gut geeignet wie die PIC10/12 und Attiny (8pinner). 
Da Freescale den Sample-Service aktuell nur über einen Distributor 
abwickelt find ich sie ziemlich uninteressant für den Hobbybereich. 
Daher mein Tipp, nutze die gut verfügbaren PIC´s bzw. AVR´s und vergiss 
solche Exoten, der Aufwand in die Einarbeitung lohnt nicht, es sei denn 
du musst es vom Arbeitgeber aus.

von holger (Gast)


Lesenswert?

>aus Lust am Hobby und zur Erweiterung des Horizonts - gerne eine kleine,
>beschränkte Architektur lernen, wo es keine Interruptvektoren gibt, und
>ich nur eine Rücksprungadresse zur Verfügung habe, würde sich der RS08
>wohl eher exzellent eignen.

Aus Lust am Hobby würde ich mit so einem Schrott keine Zeit 
verschwenden.
Da fang ich dann lieber doch noch mal an VHDL zu lernen. Da kann
man wenigstens was mit anfangen.

von (prx) A. K. (prx)


Lesenswert?

holger schrieb:

> Da kann man wenigstens was mit anfangen.

Muss ein Hobby unbedingt praktisch sein? Mit einem RCA 1802 kam man 
immerhin schon im letzten Jahrhundert bis ins All, was nicht jeder Mikro 
von sich behaupten kann. Der hat immerhin 16 Program-Counter, wer kann 
das sonst bieten? Ansonsten war der unpraktisch bis ins Mark, das einzig 
Gute war die CMOS-Technik. Kann man aber tatsächlich noch kaufen, Segor 
hat noch welche (der wirft wohl nie was weg ;-).

von Иван S. (ivan)


Lesenswert?

A. K. schrieb:

> Wenn dir nach Exoten zumute ist, dann wirf mal einen Blick auf die
> soweit mir bekannt einzige real existierende One-Instruction-Machine
> (immerhin 2 Adressierungsarten): MAXQ2000. Und spiel mal durch wie man
> bei dem Ding auf den Speicher zugreift, byte- wie wortweise.

Danke für den Tip, ich hab mal ein paar passagen aus dem User Guide 
überflogen, und muß sagen, daß mir das ganz gut gefällt. Ein 
Register-Move und ein Immediate-move, was will man mehr? Das nenn' ich 
mal echtes RISC ;-)

Ich werd' mir morgen das User Guide auf jedenfall nochmal genauer zu 
Gemüte führen, da sind noch einige Schmankerl für mich versteckt, 
scheint mir.

> Das Ding wirkt, als hätte jemand frisch aus den gelegentlichen
> Architekturdiskussionen in Informatik-Ecken einer Uni kommend noch im
> Vollrausch einen Prozessor entworfen.

Ich find das ganze schon sehr durchdacht, nur etwas gewöhnungsbedürftig.

Dankend, Iwan

von Peter D. (peda)


Lesenswert?

AVRNeuling schrieb:
> 
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=RS08KA&nodeId=01624684499487
>
> Hat jemand mit diesem Controller schon Erfahrungen gemacht?

Naja, nen 6-Pinner braucht man wirklich selten.
Bzw. dann würde ich einfach den ATTiny10 nehmen, eh ich mich in was 
anderes einarbeite.

Ich bevorzuge mehr die AVR 8-, 14-, 20-Pinner.


Peter

von (prx) A. K. (prx)


Lesenswert?

Иван S. schrieb:

> Ich werd' mir morgen das User Guide auf jedenfall nochmal genauer zu
> Gemüte führen, da sind noch einige Schmankerl für mich versteckt,
> scheint mir.

Yep. Code der auf's Flash zugreifen will kann nicht selber im Flash 
liegen. Code der auf's RAM zugreifen will kann nicht selber im RAM 
liegen. Ok, die Busstrukturen lassen grüssen, ist so einfacher für die 
Hardware-Spezis.

Wobei im Datenadressraum auch Flash liegt, was ja eigentlich ganz 
praktisch ist (und bei AVR nicht, was recht unpraktisch ist). Aber man 
eben auf das Flash im Datenadressraum nicht mit Code zugreifen kann, der 
- wie üblich - im Flash liegt.

Wie also kann man Code schreiben, der gleichermassen auf Flash wie RAM 
zugreifen kann? Richtig: Mit Code der in einem dritten Speicher liegt, 
einem ROM mit ein paar Hilfsroutinen.

Wie gesagt, im gleichen Adressraum liegt sowohl Flash wie RAM. Sowohl im 
Code- wie im Datenadressraum. Allerdings in beiden an unterschiedlicher 
Stelle, d.h. das gleiche Flash-Wort liegt im Coderaum an einer anderen 
Adresse als im Datenraum. Das gilt umgekehrt auch bei RAM.

Adressiert werden Bytes, wenn Bytes gemeint sind. Worte, wenn Worte 
gemeint sind. 2 aufeinanderfolgende Bytes haben also wie üblich den 
Abstand 1, 2 Worte aber auch. Erspart Alignment-Probleme, die treten so 
garnicht auf. Aber es gibt Worte, die als Bytes nicht ansprechbar sind, 
weil sie in der 2. Hälfte vom Wortadressraum liegen.

Würde mich ausserdem interessieren, wie laut der C-Compiler-Autor 
deshalb beim Gedanken an type casts von pointern geflucht hat, weil die 
gelegentlich umrechnen müssen. Ich kann mir rund um solche type casts 
auch ein paar böse Fallen für Programmierer vorstellen, an die kein 
Mensch denkt der auf normalen Maschinen laufen gelernt hat.

Sehr durchdacht kann schon sein. Aber eher im Sinn des Marquis de Sade.

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.