Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was Sie über die Linux-Entwicklung lernen sollten

Was Sie über die Linux-Entwicklung lernen sollten

王林
王林Original
2020-04-30 15:16:483806Durchsuche

Was Sie über die Linux-Entwicklung lernen sollten

1. C-Sprache

C-Sprache ist die Hauptprogrammiersprache im eingebetteten Bereich. Konzentrieren Sie sich auf das Verständnis grundlegender Programmierkenntnisse und fortgeschrittener Programmierkenntnisse der C-Sprache, einschließlich grundlegender Datentypen, Arrays, Zeiger, Strukturen, verknüpfter Listen, Dateioperationen, Warteschlangen, Stapel usw.

2. Linux-Grundlagen

Erfahren Sie mehr über die Verzeichnisstruktur, grundlegende Befehle, Editor-VI, Compiler-GCC, Debugger-GDB und Make-Projektverwaltungstools, Shell-Makefile-Skripting usw. unter Linux-Kenntnissen. und die Einrichtung einer eingebetteten Entwicklungsumgebung.

3. Linux-Systemprogrammierung

Konzentrieren Sie sich auf das Erlernen der Standard-I/O-Bibliothek, Multiprozess und Multithreading in der Linux-Multitask-Programmierung und Interprozesskommunikation (Pipe, FIFO). , Nachrichtenwarteschlange, gemeinsame Nutzung von Speicher, Signal, Semaphor usw.), Synchronisation und gegenseitiger Ausschluss, gemeinsame Ressourcenzugriffskontrolle und andere wichtige Kenntnisse, hauptsächlich um das Verständnis der Linux-Anwendungsentwicklung und der Code-Debugging-Funktionen zu verbessern.

(Empfohlenes Video-Tutorial: Linux-Video-Tutorial )

4. Linux-Netzwerkprogrammierung

Konzentrieren Sie sich auf das Erlernen von Netzwerkprogrammierungs-APIs und die Beherrschung des TCP-Protokolls Server-Programmiermethoden und die Implementierung gleichzeitiger Server, verstehen das HTTP-Protokoll und seine Implementierungsmethoden, sind mit den Prinzipien und Programmiermethoden von UDP-Broadcast und -Multicast vertraut, beherrschen das Design von Netzwerkkommunikationssystemen mit hybrider C/S-Architektur und sind mit HTML vertraut , Java und andere Webprogrammierungstechnologien sowie Implementierungsmethode.

5. Datenstrukturen und Algorithmen

Der Schwerpunkt des Lernens in dieser Phase liegt auf dem Verständnis des grundlegenden Inhalts von Datenstrukturen und Algorithmen, einschließlich Sequenzlisten, verknüpften Listen, Warteschlangen, Stapeln, Bäumen, Diagramme und Hash-Tabellen, verschiedene Such- und Sortieralgorithmen und andere Anwendungen sowie deren C-Sprachimplementierungsprozess.

6. C++, QT

Diese Phase konzentriert sich auf die Beherrschung der Grundideen der objektorientierten Programmierung und der wichtigen Inhalte von C++. Die grafische Schnittstellenprogrammierung ist ein sehr wichtiges Glied in der Embedded-Entwicklung. Da QT über leistungsstarke Funktionen wie plattformübergreifende, objektorientierte, umfangreiche API, Unterstützung für 2D/3D-Rendering, Unterstützung für XML und mehrere Sprachen verfügt, wurde es in dieser Phase häufig in der GUI-Entwicklung im eingebetteten Bereich eingesetzt. Es basiert auf der QT-Grafikbibliothek. Das Lernen ermöglicht es den Schülern, geschickt GUI-Programme zu schreiben und QT-Anwendungen auf die Cortex-A8-Plattform zu übertragen. Einschließlich der Verwendung von IDE, QT-Komponenten und Layout-Managern, der Anwendung von Informations- und Slot-Mechanismen, der Anwendung von Maus-, Tastatur- und Zeichenereignisverarbeitung sowie der Dateiverarbeitung.

7. Cortex A8- und Linux-Plattformentwicklung

Erlernen Sie die grundlegenden Lesefähigkeiten des Chip-Handbuchs durch die Verarbeitung von s5pv210 basierend auf ARM Cortex-A8 und beherrschen Sie die s5pv210-Systemressourcen, den Taktcontroller und die Stromversorgung Management und abnormale Interrupts Controller, NAND-Flash-Controller und andere Module sind für den Aufbau der zugrunde liegenden Plattform vorbereitet.

Die Linux-Plattform umfasst Kernel-Reduktion, Kernel-Transplantation, Cross-Compilation, Verwendung von GNU-Tools, Kernel-Debugging, Bootloader-Einführung, Produktions- und Prinzipanalyse, Root-Dateisystem-Produktion und das Hinzufügen eigener Module zum Kernel sowie Experimentieren mit s5pv210 Führen Sie Ihr eigenes Linux-System auf der Plattform aus und integrieren Sie den gesamten Prozess der Bereitstellung des Linux-Systems. Verstehen Sie gleichzeitig den Entwicklungsprozess des Android-Betriebssystems.

8. Treiberentwicklung

In dieser Phase des Studiums müssen Sie mit dem Linux-Kernelmechanismus, der Schnittstelle zwischen Treibern und Anwendungen auf Benutzerebene, vertraut sein und die gleichzeitigen Vorgänge beherrschen System auf Geräten. Machen Sie sich mit dem Funktionsprinzip der entwickelten Hardware vertraut, verfügen Sie über Grundkenntnisse der ARM-Hardwareschnittstelle, machen Sie sich mit den Ressourcen des ARM Cortex-A8-Prozessors s5pv210 vertraut, beherrschen Sie das Linux-Gerätetreiber-Prinzip-Framework und kennen Sie die erweiterten Zeichengeräte von Linux Geräte, Netzwerkgeräte und USB, die häufig in Projekten zur Geräte- und anderen Treiberentwicklung verwendet werden, und in der Lage sein, bei der Arbeit unabhängig Low-Level-Treiber zu entwickeln.

Empfohlenes Tutorial: Linux-Tutorial

Das obige ist der detaillierte Inhalt vonWas Sie über die Linux-Entwicklung lernen sollten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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