Fabrication de PCB de précision, PCB haute fréquence, PCB haute vitesse, PCB standard, PCB multicouches et assemblage de PCB.
L'usine de services personnalisés PCB & PCBA la plus fiable.
Technologie PCB
Dix ans d'expérience dans l'apprentissage des systèmes embarqués (basés sur la plateforme ARM)
Technologie PCB
Dix ans d'expérience dans l'apprentissage des systèmes embarqués (basés sur la plateforme ARM)

Dix ans d'expérience dans l'apprentissage des systèmes embarqués (basés sur la plateforme ARM)

2021-08-21
View:261
Author:IPCB

1. The concept of embedded system

Focus on understanding theLe concept d'intégration


Il comprend principalement trois aspects.

1. En termes de matériel, Intégration des périphériques CPU dans les puces CPU. For example, Dans les premiers ordinateurs basés sur l'architecture x86, Le processeur n'a que des unités arithmétiques et des fonctions d'accumulateur, and all chips need to be expanded by building external bridges. Réalisation, Le port série, etc., est réalisé par un 16c550 externe/2 puce de contrôleur de port série, La puce de contrôleur série actuelle a été intégrée dans le processeur, and PCs have graphics cards, La plupart des processeurs embarqués ont des contrôleurs LCD, but in a sense it is equivalent to a graphics card. The IXP network processor CPU under the relatively high-end ARM-like Intel Xscale architecture integrates a PCI controller (which can be configured to support 4 PCI slave devices or configure itself as a CPI slave device); it also integrates 3 NPE network processor engines, Deux d'entre eux correspondent à deux adresses Mac, which can be used for gateway switching, Un autre moteur de processeur réseau NPE prend en charge dsl. As long as a PHY chip is added outside, Accès Internet DSL possible. Fréquence maximale de la série IXP jusqu'à 1.8G, Prise en charge de la mémoire 2G, 1G*10 or 10G*1 Ethernet port or Febre channel optical channel. La famille IXP devrait être le processeur Intel le plus haut conçu pour être le noyau xscale après son intégration dans l'architecture du système arm.


2. À partir du logiciel, l'application est sélectionnée dans le noyau du système d'exploitation personnalisé et le noyau compilé est téléchargé sur rom. Les composants d'application sélectionnés lors de la personnalisation du noyau du système d'exploitation sont destinés à compléter l'intégration du logiciel. Par exemple, lorsque WinCE personnalise le noyau, il y a des choix appropriés, y compris wordpad, PDF, mediaplay, et plus encore. Si nous choisissons, vous pouvez trouver ces choses dans l'interface après le démarrage de ce. S'il s'agit du système d'exploitation Windows de l'ordinateur précédent, la plupart des choses doivent être réinstallées.


3. Graver le noyau logiciel ou le système de fichiers d'application dans le rom de la plate - forme matérielle du système embarqué pour réaliser une véritable "Intégration".

La définition ci - dessus est celle que j'ai utilisée il y a six ou sept ans pour comprendre les systèmes embarqués.. There are many definitions in the book, Mais dans ce domaine,, no one dares to say that their definition is very accurate. C'est vrai., including those experts and scholars, Après tout,, embedded system is a comprehensive subject in the field of computer


2. Classification hiérarchique et professionnelle des systèmes embarqués.

Le système embarqué est divisé en quatre couches: la couche matérielle, la couche pilote, la couche système d'exploitation et la couche application.

1. The hardware layer is the foundation of the entire embedded system. Si vous connaissez bien les microcontrôleurs et les interfaces et que vous pouvez les programmer en C et en langage d'assemblage, it is relatively easy to walk from the hardware layer of the embedded system, La couche matérielle est également un pilote. Based on the layer, Un bon ingénieur de conduite doit être capable de comprendre les diagrammes de circuits matériels et de concevoir la logique du CPLD indépendamment.. En même temps, he must be quite familiar with the operating system kernel and its scheduling. Mais la plate - forme matérielle est la base, and value-added depends on the software.


La couche matérielle convient mieux aux professionnels de l'électronique, des communications, de l'automatisation, de l'intégration électromécanique et de l'ingénierie de l'information. Les connaissances de base requises comprennent le principe et la technologie d'interface du micro - ordinateur à puce unique, le principe et la technologie d'interface du micro - ordinateur, le langage C.

2. Couche d'entraînement. Cette partie est plus difficile. Les ingénieurs de pilotes doivent non seulement comprendre les diagrammes de circuits, mais ils doivent également être très compétents dans le noyau du système d'exploitation afin que les pilotes qu'ils écrivent n'aient pas le monopole de la tranche de temps du système d'exploitation lorsqu'ils appellent le système. Par conséquent, d'autres tâches ne peuvent pas être exécutées, elles ne comprennent pas l'architecture du noyau et l'ordonnancement en temps réel du système d'exploitation, et elles n'ont pas un bon style d'écriture des pilotes. Selon la méthode d'ajout de pilotes mentionnée dans la plupart des livres, beaucoup de gens peuvent le faire, mais ils peuvent même ne pas atteindre le niveau de l'Ingénieur de pilotes Junior, de sorte que lorsque l'application est appelée, le pilote écrit est comme si nous avions ouvert un programme et l'avons exécuté sous Windows. Lorsque nous ouvrons un programme, il interrompt le programme précédent ou attend. Il faudra du temps pour exécuter un programme qui s'ouvrira plus tard. Si vous voulez être un bon conducteur, vous n'avez pas trois ou quatre ans de connaissances. Le succès n'est pas facile si vous n'étudiez pas le noyau du système d'exploitation, mais dans les systèmes embarqués à quatre niveaux, le salaire est le plus élevé.


La couche pilote convient mieux aux professionnels de l'électronique, des communications, de l'automatisation, de l'intégration électromécanique et de l'ingénierie de l'information, en particulier à l'architecture informatique. Outre les règles de base de la couche matérielle, des structures de données, des algorithmes et des opérations sont nécessaires. Les principes du système et de la compilation doivent être bien compris.


3. Couche système d'exploitation. Pour la couche système d'exploitation, il peut s'agir d'un simple portage à l'heure actuelle, mais peu de gens viennent d'un système d'exploitation déjà écrit ou d'un système d'exploitation qui manque de bras et de jambes. Cette partie du travail est principalement effectuée par l'Ingénieur du conducteur. Terminé. Le système d'exploitation est responsable du débogage des tâches du système, de la gestion des disques et des fichiers. Microsoft aurait investi 300 personnes dans le développement du système d'exploitation XP en deux ans. Le temps de travail total est de 600 années - personnes. On estime qu'il faudra des centaines d'années - personnes pour compléter le système d'exploitation wowa hobben de l'Institut de logiciels de l'Académie chinoise des sciences. Cette partie du travail est donc relativement inutile.


4. La couche d'application est relativement facile. Si vous savez comment appeler une fonction d'interface de programmation sous Windows, cela ne changera que l'environnement de compilation et de développement sous le système d'exploitation. C'est également vrai si la programmation Java est impliquée. Les algorithmes impliqués dans les systèmes embarqués sont traités par des algorithmes professionnels et n'ont pas besoin d'être classés dans la catégorie des systèmes embarqués. Cependant, il est plus compliqué et plus difficile d'utiliser la base de données embarquée dans le système embarqué, la programmation réseau basée sur le système embarqué et le développement d'applications de protocole basées sur une certaine couche d'application (comme sip, H.323, astrik).


3. Objectifs et positionnement.


Il faut d'abord avoir une cible, puis la trouver.

Apprendre le bras dans le matériel, d'une part, apprendre la conception de circuits d'interface, d'autre part, apprendre l'assemblage du langage C et la programmation au niveau du Conseil. Du point de vue logiciel, il est nécessaire d'apprendre les pilotes et la migration au niveau du système d'exploitation basé sur le processeur arm. Pour les débutants, cela doit être clair, que ce soit du matériel à apprendre, ou de la familiarité avec le système d'exploitation à l'application, mais quoi que vous appreniez, tant que vous n'êtes pas seulement au niveau du système d'exploitation ou de la programmation API - basée au niveau de l'application, le matériel doit encore comprendre ce qui est enregistré, Vous devez encore comprendre l'assemblage au niveau du Conseil et la programmation c. Par conséquent, pour la couche matérielle et le pilote du système embarqué, la conception du circuit d'interface ARM, le langage C de arm et l'environnement de programmation et de débogage du langage d'assemblage doivent encore être maîtrisés.


Par conséquent, les débutants doivent maîtriser la direction, leurs objectifs et aller de l'avant à ce niveau. Ensuite, commencez à apprendre les deux niveaux de systèmes embarqués liés au bras, la couche matérielle et la couche pilote, qui sont meilleurs et plus pratiques.


Si vous voulez vous éloigner de la couche d'application d'un système embarqué, il peut être loin de arm et d'autres systèmes. Il est nécessaire de se concentrer sur l'application environnementale du système d'exploitation embarqué et la chaîne d'outils de développement correspondante, comme le développement d'applications EVC sous le système d'exploitation WinCE (similaire à VC sous Windows), et si vous voulez faire une percée, comptez sur certains protocoles audio et vidéo, Par exemple, le développement de la couche d'application basée sur SIP ou H.323 dans le domaine VoIP, ou le développement de la base de données réseau embarquée, etc.

Pour débutants, we must do what we can. Ne pensez pas que les conducteurs sont bien payés et utilisez - les comme guide. We must combine our own characteristics. En ce qui concerne les quatre niveaux du système embarqué, there are experts at all levels. Bien sûr., there are experts. Salaire élevé correspondant, I work in the hardware layer. Le passé., I had to deduct nearly 3,Déduire 1 000 $d'impôt sur le revenu des particuliers de mon salaire mensuel. Bien sûr., I played the role of an engineer on the one hand and the role of a supervisor and a person on the other. J'ai pris ce poste tout seul., but only those working hours. In terms of hardware, there may be very few people competing with me, Ça m'a donné tant de salaire..

4. Choix du système de développement.


Beaucoup de débutants arm veulent un système qu'ils peuvent utiliser, mais ils ont un malentendu que plus la version du processeur est élevée, plus la performance est élevée, mieux c'est, tout comme beaucoup de gens pensent que ARM9 et ARM7 sont meilleurs, je pense que pour les débutants ils devraient être intelligents à cet égard. Le choix du système de développement dépend de l'orientation du système embarqué, du développement du pilote ou de l'application, ou de la conception de la couche matérielle du système embarqué et des essais au niveau du Conseil. Si vous voulez commencer au niveau du système d'exploitation ou de l'application, qu'il s'agisse d'un pilote ou d'une application, la performance du processeur est certainement meilleure et meilleure, mais il est très difficile de l'apprendre vous - même, pas quelques mois, six mois ou un an. Ce qui peut être fait en deux ans.


En un sens, la différence entre ARM7 et ARM9 est que certains ensembles d'instructions fonctionnelles sont enrichis et que les fréquences primaires sont augmentées, comme 286 et 386. Pour les utilisateurs, ils ne savent peut - être rien, mais ils se sentent un peu plus rapides.


ARM7 convient mieux à ceux qui veulent partir du niveau matériel, car les processeurs de la série ARM7 ont très peu de mmu internes et ils sont relativement faciles à contrôler. Par exemple, s3c44b0, le cache peut être facilement fermé et le registre d'interface interne est très simple. Il est facile de voir et de comprendre que les différentes interfaces peuvent être contrôlées par des programmes matériels ou des instructions en ligne de commande axd en une seule étape. Basé sur l'idée d'un micro - ordinateur à puce unique 51, il est facile à comprendre et peut être considéré comme un micro - ordinateur à puce unique 32 bits, éliminant ainsi de nombreux ingénieurs 51. Vouloir se tourner vers la confusion des développeurs de bras matériels pour les systèmes embarqués afin qu'ils ne soient pas amenés au niveau du système d'exploitation par certaines entreprises de l'industrie qui ne comprennent pas vraiment les systèmes embarqués, les effrayer, et rendre l'industrie encore moins talentueuse à cet égard.


Le système embarqué attache une grande importance à l'interface tant dans la conception matérielle que dans la conduite logicielle. Lorsque vous sélectionnez une plate - forme, vous devez également vérifier les ressources externes du processeur. Plus vous êtes en contact avec des ressources externes et plus vous les connaissez, plus vos chances de succès futur en matière d'emploi seront identifiées. Plus haut, plus haut, c'est ce que l'on appelle la « compétence pertinente » au moment du recrutement, parce qu'il est impossible pour une personne d'avoir accès à tous les processeurs en quelques années seulement et que nous ne connaissons peut - être pas du tout les processeurs utilisés par l'unit é de recrutement. Dans le passé, les processeurs arm fabriqués par des dizaines de petites entreprises taïwanaises (des dizaines de millions de dollars) étaient également utiles, mais ils étaient si génériques que les entreprises qui les utilisaient ne pouvaient recruter que des talents. Quelles sont les personnes ayant une expérience de travail pertinente? Dans le matériel, il s'agit de la conception d'interfaces périphériques, dans le logiciel, il s'agit du pilote d'interface du système d'exploitation et de l'expérience de développement d'applications. Je travaille dans ce secteur depuis près de dix ans. ARM est apparu en 2000. J'ai commencé à travailler sur ARM7 en une journée, puis je suis allé directement à xscale (ce tableau est entre arm10 et 11). Pendant cinq ans, j'ai recruté pas moins de centaines de personnes pour des entrevues. Ces aspects sont encore bien compris.

ATL

I personally think that Samsung's S3C44b0 is more suitable for beginners. Pourquoi tu dis ça?? Because the interface resources are relatively rich, La technologie a mûri, Et plus de matériaux, Il devrait être parfait pour les débutants. If there is a problem, Il est peut - être facile de trouver quelqu'un pour aider à résoudre ce problème., Parce que la plupart des gens sont familiers, just like a 51-type microcontroller, Plus de n bits. Expert-level figures can help you, Les questions pertinentes peuvent être résolues rapidement. However, L'industrie ne pense pas que ce bras soit approprié, but for beginners, C'est une bonne chose..

Par conséquent, le choix du système de développement dépend des objectifs futurs de l'individu, des ressources d'interface du Conseil de développement et de la généralité de l'industrie.


5. Comment gérer la formation.

Laissez - moi d'abord parler de moi.. I have been in the industry for nearly ten years and started together with the domestic embedded system industry. J'ai été à l'avant - garde de l'industrie des systèmes embarqués. J'ai conçu de nombreux produits de plate - forme de systèmes embarqués haut de gamme et fourni des solutions à de nombreuses entreprises. Avant la cessation de service, he designed IP-PBX for a US-funded company engaged in VOIP. Il a été Directeur de projet, project supervisor, Directeur technique, and department manager. Il a accumulé beaucoup de contacts et des années d'expérience. Taking into account the mismatch between student employment and company recruitment, L'entreprise veut embaucher, but it’s not easy for students and newly graduated engineers to find a job, J'ai donc essayé de créer Wistar Technology Co., Ltd.., Ltd. Développer l'éducation et la formation aux systèmes embarqués.


En raison de l'absence de liens entre les chercheurs de première ligne et les enseignants de première ligne, les talents intégrés sont rares en Chine. La technologie des universités étrangères est en avance sur celle des entreprises industrielles, tandis que la situation nationale est que la technologie des systèmes embarqués des entreprises industrielles est en avance sur celle des universités. Afin de construire un pont entre l'industrie et l'Université, d'apporter des compétences avancées aux étudiants universitaires, de créer un atout pour les étudiants dans la concurrence pour l'emploi, et de créer des possibilités pour les ingénieurs de l'industrie d'améliorer rapidement et de réaliser l'auto - création, j'a i démissionné d'une entreprise étrangère avec un salaire annuel de plus de 200 000 RMB et je me suis engagé dans la formation de systèmes intégrés.


Pour la formation, c'est de l'argent en échange de temps. Beaucoup d'ingénieurs aiment apprendre par eux - mêmes et ne pensent pas que la formation en vaille la peine. C'est aussi possible. Bien sûr, la formation ne vaut pas grand - chose pour de l'argent, mais ils ont peut - être perdu beaucoup d'argent. Je ne sais pas s'ils ont calculé. Si une semaine de formation leur permet d'acquérir des connaissances qu'ils ne peuvent maîtriser qu'après deux ans d'auto - apprentissage, ils passent de trois à six mois à digérer le contenu de la formation. De cette façon, il peut économiser au moins un an et demi pour étudier d'autres choses ou travailler à un autre niveau, puis il reçoit, au plus tard deux ans plus tard, un salaire correspondant à son niveau, c'est - à - dire un salaire réduit d'un an par rapport au même groupe. Les frais mensuels sont d'au moins 1 000 $et les frais de formation d'au moins 10 000 $. En même temps, il économise un an. Bref, j'ai couru au Sommet de l'équipe.


D'autre part, la formation des nouveaux arrivants équivaut à l'achat d'une assurance chômage pour eux - mêmes à l'avance, et les maîtres les conduiront au taoïsme. Cet été, le plus jeune étudiant de notre classe était en deuxième année, et cette année, il n'était qu'en troisième année. Je viens d'apprendre MCU ce semestre, mais maintenant la programmation arm est excellente. Est - ce qu'il perdra son emploi plus d'un an plus tard?

En outre, through training, Vous savez beaucoup de choses que les gens ordinaires de l'industrie ne savent pas, En même temps, trouvez - vous un maître. For example, Deux ingénieurs utilisent S3C2410 et pxa255 pour fabriquer des appareils portatifs, and both of them work four. L'année prochaine, if you go out to find a job, L'écart salarial entre deux personnes peut être jusqu'à deux fois plus élevé. Why? C'est une règle inconnue des gens ordinaires de l'industrie.. 2410 est un produit civil. It is used badly by the industry. Le coût de fabrication du produit est très sensible. Of course, Il est également sensible au coût des talents. PXA255 is an Intel product. Trois 2410 pour un 255 processeur., Has always been defined by the industry as a noble product. L'entreprise utilisée est une grande entreprise ou une entreprise au service de l'armée. They don’t care about the cost. Tant que tu t'en sors bien., Tout est facile à dire, but there are few people doing this, Parce que le développement de systèmes est coûteux.


En ce qui concerne la recherche d'un bon maître par soi - même, je pense que oui, parce qu'il y a une compétition potentielle entre les ingénieurs de même niveau, beaucoup de gens ne veulent pas enseigner aux autres ce qu'ils savent, ce qui signifie qu'ils vont perdre leur emploi. C'est ce qu'on appelle l'apprenti de l'église, le maître est affamé, mais pour nous, il n'y a pas de relation. J'ai atteint un certain niveau dans la conception de la plate - forme système embarquée. À l'heure actuelle, je travaille dans ce domaine en Chine. C'est difficile à percer, donc j'ai ouvert beaucoup de choses à tout le monde, comme l'interface de synchronisation mentionnée dans la conception d'interface ci - dessous. Si je n'en parle pas, je pense que c'est presque un ingénieur principal en matériel. Seulement 10% le savent.


6. Compétences requises pour devenir un ingénieur principal en matériel de systèmes intégrés.


In terms of hardware, Il y a plusieurs directions. The simple signal is divided into digital and analog. La simulation est plus difficile à faire. Cela exige généralement une longue expérience. If the accuracy of the resistance or capacitance is not enough, La déviation du signal peut être importante. Therefore, Les jeunes font moins de travail. With the development of technology, La numérisation des circuits analogiques est apparue. For example, Le module RF du modem du téléphone utilise une puce mature. At that time, Seules deux entreprises au monde possèdent cette technologie, and they felt that they had analog functions. Un homme moins fort n'est pas fait pour ça.. If you can really get the radio frequency module of the mobile phone, Tant que le niveau général est atteint, the monthly salary may be more than 15K.


L'autre est la partie numérique, qui peut être divisée en microcontrôleurs 51 / ARM, DSP et FPGA. La plupart des ingénieurs nationaux de la FPGA sont engagés dans la vérification de première ligne du noyau IP dans IC Design Company. Cette partie n'est pas couverte. Au niveau du portail, l'avenir n'est pas très clair. Même si vous êtes un ingénieur de validation de première ligne IC, vous devez travailler plusieurs années pour être qualifié. L'interface matérielle DSP est relativement complète. L'avenir n'est pas bon non plus s'il ne se rapproche pas du pilote ou de l'algorithme. ARM MCU a plus de contenu. L'industrie dispose d'un grand nombre de produits et d'un large éventail d'applications. Les possibilités d'emploi sont donc énormes. La conception matérielle reflète le mieux le niveau et la norme de conception de l'interface. Il s'agit d'un pk pour divers ingénieurs principaux en matériel. Base de jugement du niveau. La chose la plus importante dans la conception de l'interface est de regarder le temps, pas simplement la connexion. Par exemple, le processeur pxa255 I2C nécessite une vitesse de 100 kbps. Si le périphérique I2C connecté n'atteint pas 100 kbps, la conception échouera inévitablement. Il y en a beaucoup. Par exemple, 51 MCU peuvent être connectés à un LCD sur le bus, mais pourquoi ce LCD ne peut pas être accroché au bus ARM, et il peut y avoir un contrôleur de carte SD winband externe sur le bus ARM7, mais pourquoi ce contrôleur ne peut pas accéder au processeur ARM9 ou xscale, ce sont tous des problèmes.


Par conséquent, l'interface n'est pas une simple connexion, elle dépend du temps et des paramètres. Les bons ingénieurs en matériel devraient être en mesure de concevoir des produits plus rentables et plus performants sans plan de référence. Selon le schéma existant, il doit également être correctement adapté à la faisabilité, mais ce n'est pas aléatoire. J'ai rencontré un ingénieur qui a changé la puce 5V DC en 1,8v DC dans le schéma et l'a remplacée directement par LDO, parfois il a brûlé plusieurs processeurs. Il y a quelques jours, certaines personnes voulaient que je les aide à optimiser leurs programmes précédents pour les appareils GPS portatifs basés sur la plateforme pxa255. J'ai posé une question. La carte est stockée dans la carte SD et le SPI est utilisé entre la carte SD et le Contrôleur MMC de l'interface pxa255, de sorte que la vitesse de lecture de la carte est très lente, ce qui est un défaut grave dans la conception, pas un problème de programme, donc j'a I fait quelques suggestions pour qu'ils mettent à jour et réessayent. Par conséquent, si vous voulez être un bon ingénieur, vous devez maîtriser l'intégrité du système et la compréhension des circuits existants. En d'autres termes, ce que vous pouvez voir et comprendre après un ensemble de diagrammes de circuits. Si vous ne comprenez pas plus de 80%, cela signifie que vous n'êtes pas un bon ingénieur.


Capacité de mise en service des circuits et capacité d'examen des dessins, Mais la capacité fondamentale est Circuits imprimés drawing of schematic design and logic design. Il s'agit d'un ingénieur en conception matérielle.. Les ingénieurs ECAD peuvent également être séparés des ingénieurs de conception du matériel susmentionnés., who are professional engineers who draw Circuits imprimés Le Conseil d'administration et l'Ingénieur en conception EMC aident les autres à résoudre les problèmes EMC. The hardware engineer is the board-level test engineer, Oui., the hardware engineer with good C language skills, Dans le processus de débogage de la carte de circuit, qui peut vérifier la fonction matérielle par le programme de test écrit par lui - même. Il est ensuite remis au développeur de pilotes en fonction du niveau du système d'exploitation.

En bref, le contenu du matériel est très complexe. Si vous vous entraînez en matériel, vous serez un maître. Je vais souvent évaluer le plan pour les autres. Je nie souvent la conception de nombreux ingénieurs matériels supérieurs. L'Ingénieur le fera donc. Cette situation peut offenser certaines personnes, mais le matériel a beaucoup d'inconnues qui intriguent de nombreux ingénieurs de matériel de haut niveau.


Par conséquent, l'ingénieur principal du matériel doit posséder ces compétences.. First, Ils doivent maîtriser les aides à la conception de l'AED, Comme Protel Orcad Popper. Circuits imprimés Maplux2ISE, Langage vdhl. Ils doivent être en mesure d'utiliser ces outils pour dessiner des dessins logiques, and then interface design review. Capacité de dessin et de mise en service. Si vous obtenez un plan directeur, you will basically become a senior engineer.


Le matériel dépend de l'expérience et de l'accumulation. Dix ans pour aiguiser une épée, and a needle is sharpened in a hundred years.