Question

Une façon de regarder -. Linux embarqué commence avec le bureau Linux et les fossés parties ne sont pas nécessaires pour les systèmes embarqués (? Est-ce réellement vrai), alors que eCos est conçu à partir du sol pour les systèmes embarqués

Maintenant, supposons un processeur ARM, probablement ARM 7 - performances ne fait une différence? En fait, nous parlons d'un système de charge très faible, 500 transactions par jour max.

Les avantages de l'un sur l'autre (ou FreeRTOS, etc.)? La stabilité, la maturité, la performance, les outils de développement, autre chose?

Tout ce que je peux penser est que si je suis certains que je ne port à un autre o / s, alors si je vais avec Linux embarqué, je ne suis pas besoin d'un o / s couche d'abstraction pour me permettre de faire des tests unitaires sur l'hôte (Linux desktop).

Toutes les pensées ou des commentaires? Merci.

Était-ce utile?

La solution

Chaque appareil que j'ai mis sur Linux a commencé à partir du sol et n'a pas été une version allégée d'une certaine distribution.

eCos et Linux ont des objectifs différents. Linux est destiné à être un très complet système Unix et est par conséquent pas concerné donc sur les exigences minimales du système. eCos est un temps réel système d'exploitation conçu pour les systèmes qui sont des ressources souvent limitées. Il y a beaucoup de chevauchement entre les deux systèmes d'exploitation et dans de nombreuses situations, les deux fonctionnent aussi bien.

Dans mon expérience, si votre système possède les ressources et vos besoins ne sont pas négligeables, le développement va aller plus vite avec Linux. Il est plus facile de trouver des développeurs Linux compétents que les développeurs RTOS, les outils sont moins chers, les processus sont protégés les uns des autres, vous avez tendance à avoir une meilleure visibilité dans le système en cours d'exécution, etc.

An (mieux, IMHO) alternative à eCos est RTEMS ( http://www.rtems.com ) . Il a été autour plus longtemps et la dernière fois que j'ai vérifié, pris en charge plus que les architectures eCos. Il dispose également d'un BSP PC et fonctionne sous qemu pour l'émulation.

Autres conseils

Il n'y a aucune véritable avantage pour mettre Linux sur un ARM7 OMI; ARM7 n'a pas MMU et la protection de la mémoire est une raison principale pour utiliser un système d'exploitation tel que Linux. uClinux se déroulera sur des cibles sans MMU, mais vous avez perdu l'un des plus de raison impérieuse pour l'utilisation de Linux, et encore besoin des énormes ressources mémoire (A 4 M flash, 16 Mo de RAM serait un minimum raisonnable).

De nombreux périphériques ARM7 ne disposent pas de bus mémoire externe pour attacher beaucoup de mémoire et sur le flash de la puce et de la RAM, qui est typiquement forme 32K à 1 M en fonction du périphérique.

Linux est pas intrinsèquement « en temps réel ». Pour une capacité en temps réel, il est souvent couplé avec un noyau en temps réel, où Linux fonctionne essentiellement comme la tâche de veille, ou sur des cibles avec la capacité en tant que machine virtuelle séparée. Donc, si la réponse déterministe et rapide à des événements externes est une exigence, vous aurez besoin d'un RTOS tels que eCOS.

ecos grand en ce qu'elle a un grand écosystème d'ajouter des fonctions supplémentaires et le soutien dispositif qui rivalise avec les offres les plus commerciales. Cependant quelque chose comme FreeRTOS sont susceptibles d'être plus facile à « mettre en place », mais fournir plus qu'un planificateur de threads et des mécanismes de communication inter-processus. Des trucs comme un système de fichiers ou besoin TCP / IP à provenir de tiers (bien qu'il y ait des solutions tout aussi petites et libres appropriés pour les systèmes embarqués pour cela aussi.)

Si vous utilisez un noyau simple, tel que FreeRTOS ou uC / OS-III, vous n'aurez pas perdu trop de temps, de sorte que l'investissement est pas un inhibiteur pour utiliser quelque chose d'autre la prochaine fois. Linux d'autre part pourrait bien vous dissuader d'utiliser quelque chose de plus petit et plus étroitement ciblé la prochaine fois, et visiter les projets suivants peuvent coûter beaucoup plus cher que nécessaire juste pour soutenir votre système d'exploitation de choix.

Linux embarqué == Linux dans 99% des cas. Vous configurez simplement différemment le noyau.

une plus grande différence dans la performance est que, avec eCos, vous pouvez, en fonction de votre mise en œuvre / configuration, ont un temps de réponse attendue alors qu'avec Linux vous êtes à la merci du contrôleur d'interruption.

Linux a une base de fans beaucoup plus grand que eCos donc plus d'aide pour le développement, et il prend en charge une large gamme de CPU. En outre, selon ce que les pilotes que vous voulez, vous pouvez compiler et exécuter votre programme sur un PC fonctionnant sous Linux.

Linux peut détecter Blocages / et envoyer des réponses des blocages automatiques / redémarrages pour maintenir une haute disponibilité du système.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top