Heim > System-Tutorial > LINUX > Hauptteil

STM32 und Linux: Von der Hardware zur Software, der Schlüssel zur Beherrschung des Betriebssystemmechanismus

PHPz
Freigeben: 2024-08-07 21:00:24
Original
528 Leute haben es durchsucht

STM32 与 Linux:从硬件到软件,掌握操作系统机制的关键

Hallo, Gastgeber! Ich werde mit Ihnen nicht über die großen Ideen wie die oben genannten sprechen, sondern über die praktischen Dinge. Linux und stm32 sind eine Softwareplattform und eine Hardwareplattform, die völlig unterschiedlich sind (denken Sie daran, es sind Plattformen!). Sagen wir es so: Da Sie Mikrocontroller mögen, lernen Sie zuerst stm32Detaillierte Erklärung der Entwicklung eingebetteter Linux-Gerätetreiber und legen Sie eine solide Grundlage für Hardware, insbesondere für verschiedene Busse (USB, IIC, SPI ...) und verschiedene Peripheriemodule (Infrarot, Temperatur und Luftfeuchtigkeit, mpu6050 ...) und konzentrieren Sie sich dann auf ucosii, das heißt, lernen Sie, Ihre Aufgaben im Rahmen des Betriebssystems zu erledigen, anstatt einfach nur Programme für das Betriebssystem zu schreiben. Erfassen Sie den Mechanismus ist der Schlüssel, um sich von den MCU-Freunden um Sie herum zu distanzieren. In diesem Prozess müssen Sie die wahre Bedeutung des Betriebssystems verstehen. Ich empfehle Ihnen, an dieser Stelle „Betriebssystemprinzipien“ zu lesen.

Danach können Sie sich mit ARM in Verbindung setzen (warum nicht als nächstes Linux? Ich werde es Ihnen später erzählen). Sie können das Entwicklungsboard s3c2440 von Friendly Arm oder Feilin kaufen (zählt das als Werbung?), oder Sie können ein A8-Board kaufen, die beide etwa 500 Yuan kosten. Als ich anfing, ARM zu lernen, war es nichts weiter als ein Bareboard-Programm, das Assembler und C verwendet, um die Register in der CPU zu steuern (ausführliche Erklärung der Entwicklung eingebetteter Linux-Gerätetreiber) und dann die Peripheriegeräte zu steuern, was STM32 ähnelt . Wenn Sie lernen, die Peripheriegeräte des Entwicklungsboards zu steuern, herzlichen Glückwunsch zum Betreten der Tür zu Embedded Linux! Zu diesem Zeitpunkt müssen Sie die C-Sprache gründlich beherrschen und auf GNUC achten. Was bedeutet es, GNUC zu beherrschen? Sie müssen den Unterschied zwischen GNUC und ANSIC kennen, wissen, dass ein Teil des C-Codes beim Ausführen im SDRAM angeordnet ist, die flexible Verwendung von Uhrzeigern kennen und wissen, wie man prozessorientiertes C verwendet, um objektorientierte Denkfähigkeiten zu implementieren ... Sie müssen mindestens drei Bücher über C-Sprachbücher (außer inländische) sowie einige Blogbeiträge lesen. Voraussetzung ist, dass Sie Code unter Linux schreiben. Sie können Ubuntu installieren, lernen, Umgebungsvariablen festzulegen, vim zu verwenden, mit gcc zu kompilieren und zu lernen, mit gdb zu debuggen. Ich empfehle Ihnen, „Brother Niao's Private Linux Cooking“ zu lesen.

嵌入式linux驱动程序开发_嵌入式linux驱动开发前景_嵌入式linux设备驱动开发详解Nachdem Sie den C-Linux-Kurs gemeistert haben, können Sie mit dem Erlernen der Linux-Systemprogrammierung wie Multiprozess-, Multithread- und Socket-Programmierung beginnen. Es wird empfohlen, mit „Unix Intermediate Environment Programming“ zu beginnen und dann „...IPC“ und „UNIX Network Programming“ zu lesen ... jeder Teil ist ein Buch! Die wichtigsten davon sind der Parallelitätskontrollmechanismus von gemeinsam genutzten Variablen durch Multiprozess/Multithread und die Socket-Programmierung – denken Sie daran, sie gut zu lernen! ! ! Wenn Sie das alles gelernt haben, werden Sie sich in etwas mehr als einem Jahr in Linux verlieben.

嵌入式linux驱动开发前景_嵌入式linux设备驱动开发详解_嵌入式linux驱动程序开发Abschließend studieren Sie Uboot, die Anpassung des Linux-Kernels und die Erstellung von Dateisystemen. Zu diesem Zeitpunkt sind die C- und Linux-Systemprogrammierung, die Sie später erlernt haben, bereits mit Ihrem ARM-Board verbunden.

Abschließend: Warum liebst du immer noch Hardware? Sie können Linux-Systemanwendungen in Richtung der Entwicklung eingebetteter Linux-Treiber entwickeln. Die Hardware-Grundlagen, die Sie auf stm32 gesammelt haben, werden sich zu diesem Zeitpunkt als nützlich erweisen. Von Linux-Gerätemodellen und Kernelmodulen bis hin zu Zeichengerätetreibern, Blockgerätetreibern und Netzwerkgerätetreibern – gewöhnen Sie sich an, SourceInsight zu verwenden, um sich den Linux-Kernel-Quellcode anzusehen – denken Sie nur an die ucosii zurück, die Sie zum ersten Mal gelernt haben. Es wird empfohlen, „LDD3“ und Song’s „Linux Device Driver Interpretation“ zu lesen. Dieser Prozess dauert fünf Jahre.

Schließlich werden Sie feststellen, dass stm32, s55pvpv210, ucosii und Linux alle als eingebettete Systeme bezeichnet werden.

ps: Als ich deine Frage sah, dachte ich an mich selbst zu dieser Zeit in diesem Jahr: Ich ging in Teilzeit in ein Restaurant und wurde geschlagen, und ich ging nachts nach Hause, um das Licht anzuzünden und den Code einzugeben, den ich hatte voller bitterer Tränen...

Glauben Sie auch nicht, dass viele Produkte kein Linux verwenden. Wer noch nicht in die Welt von Linux eingestiegen ist, wird nicht verstehen, wie schön Linux ist. Und betrachten Sie Linux nicht als Ihr ultimatives Ziel. Genauso wie Sie ucosii zuvor nicht als Ihr ultimatives Ziel betrachtet haben, sollten Sie sich während Ihrer gesamten Karriere auf die Strategie konzentrieren, Betriebssystemmechanismen zur Lösung komplexer Probleme zu nutzen – auch nicht. Der Stack-Contract-Stack verwendet den OSAL-Mechanismus (Operating System Representation Layer) – dieser kann nur verstanden, aber nicht in Worten ausgedrückt werden. Werfen Sie einen Blick auf „Unix Design Philosophy“, wenn Sie Zeit haben. Sie lernen und kommunizieren gemeinsam.

Das obige ist der detaillierte Inhalt vonSTM32 und Linux: Von der Hardware zur Software, der Schlüssel zur Beherrschung des Betriebssystemmechanismus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:itcool.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!