Comment apprendre le développement de logiciels embarqués ?

Le premier est l'apprentissage cognitif et de base . Cette partie est généralement requise pour apprendre certains cours de cognition de l'industrie, guider les perspectives de développement futur et les tendances d'emploi de l'embarqué, l'introduction du langage C, l'utilisation des outils de développement, les commandes courantes, les algorithmes de structure de données, etc. Cette partie dépend principalement de la mémoire, et il n'y a pas beaucoup de difficultés logiques.
Deuxièmement, après avoir eu les bases précédentes, c'est l'étape de l'apprentissage de la programmation d'applications embarquées . Cette étape vise principalement à renforcer les connaissances de l'étape LinuxC et du développement C++ .Parallèlement, elle touchera également certains points de connaissance du système d'exploitation.Il est nécessaire de se familiariser avec le processus de développement et les spécifications de l'entreprise. Maîtrisez des points de connaissance importants tels que la programmation d'E/S de fichiers, la programmation réseau, la programmation multitâche, la programmation multiprocessus et la programmation QT . Développement de matériel intelligent complémentaire, développement de micro-ordinateur monopuce et autres contenus.
Enfin, il est lié au contenu du développement du pilote sous-jacent . Le contenu est le contenu de base du développement de systèmes embarqués, et c'est aussi l'une des difficultés de l'apprentissage embarqué. A ce stade, il est nécessaire de maîtriser les méthodes de transplantation et d'adaptation du système, et de se familiariser avec des points de connaissance tels que le processus de développement et de construction embarqué. Le propriétaire peut se référer aux éléments suivants :
1. Langage C et système d'exploitation Linux
Fondation du langage C et commandes Linux ; types de données, constantes, variables et opérateurs ; entrées et sorties, instructions de contrôle, tableaux et chaînes ; pointeurs et fonctions.
2. Points de connaissances à maîtriser en langage LinuxC de haut niveau/grammaire Python ?
Gestion de progiciels, commandes shell ; commandes shell linux, programmation de scripts, programmation avancée ; Makefile ; Python grammaire de base, phrases conditionnelles, instructions de boucle, types de données, fonctions , fichiers de stockage .
3. Les points clés à saisir dans la structure des données.
Tableau linéaire et tableau séquentiel, liste chaînée, application de liste chaînée ; opération de liste chaînée simple, implémentation et application de pile ; application d'implémentation de file d'attente, arbre et implémentation ; recherche, tri.
4. Contenu d'apprentissage de la programmation simultanée
Programmation de processus, processus démon, commande, fork, exit.excel, système ; fonction d'attente, fonction waitpid, démon linux 3, thread, communication inter-processus unixt.
5.
Les bases de la programmation réseau doivent être bien posées, programmation TCP, serveur simultané ; programmation UDP, principe du protocole TCP/IP, multiplexage I0.
6. Bases ARM
, instructions, gestion des exceptions, développement bare metal 2, interface de communication, mécanisme d'interruption, contrôle de forme d'onde ; port série UART, lecture de puce, programmation ; STM32, plate-forme d'exploitation de port GPIO, comment appliquer le port série USART, système d'interruption, horloge et dispositif de synchronisation, convertisseur analogique-numérique ADC, transfert de données DMA, principe de communication du bus 12C, familier avec ceux-ci.
7. Environnement de noyau et de pilote intégré
, module de développement, périphérique de caractères ; programmation d'interruption, méthode permettant à l'utilisateur d'obtenir une base de données de boutons, cadre de pilote ; implémentation de pilote d'interrogation, méthode de programmation, implémentation de tasklet, application de notification de signal asynchrone ; bus de plate-forme, fichier sysfs, création code de bus ; construction de pilotes, séparation, fusion, processus logique, idées de conception ; idées de cadre en couches, idées orientées objet, sous-systèmes d'entrée, arborescences de périphériques, nœuds et attributs ; combiné avec certains projets, combat réel 8, développement de graphiques intégrés QT Contrôles
QT
, boîte de dialogue, fenêtre principale et traitement des événements ; lecture et écriture en continu, parcours de répertoires, obtention d'attributs de fichier, démontage et synchronisation mutuels des threads ; tcp, udp, serveur, client.
9. En combinant avec le projet de faire un entraînement au combat réel, passez en revue
le lien dans lequel vous êtes faible, puis faites des percées dans ce lien à son tour, l'un est la relecture de base, l'autre est la percée du goulot d'étranglement, puis revenez à l'application de combat réelle !

cfbf3259b021bde4d861d5c201e58dd2.jpeg


J'ai trié un ensemble d'instructions d'apprentissage intégrées, qui regorgent de compétences et de marchandises sèches, y compris l'enseignement de la programmation, l'explication vidéo des problèmes, 800 ensembles d'ensembles complets et l'enseignement des langues, très complets, si vous devez mettre un 6, le tout gratuitement

Je suppose que tu aimes

Origine blog.csdn.net/lz19zlun/article/details/132231632
conseillé
Classement