Forum: Offtopic Mikrocontroller an der FH


von Frager (Gast)


Angehängte Dateien:

Lesenswert?

Was haltet Ihr von diesem Mikrocontroller Praktikum? Zuerst wird alles 
in Assembler gemacht (auch Cortex-M und Cortex-A) und dann dasselbe 
nochmal in C

: Verschoben durch User
von Mark B. (markbrandis)


Lesenswert?

Frager schrieb:
> Was haltet Ihr von diesem Mikrocontroller Praktikum?

Worauf zielt die Frage ab?

von Nop (Gast)


Lesenswert?

Sieht doch schonmal ganz gut aus. Ich vermute aber stark, daß nicht 
alles erst in Assembler und dann in C gemacht wird. Besonders beim 
Cortex-A kann man nicht sinnvoll bare metal programmieren, sondern man 
wird auf das Linux zurückgreifen.

Die üblichen Sachen wie Peripherie ansteuern, Entprellung usw. sollten 
im Kurs drinsein.

Die Auswahl der Controller ist auch OK. 8051 sieht man in der Praxis 
tatsächlich noch, weil er günstig und langzeiterprobt ist. Die ARMs sind 
schwer angesagt, die M-Reihe für eigentliche Controller-Anwendungen mit 
Schwerpunkt auf Energieverbauch (m wie mobil), die A-Reihe für heftigere 
Sachen (a wie application).

Zumal es eine FH ist und ich daher erwarten würde, daß das auf 
praktische Aspekte ausgerichtet ist, so daß man auch mal mit dem Oszi an 
den Pins herummessen kann. Eine übliche Art des Debuggens, wenn 
irgendwas gar nicht will wie gedacht. Falls das nicht ohnehin drin ist, 
kannst Du das ja anregen - an FHs haben die sicher Oszis genug 
herumstehen.

Also wenn Du Dich für µCs interessierst und da studierst, nimm das ruhig 
mit.

von c-hater (Gast)


Lesenswert?

Frager schrieb:

> Was haltet Ihr von diesem Mikrocontroller Praktikum? Zuerst wird alles
> in Assembler gemacht (auch Cortex-M und Cortex-A) und dann dasselbe
> nochmal in C

Halte ich für eine sehr gute Idee. Wer kein Assembler kann, kann auch in 
C nix besehen, sondern sich bestenfalls als "C&P-Programmierer" 
durchwurschteln. Und von dieser Kategorie gibt es leider viel zu viele, 
während bei wirklich fähigen C-Programmierern durchaus ein Mangel 
besteht.

von Stefan F. (Gast)


Lesenswert?

Ich denke, man kann auch gut in C programmieren, ohne Assembler zu 
kennen.

Ich habe schon lange nicht mehr in Assembler programmiert, aber es kommt 
doch immer wieder vor, dass ich Teile des compiliertes C Programmes 
anhand seines Assembler-Codes prüfe. Vor allem dann, wenn mir etwas zu 
langsam vorkommt oder der Code gar nicht das macht, was ich erwartet 
habe.

Deswegen bin ich ganz glücklich darüber, wenigstens ein bisschen 
Assembler zu können. Bei Leuten, die das professionell gelernt haben, 
erwarte ich es sogar.

von ARM (Gast)


Lesenswert?

Nop schrieb:
> Die Auswahl der Controller ist auch OK. 8051 sieht man in der Praxis
> tatsächlich noch, weil er günstig und langzeiterprobt ist. Die ARMs sind
> schwer angesagt, die M-Reihe für eigentliche Controller-Anwendungen mit
> Schwerpunkt auf Energieverbauch (m wie mobil), die A-Reihe für heftigere
> Sachen (a wie application).

A wie Appication
R wie Realtime
M wie Microcontroller

In mobilen Bereich werden Cortex-A eingesetzt ;)

von dunno.. (Gast)


Lesenswert?

Metaller lernen ja auch erst mit der feile, bevor sie die cnc fräsen 
nutzen (hab ich mir sagen lassen)-

Ansonsten.. Naja ich finde das ist nen haufen kram für so wenige sws. 
Nicht dass ich dagegen wäre, verschiedene controller kennen zu lernen, 
ich halte das für gut, aber mit dem geringen zeitansatz...
Entweder es gibt keine tiefe in dem praktikum, oder du musst deutlich 
mehr zeit einplanen. Betonung auf deutlich.

von S. R. (svenska)


Lesenswert?

Stefan U. schrieb:
> Ich denke, man kann auch gut in C programmieren, ohne Assembler zu
> kennen.

Jaein. Assembler-Kenntnisse sind effektiv Rechnerarchitektur-Kenntnisse, 
und die sind bei Programmierung in C sehr hilfreich - auch dann, wenn es 
die falsche Architektur ist.

> Ich habe schon lange nicht mehr in Assembler programmiert, aber es kommt
> doch immer wieder vor, dass ich Teile des compiliertes C Programmes
> anhand seines Assembler-Codes prüfe.

Ich sehe es als notwendig an, Assembler lesen zu können. Die 
Architektur ist dabei relativ egal, denn die Konzepte sind sie alle 
ähnlich. Wie bei Hochsprachen auch: Kann man eine prozedurale Sprache, 
kann man nach kurzer Einarbeitung alle einigermaßen (Fallstricke 
ausgenommen).

von Martin (M.) (Gast)


Lesenswert?

Boa, so ein Praktikum hätte ich auch gerne gemacht.
Dann hätte ich hier nicht so viele Fragen stellen müssen,
sondern Antworten geben können.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Nop schrieb:
> Besonders beim
> Cortex-A kann man nicht sinnvoll bare metal programmieren, sondern man
> wird auf das Linux zurückgreifen.

Da wäre aber die Aussage 'Echtzeitsystem' schon mutig. Und ob die Jungs 
bis auf die Treiberebene des Raspian (oder was auch immer) kommen, ist 
zumindest fraglich.

von Axel S. (a-za-z0-9)


Lesenswert?

Frager schrieb:
> Was haltet Ihr von diesem Mikrocontroller Praktikum? Zuerst wird alles
> in Assembler gemacht (auch Cortex-M und Cortex-A) und dann dasselbe
> nochmal in C

Das kann ich aus dem gezeigten Screenshot nicht entnehmen. Und halte es 
auch für unrealistisch (spätestens beim Punkt "Echtzeitbetriebssystem")

Aber prinzipiell ist das die richtige Vorgehensweise. Erst anhand von 
Assembler zeigen, was da "bare metal" passiert. Und dann C als 
realistische Programmiersprache vorführen, gerne auch im Vergleich mit 
generiertem vs. handgeschriebenen Maschinencode.

Selbst wenn man nie wieder Assemblercode schreiben muß, ist es auf jeden 
Fall höchst lehrreich, wenigstens einmal nachvollzogen zu haben, was der 
C-Compiler aus Variablen diverser Typen, aus Arithmetik und aus 
Funktionsaufrufen macht.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Nop schrieb:
> Besonders beim
> Cortex-A kann man nicht sinnvoll bare metal programmieren, sondern man
> wird auf das Linux zurückgreifen.

Glaubst garnicht wie einfach son Cortex-A programmierbar ist
(nachdem uboot die Initilsierung vorgenommen hat)
Jedenfalls schreiben bei uns Studenten ihr eigenes kleines OS komplett 
selber auf dem RasPI2.

So wird es da wohl auch laufen.

von Claus M. (energy)


Lesenswert?

Ich glaube eher auf dem 8051 finden die ASM Versuche statt und Cortex 
wird dann nur noch in C programmiert.

von N. N. (clancy688)


Lesenswert?

Mark B. schrieb:
> Frager schrieb:
>> Was haltet Ihr von diesem Mikrocontroller Praktikum?
>
> Worauf zielt die Frage ab?

Er hält das Praktikum für Blödsinn und möchte seine Meinung bestätigt 
sehen. So interpretier ich das. ;)

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Lu R. schrieb:
> Mark B. schrieb:
>> Frager schrieb:
>>> Was haltet Ihr von diesem Mikrocontroller Praktikum?
>>
>> Worauf zielt die Frage ab?
>
> Er hält das Praktikum für Blödsinn und möchte seine Meinung bestätigt
> sehen. So interpretier ich das. ;)

Sieht ein bisschen so aus, ja. Dann ging seine Frage aber in die Hose 
:-)

von Axel L. (axel_5)


Lesenswert?

Assembler auf einem 8051 finde ich schon fragwürdig, der ist ja schon 
sehr speziell.

Aber alles in allem doch ganz nett.

Gruss
Axel

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

ARM schrieb im Beitrag #4756123:
> A wie Appication
Soso...

Frager schrieb:
> Was haltet Ihr von diesem Mikrocontroller Praktikum?
Es sieht durchdacht und in sich schlüssig aus.

Und vor Allem wird eben in einem offensichtlichen Anfängerpraktikum(!!) 
eben nicht gleich mal in Echtzeit eine Robotersteuerung mit 
Bildverarbeitung, Netzwerkkommunikation und neuronale Netzen "gemacht".

Das ist nämlich das eigentliche Problem an solchen : da will einer dem 
anderen in 6 Vorlesungen zeigen, was so ein uC im Vollausbau alles kann. 
Und letztlich wird das dann nur eine Verkaufsschau, weil man da dann nur 
fertige Tutorials zusammenclickt und compiliert.

Axel L. schrieb:
> Assembler auf einem 8051 finde ich schon fragwürdig, der ist ja schon
> sehr speziell.
Dann hast du aber noch keinen PIC Assembler angeschaut... ;-)
Oder andersrum: jeder Assembler ist speziell für die jeweilige 
Prozessorfamilie. Es geht beim Assembler ja auch eher um die 
registernahe Arbeit und die dafür nötige Denkweise.

von Axel L. (axel_5)


Lesenswert?

Lothar M. schrieb:
> Axel L. schrieb:
>> Assembler auf einem 8051 finde ich schon fragwürdig, der ist ja schon
>> sehr speziell.
> Dann hast du aber noch keinen PIC Assembler angeschaut... ;-)
> Oder andersrum: jeder Assembler ist speziell für die jeweilige
> Prozessorfamilie. Es geht beim Assembler ja auch eher um die
> registernahe Arbeit und die dafür nötige Denkweise.

Keine Frage, es gibt bestimmt noch krankere Konzepte, wobei der 8051 für 
seine Zeit sicher sehr gut war, immerhin dürfte er der erfolgreichste 
Controller der Achziger und Neunziger sein.

Wir hatten damals Assembler auf einem 68000 gemacht, den fand ich schon 
um Welten geradliniger und logischer aufgebaut. Da konnte man sich 
wirklich auf das Assemblerprogrammieren konzentrieren, statt sich mit 
den Spezialitäten des Controllers rumzuschlagen und das Programmieren 
zur Nebensache zu machen.

Aber vielleicht verkläre ich das auch nur mit dem Abstand.

Gruss
Axel

von Peter D. (peda)


Lesenswert?

Lothar M. schrieb:
> Axel L. schrieb:
>> Assembler auf einem 8051 finde ich schon fragwürdig, der ist ja schon
>> sehr speziell.

Ich fand den 8051 Assembler sehr einfach und bin sofort damit 
klargekommen.
Am Anfang wird man mit den 128Byte direct RAM auskommen. Und das # für 
numerische Werte und @ für Pointer steht, mehr braucht man nicht zu 
lernen.
Sehr komfortabel sind auch die Bitbefehle, Schleifen und 
Tabellenzugriffe.

Lothar M. schrieb:
> Dann hast du aber noch keinen PIC Assembler angeschaut... ;-)

Full Ack!

von Peter D. (peda)


Lesenswert?

Ich weiß ja nicht, wie lange so ein Praktikum dauert, aber vom ARM 
Cortex A7 mit OS wird wohl nicht viel hängen bleiben. Der ist zu 
komplex, da kann man nicht eben mal kurz reinschnuppern.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Nen kleines OS schreiben mit Prozessunterstützung und Scheduler dauert 
so 1 Semester.

Der 8051 ASM ist nun wirklich speziell, da sollte lieber MIPS Assembler 
hergenommen werden.
Der ist sowas von aufgeräumt und man weis wie heutige RISC Load and 
Store CPUs arbeiten.
Oder eben AVR Assembler, der ist aber nicht mehr ganz so einfach.

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.