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
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.
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.
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.
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 ;)
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.
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).
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.
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.
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.
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.
Ich glaube eher auf dem 8051 finden die ASM Versuche statt und Cortex wird dann nur noch in C programmiert.
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. ;)
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 :-)
Assembler auf einem 8051 finde ich schon fragwürdig, der ist ja schon sehr speziell. Aber alles in allem doch ganz nett. Gruss Axel
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.
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
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!
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.