1. Langage C
Le langage C est le principal langage de programmation dans le domaine de l'embarqué. Concentrez-vous sur la compréhension de la programmation de base et sur les connaissances avancées en programmation du langage C, notamment : les types de données de base, les tableaux, les pointeurs, les structures, les listes chaînées, les opérations sur les fichiers, les files d'attente, les piles, etc.
2. Bases de Linux
En savoir plus sur la structure des répertoires, les commandes de base, l'éditeur VI, le compilateur GCC, le débogueur GDB et les outils de gestion de projet Make, les scripts Shell Makefile, etc. sous connaissance de Linux, et la mise en place d'un environnement de développement intégré.
3. Programmation système Linux
Concentrez-vous sur l'apprentissage de la bibliothèque d'E/S standard, du multi-processus et du multi-threading dans la programmation multitâche Linux et de la communication inter-processus (pipe, FIFO , file d'attente de messages, partage de mémoire, signal, sémaphore, etc.), synchronisation et exclusion mutuelle, contrôle d'accès aux ressources partagées et autres connaissances importantes, principalement pour améliorer la compréhension du développement d'applications Linux et des capacités de débogage de code.
(Tutoriel vidéo recommandé : Tutoriel vidéo Linux )
4. Programmation réseau Linux
Concentrez-vous sur l'apprentissage des API liées à la programmation réseau et la maîtrise du protocole TCP. serveur Méthodes de programmation et mise en œuvre de serveurs concurrents, comprendre le protocole HTTP et ses méthodes de mise en œuvre, connaître les principes et les méthodes de programmation de la diffusion et du multicast UDP, maîtriser la conception de systèmes de communication réseau à architecture hybride C/S, connaître HTML , Java et autres technologies de programmation Web et méthode de mise en œuvre.
5. Structures de données et algorithmes
L'objectif de l'apprentissage à ce stade est de comprendre le contenu de base des structures de données et des algorithmes, y compris les listes de séquences, les listes chaînées, les files d'attente, les piles, les arbres, graphiques et tables de hachage, divers algorithmes de recherche et de tri et autres applications et leur processus d'implémentation en langage C.
6. C++, QT
Cette étape se concentre sur la maîtrise des idées de base de la programmation orientée objet et du contenu important du C++. La programmation d’interfaces graphiques est un maillon très important dans le développement embarqué. Parce que QT dispose de fonctions puissantes telles qu'une API riche multiplateforme, orientée objet, la prise en charge du rendu 2D/3D, la prise en charge de XML et de plusieurs langages, il a été largement utilisé dans le développement d'interfaces graphiques dans le domaine embarqué. il est basé sur la bibliothèque graphique QT. L'apprentissage permet aux étudiants d'écrire habilement des programmes GUI et de transplanter des applications QT sur la plate-forme Cortex-A8. Y compris l'utilisation de l'IDE, des composants QT et du gestionnaire de mise en page, l'application du mécanisme d'information et de slot, l'application du traitement des événements de souris, de clavier et de dessin et le traitement de fichiers.
7. Développement de la plate-forme Cortex A8 et Linux
Apprenez les compétences de base en lecture du manuel de la puce en traitant le s5pv210 basé sur ARM Cortex-A8 et maîtrisez les ressources du système s5pv210, le contrôleur d'horloge et l'alimentation. gestion et interruptions anormales Le contrôleur, le contrôleur flash nand et d'autres modules sont préparés pour la construction de la plate-forme sous-jacente.
La plate-forme Linux comprend la réduction du noyau, la transplantation du noyau, la compilation croisée, l'utilisation des outils GNU, le débogage du noyau, l'introduction du chargeur de démarrage, la production et l'analyse des principes, la production du système de fichiers racine et l'ajout de vos propres modules au noyau, ainsi que l'expérimentation. avec s5pv210 Exécutez votre propre système Linux sur la plate-forme et intégrez l'ensemble du processus de déploiement du système Linux. En même temps, comprenez le processus de développement du système d’exploitation Android.
8. Développement de pilotes
À ce stade d'étude, vous devez être familier avec le mécanisme du noyau Linux, l'interface entre les pilotes et les applications au niveau utilisateur, et maîtriser les opérations concurrentes du système sur les appareils. Être familier avec le principe de fonctionnement du matériel développé, avoir une connaissance de base des interfaces matérielles ARM, être familier avec les ressources du processeur ARM Cortex-A8 s5pv210, maîtriser le cadre de principe du pilote de périphérique Linux et être familier avec les périphériques de caractères avancés Linux courants, bloquer les périphériques, les périphériques réseau et l'USB dans le développement de périphériques et d'autres pilotes d'ingénierie, et être capable de développer indépendamment des pilotes de bas niveau au travail.
Tutoriel recommandé : Tutoriel Linux
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!