Question:
Quel est le meilleur chargeur de démarrage pour une carte Linux embarquée?
pingswept
2010-04-25 01:04:31 UTC
view on stackexchange narkive permalink

Je suis en train de concevoir une carte Linux embarquée à utiliser comme contrôleur Web. Il sera basé sur un Atmel AT91SAM9G20, qui utilise un cœur ARM926EJ-S. Quelqu'un a-t-il des expériences particulièrement bonnes ou mauvaises avec les chargeurs de démarrage? Plus largement, comment dois-je procéder pour créer / choisir une distribution Linux pour ce tableau?

J'ai de nombreuses mauvaises expériences avec les chargeurs de démarrage, le conseil de Toby est le moins pire: utilisez ce qui est le plus couramment utilisé pour ce matériel car il sera (espérons-le) mieux supporté / mieux compris (et «mieux» est un terme relatif).
Quatre réponses:
#1
+8
Toby Jaffey
2010-04-25 01:38:18 UTC
view on stackexchange narkive permalink

Le chargeur de démarrage et la distribution Linux dépendent de la nature de votre application finale.

RedBoot et uBoot sont tous deux des chargeurs de démarrage populaires pour Linux embarqué. Ils prennent en charge l'écriture en flash, le chargement de code via série / Ethernet, etc. des logiciels, vous pouvez essayer le port ARM de Debian. Pour toute autre chose, je recommanderais OpenEmbedded ou Buildroot - les deux sont des systèmes de construction configurables pour générer des noyaux et des systèmes de fichiers Linux avec uniquement ce dont vous avez besoin et rien d'autre.

Merci pour l'info. Vous avez mentionné "un chargeur très minimal" comme alternative. Proposez-vous que j'écris le mien ou existe-t-il des chargeurs de démarrage plus simples que RedBoot et uBoot? Aussi, une préférence entre les deux? (Je penche un peu vers uBoot, car j'ai un peu plus d'expérience avec lui.) Je serais également intéressé par toute expérience que vous avez avec OpenEmbedded ou Buildroot. J'ai utilisé Buildroot avec une ancienne carte Gumstix. Le fait qu'ils soient passés à OpenEmbedded suggère que cela pourrait être mieux.
Par chargeur minimal - oui, je voulais dire en écrire un, voici un aperçu - http://www.simtec.co.uk/products/SWLINUX/files/booting_article.htmlOpenEmbedded semble mieux pour créer des packages qui peuvent être installés à l'exécution, Buildroot est bon pour cibler les systèmes embarqués statiques. Cependant, je n'ai pas utilisé non plus depuis quelques années ...
#2
+4
Jay Atkinson
2010-04-25 01:39:25 UTC
view on stackexchange narkive permalink

Je pense que votre meilleur pari pour le chargeur de démarrage est U-Boot. Il a un port pour le processeur que vous recherchez dans son dossier "arch", et c'est probablement l'un des chargeurs de démarrage les plus populaires. Vous pouvez consulter le dossier du tableau atmel de la source pour avoir une idée sur la façon de configurer votre code autour de votre puce.

#3
+3
fred basset
2014-06-05 01:03:34 UTC
view on stackexchange narkive permalink

J'ai déjà utilisé U-Boot et il est assez bon, très flexible. Vous devez contacter Atmel pour voir quels SDK ils proposent. Si vous avez de l'espace dans Flash, Debian est un bon choix. C'est assez volumineux mais être capable d'installer un paquet avec un simple "apt-get" est beaucoup plus facile que d'essayer de le compiler soi-même. J'utilise la TIAM335x pour mes projets et les membres de la communauté BeagleBone ont même mis à disposition des archives tar de Debian déjà compilées pour l'ARM. L'installation du système de fichiers racine est alors aussi simple que de supprimer l'archive fournie.

#4
+3
Kamil
2014-06-05 01:16:18 UTC
view on stackexchange narkive permalink

Je n'ai pas beaucoup d'expérience avec les chargeurs de démarrage, mais je peux répondre à cette question:

Comment dois-je procéder pour créer / choisir une distribution Linux pour cette carte?

Vous devez absolument utiliser Debian comme base de votre système, car c'est le Linux le plus polyvalent jamais créé . Il a une grande collection de paquets (applications) pour ARM et d'autres architectures.

Il y a quelques distributions dédiées pour ARM, mais après 3 ans de déconner avec des périphériques comme Raspberry, BeagleBone etc. - je pense que Debian a plus de packages fonctionnant sur ARM que sur des distributions spécialisées ARM.

En accord avec Kamil ici, Debian a déjà fait tout le dur travail de compilation croisée de tous les paquets, donc en installer de nouveaux est la simplicité même.Une fois que vous avez Debian, le développement sur la cible est presque aussi simple que le développement sur un PC complet.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 2.0 sous laquelle il est distribué.
Loading...