Question

Je voudrais pouvoir disposer d’un système d’exploitation de base et d’un système de fichiers de base pour le MSP430 haut de gamme, probablement le MSP430F5438 . Je sais que je peux utiliser quelque chose comme FreeRTOS , IAR PowerPac ou Micrium pour nommer quelques-unes des options pour le système d’exploitation et le système de fichiers. Cependant, j'aimerais pouvoir également charger des petites applets ou des threads à une date ultérieure, obtenant idéalement ce code supplémentaire du système de fichiers. Mon objectif est de ne pas avoir à reflasher tout le périphérique pour modifier ou implémenter une fonction sur le périphérique intégré. Je ne sais pas trop où aller pour mettre en œuvre cette capacité ou si je dois passer à un autre processeur, tel qu'un bras.

Était-ce utile?

La solution

Le MSP430 est un excellent contrôleur, mais si vous souhaitez exécuter un système d'exploitation et charger des applications sans les graver au format Flash, vous devriez probablement passer à ARM (une autre excellente plate-forme avec de nombreux microcontrôleurs basés sur ARM).

Autres conseils

Je suis sûr que vous devrez toujours reflasher le MSP 430 chaque fois que vous souhaitez modifier le code du programme. Bien sûr, un chargeur de démarrage peut mettre à jour le flash lui-même. Vous souhaitez donc créer un programme qui fonctionne comme un chargeur de démarrage mais ne met à jour que certaines parties de la mémoire du programme, c’est-à-dire où vous voulez que vos applets soient placées. Et ensuite, vous devrez savoir quel est l'emplacement mémoire de chaque zone du flash où se trouve le code de votre applet afin de pouvoir l'appeler.

L'exécution du code dans ces applets vous poserait également un problème. Si vous ne souhaitez utiliser qu'un seul emplacement de mémoire, vous pouvez les compiler en gardant cela à l'esprit. Si vous voulez plusieurs applets différents pouvant être exécutés à partir de n'importe quel «espace applet» en mémoire, vous pourriez avoir des problèmes car ils ne sauront pas quelle adresse ils commencent.

Et bien sûr, aucune de ces applets ne pourra être très volumineuse. Quelle place occupera votre RTOS?

Le contrôleur Msp430 est pris en charge par plusieurs systèmes d’exploitation pouvant fournir les fonctionnalités souhaitées. Certains d'entre eux offrent une programmation en direct (OTA). Certains fournissent des systèmes de fichiers (basés sur Flash). Toutefois, cela signifie souvent que vous utiliserez de la mémoire flash pour stocker le programme téléchargé.

Voici quelques systèmes d'exploitation actifs prenant en charge msp430:

Contiki - Système d'exploitation pour "Internet des objets". Fournit des proto-threads.

MansOS - un système d'exploitation de type Unix qui prend en charge les threads et l'OTA pour les périphériques msp430.

Flash
Sur un msp430, vous pouvez effacer / réécrire le flash intégré par morceaux de 512 octets (le flash utilisateur peut gérer des morceaux plus petits).
Ainsi, votre bootloader / stable-RTOS pourrait reprogrammer la puce avec cette "application".
Il est un peu difficile de rediriger les interruptions, mais cela peut être fait avec un saut de redirection à partir du paramètre "real". table de vecteur à une table de vecteur d'application.

Appel stable / RTOS
Il est également possible d'appeler des fonctions de la partie stable à partir des applications. Vous pouvez créer dans la partie stable une table de saut fixe pour chaque fonction, afin que l'application sache comment appeler la fonction, même si vous construisez une autre version stable / RTOS.

RAM
Si vous ne permettez qu'une seule application, c'est facile.
Vous devez réserver de la RAM pour votre RTOS stable, et le reste de la RAM peut être utilisé par l'application.

Mais résoudre le problème de placement de vos variables peut être délicat si vous souhaitez utiliser plusieurs applications.
Pour réserver de la RAM à une application, je préférerais une allocation dynamique, mais même dans ce cas, vous avez besoin d’un pointeur pour les blocs alloués dynamiquement. Ces pointeurs sont fixes ou vos applications utilisent des variables de la pile.

Certains FRAM msp430 peuvent également être consultés. Ce n'est toujours pas beaucoup de mémoire, cependant.

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