2010-02-02 7 views
5

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

  • Où puis-je obtenir une sorte de tutoriel?
  • Est-ce que ma connaissance des systèmes d'exploitation est suffisante pour créer un tel système?
+2

Vous n'avez pas dit * quoi que ce soit * au sujet de votre «connaissance des systèmes d'exploitation». – pavium

+0

Je connais le fonctionnement de base de chaque système d'exploitation ... Je peux donc créer des pilotes de périphériques pour Linux. – Sphinx

+0

Vous obtiendrez probablement des pilotes de périphériques auprès des fournisseurs de la plate-forme. –

Répondre

9

La construction d'un système nécessite des connaissances issues de plusieurs disciplines d'ingénierie. Vous ne pouvez réaliser une telle tâche qu'en achetant des composants modulaires prêts à l'emploi et en les assemblant, et dans le cas d'un e-book, assembler les composants modulaires ne sera pas agréable.

L'apprentissage de l'une des disciplines individuelles nécessaires vous demandera un effort long et concentré.

Pour (vaguement) indiquent les zones problématiques:

  1. vous avez besoin d'une plate-forme informatique du droit facteur de forme avec tous les chipsets droit (Apple intégrer leur propre CPU unique, Depuis peu, en utilisant du matériel conceptions de plusieurs sociétés). Vous ne trouverez pas de plate-forme informatique adaptée au bon facteur de forme (Ingénieur électronique: Concepteur Digitial, Analog Designer)

  2. Vous devez essayer de connecter un écran LCD à la bonne plate-forme et à d'autres périphériques tels que USB/port de charge/WIFI etc (ingénieur électronique, concepteur de produit)

  3. Vous devez construire un cas pour la plate-forme. (Product Designer)

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

  5. Vous devez étendre le système d'exploitation pour qu'il se comporte comme vous le souhaitez. (Application Programmer, Graphics Programmer)

La partie la plus importante est la plate-forme, et d'obtenir un convenable est très difficile et très coûteux. L'iphone d'origine avait une plate-forme créée par une tierce partie que Apple achetait et utilisait pour appliquer les points 2-5 - et il fallait encore beaucoup de temps à leurs meilleurs ingénieurs pour faire un prototype.

+3

+1 Vous pouvez créer votre propre lecteur de livre électronique, mais au moment où vous avez terminé, il les distribuera gratuitement. –

+0

Vous avez oublié de créer une chaîne d'outils gcc pour la plate-forme informatique. – mouviciel

+0

@mouviciel ajouté (travaillant sur votre plate-forme) au point 4. –

2

La création intégrale de matériel nécessite beaucoup d'expertise et de ressources. Il vaudrait mieux commencer avec un tableau d'évaluation à faible coût afin d'apprendre les bases de la programmation embarquée et de l'interfaçage en premier. Cela devrait vous tenir occupé pendant quelques mois. Au-delà de cela, les fournisseurs de processeurs embarqués ont généralement des conceptions de référence que vous pouvez intégrer dans votre propre produit embarqué, mais à ce stade, vous devrez investir beaucoup de temps, d'efforts et d'argent dans la conception et le développement du matériel.

0

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

PC 104 Boards

+0

PC 104 est obsolète, et ils sont une malédiction du point de vue de la fiabilité ... ces connecteurs empilables se déchaussent s'il y a des vibrations, même si vous boulonnez les planches ensemble. –

+0

@Andrew alors as-tu une recommandation? – PeanutPower

+2

Cela dépend de ce que vous voulez. Routerboard et Ubiquiti font de jolis routeurs. Le Beagleboard est agréable pour les joueurs de médias et les choses avec l'interface utilisateur, Gumstix sont sympa si le Beagleboard est trop grand. Les Arduinos sont bons si vous pouvez vous en sortir avec un AVR 20 MHz. Pour le plus gros, il y a beaucoup de bons conseils basés sur Atom de personnes comme Supermicro et Advantech. –

5

Pas vraiment; l'ingénierie matérielle est un sujet de niveau universitaire et vous avez besoin d'au moins trois spécialités différentes pour faire ce travail. Sans compter que les logiciels de CAO et les machines CNC coûtent bien plus que gcc, donc les frais généraux des ingénieurs de matériel sont énormes. Toutefois, vous pouvez louer ce que vous avez fait, moyennant des frais substantiels. Ou vous pouvez utiliser des cartes intégrées et obtenir la conception du boîtier pour vous.

Par exemple, a beagleboard avec these accessories dans un cas personnalisé.

Ou, un Gumstix overo avec one of these et one of these dans un cas personnalisé.

Dans les deux cas, l'exécution de Linux embarqué. Les cartes de développement économisent beaucoup de temps et d'argent, mais dans les deux cas, si vous avez le capital nécessaire, vous pouvez obtenir ces cartes dans une carte personnalisée qui fera exactement ce dont vous avez besoin pour votre application, et qui coûtera moins cher grands nombres. Ne pas sous-estimer la conception du boîtier;

vous regardez la fin épaisse de cent mille dollars juste pour l'outillage de fabriquer un boîtier en plastique, en métal moulé sous pression ou en métal embouti, sans payer pour le travail de conception.

1

Il n'y a pratiquement pas besoin de créer (je veux souder) le système embarqué. Une bonne approche peut être d'acheter une carte contrôleur comme thisthis ou this. Vous devez faire attention avec le tableau, mais il n'y a rien à propos d'un ingénieur logiciel ne pouvait pas gérer; il a les ports série, USB et RJ45 familiers et normalement démarre déjà Linux. Trouver un boîtier, connecter des périphériques (y compris des convertisseurs analogiques/numériques ou ajouter des 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.