2012-02-02 3 views
1

Je suis un étudiant diplômé et j'essaie de proposer un projet pour un cours de test avancé.Test unitaire pour uC/OS - II

Puisque je suis un mec intégré, je veux tester quelque chose de difficile lié aux systèmes embarqués.

uC/OS-II est un système d'exploitation Open Source très léger pour les systèmes embarqués. Je veux donc proposer le test pour mon projet de cours.

Mais je ne connais pas la faisabilité de tester uC/OS. Est-ce faisable? J'utilise Blackfin et SHARC (sont d'Analog Devices) maintenant et ils sont compatibles avec uC/OS (a déclaré sur le site Web de l'UC/OS). En termes d'outils de test, je pense que CUnit pourrait fonctionner. Nous avons également un outil de test d'unité appel EmbeddedUnit, qui fonctionne sur VDSP (environnement de développement pour les processeurs Analog Devices). Je n'ai aucune expérience avec uC/OS, mais je crois comprendre que nous devrions le compiler, puis inclure les fichiers .obj et les fichiers d'en-tête dans le projet, puis utiliser et tester les fonctions dans uC/OS.

Ai-je raison?

+3

uCOS est un petit système d'exploitation que vous pouvez utiliser dans presque n'importe quel système. Mais ce que vous essayez de tester n'est pas clair. Voulez-vous tester l'OS lui-même? Si oui, quels aspects: planification, minuteries, priorités, files d'attente, sémaphores? Ou essayez-vous d'avoir un cadre pour tester le code de l'application qui fonctionne sur uCOS? – TJD

+1

Strictement parlant, uCOS-II n'est pas open source (au moins la dernière fois que j'ai vérifié). La source est librement disponible à des fins éducatives, mais l'utilisation commerciale nécessite une licence payée de Micrium. Cela pourrait ne pas être un problème pour votre usage, mais pourrait être pour certains lecteurs. –

Répondre

2

Est-ce faisable? Oui, ça l'est. Nous avions un projet qui devait être portable dans de nombreux environnements différents: uCos-II, Linux et VxWorks. Pour ce faire, nous avons écrit une couche d'abstraction simple qui nous a donné une API commune sur toutes les plates-formes aux fonctionnalités du système d'exploitation que nous avons choisi d'activer. Nous avons ensuite écrit un test unitaire pour tester la couche d'abstraction, et avons eu un test élémentaire pour chaque fonctionnalité du système d'exploitation que nous voulions tester (files d'attente de messages, sémaphores, drapeaux d'événements, etc.). Nous avons utilisé cela pour vérifier que notre couche d'abstraction était fonctionnelle et fonctionnait sur les 3 environnements hôtes.

HMU-II est livré sous c code très propre qui peut facilement être utilisé dans un certain nombre d'outils tels que la couverture de code, etc.

Bonne chance.