En ce qui concerne le code startup (je pense que tu parles de la mise en place des stacks), il n'y en a tout simplement pas besoin dans un Cortex-M. En fait ARM a fait un effort pour que tout (ou presque) puisse être fait en C.
Tu verras donc que le vecteur de reset (cpu/vectors.c) contient l'adresse de base de la stack à l'adresse 0 et l'adresse du point d'entrée en C à l'offset 0x4. Avec ça, le processeur charge le stack pointer et saute au point d'entrée directement au reset. Donc pas besoin de glue en assembleur pour le démarrage contrairement aux ARM7/ARM9 !
[^] # Re: bon courage.
Posté par maxb . En réponse à la dépêche Écrire son système d'exploitation - Partie 1 : préparer le terrain. Évalué à 2.
En ce qui concerne le code startup (je pense que tu parles de la mise en place des stacks), il n'y en a tout simplement pas besoin dans un Cortex-M. En fait ARM a fait un effort pour que tout (ou presque) puisse être fait en C.
Tu verras donc que le vecteur de reset (cpu/vectors.c) contient l'adresse de base de la stack à l'adresse 0 et l'adresse du point d'entrée en C à l'offset 0x4. Avec ça, le processeur charge le stack pointer et saute au point d'entrée directement au reset. Donc pas besoin de glue en assembleur pour le démarrage contrairement aux ARM7/ARM9 !