Dites que je suis en train de développer un firmware pour un thermostat intelligent chez quelqu'un. L'implémentation actuelle est une solution multithread fonctionnant sur un processeur single core (abandonnons simplement Cortex-M car c'est ce que je connais) et j'utilise un RTOS standard.Développement de microprogrammes sur processeur monocœur vs multicœur
Si je prends ce projet et que je le déplace/le transfère vers un processeur dual/multi-core, comment cela fonctionne-t-il? Est-ce que je dis juste au RTOS quels threads devraient fonctionner sur chaque noyau et le RTOS gère tout à partir de là? Y a-t-il une certaine quantité de refactoring qui doit être faite sur chaque thread afin qu'il fonctionne plus efficacement dans un environnement multi-core? Ou le RTOS ne prend-il que le thread qui est dans l'état READY et exécute cette tâche sur un noyau avec du temps libre disponible?
Sans réplique, je dirais. Certes, cela dépend entièrement du support et des capacités du planificateur ("RTOS") que vous utilisez. Avez-vous regardé dans la documentation pour les "RTOS" que vous envisageriez? – JimmyB
En outre, une application «thermostat intelligent» ne semble pas justifier l'utilisation d'un multi-core en premier lieu. – JimmyB
@JimmyB Compte tenu du prix et de la disponibilité des systèmes sur puce multi-core, je ne pense pas qu'il y ait beaucoup de "justification" nécessaire. Vous pouvez en obtenir un pour 10 $ en quantité, DRAM inclus. Pensez au thermostat qui fonctionne sur une plate-forme comme Raspberry Pi. –