5 votes

Un ingénieur logiciel peut-il créer un système embarqué ?

Je veux créer un système embarqué utilisant Linux similaire à Lecteur de livres électroniques utilisant un processeur ARM9. Je ne suis pas un expert en électronique mais j'aimerais bien l'apprendre. Je connais les bases de l'électronique comme les transistors, les flip-flops, les multiplexeurs, etc. J'aime les logiciels et j'aimerais créer quelque chose comme un lecteur de livres électroniques. Est-il possible pour un ingénieur logiciel de créer un système embarqué ? Je ne veux pas acheter un ordinateur monocarte disponible sur le marché, je veux le créer moi-même.

  • Où puis-je trouver une sorte de tutoriel ?
  • Ma connaissance des systèmes d'exploitation est-elle suffisante pour créer un tel système ?

9voto

Hassan Syed Points 10746

La construction d'un système requiert les connaissances de plusieurs disciplines d'ingénierie. Vous ne pouvez accomplir une telle tâche qu'en achetant des composants modulaires prêts à l'emploi et en les assemblant, et dans le cas d'un livre électronique, l'assemblage des composants modulaires ne sera pas agréable.

De même, l'apprentissage de l'une ou l'autre des disciplines uniques nécessaires vous demandera un effort long et concentré.

Indiquer (vaguement) les zones à problèmes :

  1. vous avez besoin d'une plate-forme informatique au format adéquat avec tous les chipsets appropriés (Apple intègre son propre processeur unique, depuis peu, en utilisant des conceptions matérielles provenant de plusieurs sociétés). Vous ne trouverez pas de plate-forme informatique adaptée au bon facteur de forme (ingénieur électronique : concepteur numérique, concepteur analogique).

  2. Vous devez essayer d'attacher un LCD à la bonne plateforme, et d'autres périphériques tels que USB/port de charge/ WIFI etc etc. (Ingénieur électronique, concepteur de produits)

  3. Vous devez établir un argumentaire pour la plate-forme. (Concepteur de produits)

  4. Vous devez obtenir un système d'exploitation intégré (potentiellement en temps réel) (fonctionnant sur votre plate-forme) qui réponde à vos besoins. (Programmeur embarqué, Programmeur de noyau)

  5. Vous devez étendre ledit système d'exploitation pour qu'il se comporte comme vous le souhaitez. (Programmeur d'applications, programmeur graphique)

La partie la plus importante est la plate-forme, et il est très difficile et très coûteux d'en trouver une qui convienne. L'iphone original avait une plateforme créée par un tiers qu'Apple a acheté et utilisé pour appliquer les points 2-5 -- et il a quand même fallu à ses meilleurs ingénieurs beaucoup de temps pour réaliser un prototype.

5voto

Andrew McGregor Points 7641

Pas vraiment ; l'ingénierie matérielle est une matière à part entière, sanctionnée par un diplôme, et il faut au moins trois spécialités différentes pour faire ce travail. Sans compter que les logiciels de CAO et les machines à commande numérique coûtent beaucoup plus cher que gcc, de sorte que les frais généraux des ingénieurs en matériel sont énormes.

Toutefois, vous pouvez faire appel à un spécialiste, moyennant des frais importants. Vous pouvez également utiliser des cartes intégrées et faire réaliser la conception du boîtier pour vous.

Par exemple, une carte beagle con ces accessoires dans un étui personnalisé.

Ou, un Gumstix overo con un de ces y un de ces dans un étui personnalisé.

Dans les deux cas, il s'agit d'un système Linux embarqué.

Les cartes de développement permettent de gagner beaucoup de temps et d'argent, mais dans les deux cas, si vous avez le capital nécessaire, vous pouvez obtenir ces cartes en une carte personnalisée qui fera exactement ce dont vous avez besoin pour votre application, et qui coûtera moins cher en grand nombre.

Ne sous-estimez pas la conception du boîtier ; vous devrez débourser une centaine de milliers de dollars rien que pour l'outillage nécessaire à la fabrication d'un boîtier en plastique, en métal moulé sous pression ou en métal estampé, sans payer le travail de conception.

2voto

Paul R Points 104036

La création de matériel embarqué à partir de zéro exige beaucoup d'expertise et de ressources. Il serait préférable de commencer par une carte d'évaluation à bas prix afin d'apprendre les bases de la programmation et de l'interfaçage du matériel embarqué. Cela devrait vous occuper pendant quelques mois. Au-delà, les fournisseurs d'unités centrales embarquées proposent généralement des conceptions de référence que vous pouvez intégrer dans votre propre produit embarqué, mais à ce stade, vous devrez commencer à investir beaucoup de temps, d'efforts et d'argent dans l'outillage pour la conception et le développement du matériel.

1voto

Il n'y a pratiquement aucun besoin de créer (je veux dire de souder) le système embarqué. Une bonne approche peut être d'acheter une carte contrôleur telle que ce ce o ce . Il faut être prudent avec la carte, mais il n'y a rien qu'un ingénieur logiciel ne puisse gérer ; elle possède les ports série, USB et RJ45 habituels et normalement, elle démarre déjà sous Linux. Trouver un boîtier, connecter des périphériques (y compris des convertisseurs analogiques/numériques, ou ajouter quelques relais aux ports de sortie) est tout à fait dans la gamme des capacités de quelqu'un qui veut aussi travailler avec du matériel. Attendez-vous à développer en C.

0voto

PeanutPower Points 1957

Vous pouvez acheter du matériel standard pour le développement de logiciels embarqués.

Cartes PC 104

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X