Tout d'abord merci de partager ton "aventure". J'espère que tu iras jusqu'au bout. Néanmoins, je me demande si le projet a démarré sur un coup de tête ou si tu as déjà abordé des sous-éléments de la structure d'un sou-noyau.
J'ai regardé la description sommaire de la carte Keil, effectivement ce n'est pas très costaud mais je travaille sur de l'ARM7TDMI avec une licence Keil, et j'ai commencé avec la carte d'éval MCB2300 pour ça. Ce n'est pas mon choix, j'aurai préféré prendre du Cortex avec quelques instructions DSP. Malgré tout nous faisons de la régulation à 100 us en virgule flottante avec ça !
J'utilise tous les outils KEIL v4 (IDE, toolchain, debugger, uNoyau RTX, stack réseau) donc je suis un peu "conditionné", ta démarche utilise une alternative qui m'intéresse :). Je pense qu'en terme de puissance ce cortex est comparable à l'ARM7 mais malgré tout j'ai des limitations :
- génération thumb, l'ARM7 c'est thumb1 et très pénalisant en terme de perf
- pas de couche de configuration comme STMCube (jamais utilisé) => on a utilisé le wizard Keil pour une configuration "user friendly"
- pas de lib "driver" (CMSIS,etc...) => tout fait nous même, et là, bien obligé de lire à fond le user manual du uC :)
- niveau debug et profiling c'est très limité (deux point d'arrêts).
J'ai rapidement survolé la structure du code :
- code startup absent ?
- makefile : génération "thumb", apparement du "Thumb-2" donc tu ne devrais pas être pénalisé en terme de performance, mais ça serait intéressant de pouvoir constater la différence avec des instructions ARM.
- peut-être pourrais tu également comparer le comportement avec une génération par RVDS (Keil/Arm).
Pour l'expérience mais aussi en terme de pédagogie je pense qu'il est intéressant d'aborder l'évaluation de performances d'un uC (temps de latence, consommation CPU, empreinte mémoire flash et RAM). C'est toujours les questions que l'on se pose lorsque l'on intègre un uNoyau, et même tout autre type de bibliothèque.
```
# bon courage.
Posté par Selso (site web personnel) . En réponse à la dépêche Écrire son système d'exploitation - Partie 1 : préparer le terrain. Évalué à 2.
bonjour,
Tout d'abord merci de partager ton "aventure". J'espère que tu iras jusqu'au bout. Néanmoins, je me demande si le projet a démarré sur un coup de tête ou si tu as déjà abordé des sous-éléments de la structure d'un sou-noyau.
J'ai regardé la description sommaire de la carte Keil, effectivement ce n'est pas très costaud mais je travaille sur de l'ARM7TDMI avec une licence Keil, et j'ai commencé avec la carte d'éval MCB2300 pour ça. Ce n'est pas mon choix, j'aurai préféré prendre du Cortex avec quelques instructions DSP. Malgré tout nous faisons de la régulation à 100 us en virgule flottante avec ça !
J'utilise tous les outils KEIL v4 (IDE, toolchain, debugger, uNoyau RTX, stack réseau) donc je suis un peu "conditionné", ta démarche utilise une alternative qui m'intéresse :). Je pense qu'en terme de puissance ce cortex est comparable à l'ARM7 mais malgré tout j'ai des limitations :
- génération thumb, l'ARM7 c'est thumb1 et très pénalisant en terme de perf
- pas de couche de configuration comme STMCube (jamais utilisé) => on a utilisé le wizard Keil pour une configuration "user friendly"
- pas de lib "driver" (CMSIS,etc...) => tout fait nous même, et là, bien obligé de lire à fond le user manual du uC :)
- niveau debug et profiling c'est très limité (deux point d'arrêts).
J'ai rapidement survolé la structure du code :
- code startup absent ?
- makefile : génération "thumb", apparement du "Thumb-2" donc tu ne devrais pas être pénalisé en terme de performance, mais ça serait intéressant de pouvoir constater la différence avec des instructions ARM.
- peut-être pourrais tu également comparer le comportement avec une génération par RVDS (Keil/Arm).
Pour l'expérience mais aussi en terme de pédagogie je pense qu'il est intéressant d'aborder l'évaluation de performances d'un uC (temps de latence, consommation CPU, empreinte mémoire flash et RAM). C'est toujours les questions que l'on se pose lorsque l'on intègre un uNoyau, et même tout autre type de bibliothèque.
```