Résumez les connaissances de base des systèmes intégrés, des langages de programmation, des outils efficaces et d'autres contenus.
Récemment, j'ai entendu un ami dire quelque chose de très bon:
L'iPhone est un bras intégré sur OS, et Cuda peut également être compris comme un intégré hétérogène.
De ce point de vue, comment pouvez-vous devenir un excellent ingénieur intégré en séparant l'informatique de l'intégration, et en appelant simplement des technologies telles que les microcontrôleurs, les ARM, les FPGA, etc., et que vous n'apprendrez que des champs techniques étroits?
Documentation technique et dossiers d'étude:
Bases du système intégré:
Apprentissage automatique:
Langage de programmation:
Construction et outils de l'environnement:
Base théorique:
Cet entrepôt mettra à jour les connaissances liées au champ intégré pendant longtemps. En résumant et en affinant les connaissances que vous avez, vous pouvez constamment acquérir des compétences plus utiles.
Récemment, j'ai une nouvelle vue sur le positionnement des ingénieurs intégrés.
Les diplômés des majors électroniques commencent à apprendre du niveau de la machine, tels que les microcontrôleurs et les principes de micro-ordinateurs, puis passent au niveau de la langue, tels que le langage C et Python, puis apprennent les structures de données et les algorithmes. Cet itinéraire semble assez bon et convient au démarrage, mais il y a de graves problèmes dans cette voie.
Les problèmes rencontrés dans les travaux intégrés sont souvent complets, ce qui signifie que commencer le niveau de langue ou le niveau d'algorithme ne peut souvent pas résoudre le problème, et parfois il doit aller profondément dans le niveau de la machine. La question est donc de savoir quels niveaux y a-t-il pour l'ensemble du système intégré, ou quels niveaux y a-t-il pour l'ensemble du système informatique? Pour avoir une compréhension de l'ensemble du cadre du système de connaissances et de votre position, vous devez avoir une compréhension plus approfondie des principes de composition de l'ordinateur.
Le livre que je recommande ici est la troisième édition de "une compréhension approfondie des systèmes informatiques" écrite par Randal E. Bryant et David R. O'Hallaron. Le cours correspondant qui peut être trouvé est le cours "Basics of Computer Systems" enseigné par le professeur Yuan Chunfeng sur la plate-forme MOOC, qui nous aide à établir une compréhension de l'ensemble de la couche d'abstraction du système informatique et d'améliorer notre capacité complète à résoudre des problèmes intégrés.

Les ingénieurs intégrés doivent avoir une profondeur suffisante dans leur accumulation technique.
Après plusieurs années de développement d'ingénierie, je suis entré en contact avec divers processeurs et j'ai conçu et mis en œuvre un simple CPU 16 bits par moi-même. J'ai progressivement réalisé que l'utilisation de certains processeurs n'est pas la connaissance la plus importante, mais le contenu le plus important est les principes de la composition informatique et de l'architecture informatique (X86 ARM RISC-V). Une compréhension approfondie des connaissances de base informatique peut nous permettre de comprendre la même chose lors de l'apprentissage du nouveau matériel informatique, et nous ne trouvons pas trop difficile d'apprendre de nouvelles technologies informatiques hétérogènes, telles que GPU, TPU et NPU.
Divers langages de programmation sont des outils essentiels pour les ingénieurs. Mais je pense que la chose la plus importante n'est pas le langage de programmation lui-même, mais l'idée de conception du langage et ses scénarios applicables. Il devient très facile de comprendre ce qui se cache derrière un langage de programmation et d'apprendre et d'utiliser une nouvelle langue.
Le problème avec le système de positionnement rapide est une capacité nécessaire pour chaque ingénieur intégré, alors comment le déboguer efficacement? J'ai discuté une fois de cette question avec un véritable collègue expert, et il a dit: Puis-je dire que je compte principalement sur la réflexion? Cette réponse est évidemment trop brève, mais nous devons admettre que le débogage est en effet basé sur la pensée.
Récemment, j'ai lu un livre intitulé "How to Solve It" qui m'a donné une inspiration et m'a fait réaliser que c'est un problème de réflexion.
Si les ingénieurs veulent améliorer les capacités de débogage, ils doivent souvent penser à ce problème: cette solution semble réalisable et semble être correcte, mais comment peuvent-ils penser à une telle solution? Cette expérience semble être possible, ce qui semble être un fait, mais comment ce fait a-t-il été découvert? Et comment puis-je les penser ou les découvrir moi-même? Au travail, vous devez non seulement faire de votre mieux pour comprendre les solutions de divers bugs, mais aussi comprendre les motivations et les étapes de cette solution, et faire de votre mieux pour expliquer ces motivations et étapes aux autres.