|
Ce n'est pas universellement vrai pour les projets CodeWarrior. L'adresse de départ de votre programme en mémoire flash (0xC000 dans votre cas) dépend de plusieurs facteurs :
* Microcontrôleur cible : Différents microcontrôleurs ont des cartes mémoire différentes. Le script de l'éditeur de liens au sein de votre projet CodeWarrior détermine où les différentes parties de votre programme (code, données, constantes) résideront en mémoire. 0xC000 est une adresse de départ courante pour le code dans certains systèmes embarqués, mais pas dans tous.
* Script de liaison : Ce dossier est crucial. Il définit la disposition de la mémoire. L'éditeur de liens utilise ce script pour placer les sections de votre programme (comme `.text`, `.data`, `.bss`) dans des adresses mémoire spécifiques. Si le script de l'éditeur de liens est configuré pour placer le point d'entrée du programme à 0xC000, alors c'est là qu'il ira.
* Paramètres du projet : Les paramètres du projet CodeWarrior vous permettent de spécifier diverses options d'éditeur de liens et configurations de mémoire. Ces paramètres influencent finalement la carte mémoire finale.
* Chargeur de démarrage : Si votre système cible utilise un chargeur de démarrage, le chargeur de démarrage lui-même peut occuper des adresses mémoire inférieures. Le code de l'application démarrerait alors après la fin du chargeur de démarrage.
En bref, même si 0xC000 est *une adresse de départ possible*, elle n'est pas inhérente à CodeWarrior. Vous devez examiner le script et les paramètres de l'éditeur de liens de votre projet pour confirmer l'adresse de départ réelle. Le script de l'éditeur de liens définira clairement les adresses mémoire utilisées pour les différentes sections de votre code.
|