2017-10-08 22 views
0

J'adapte certains scripts de liens des nouveaux MCU AURIX TriCore.Commande de script de liaison AURIX TriCore "REGION_MAP"

Il y a une commande que je ne comprends pas du tout et la documentation [0] n'est pas vraiment utile.

enter image description here

quelqu'un peut me dire en principe, ce qui se passe là-bas? Qu'entend-on par "adresse globale" et que signifie "adresse locale principale"?

[0] INFINEON TECHNOLOGIES AG: TriCore plateforme de développement, 2015. - Manuel

Répondre

0

En Aurix, vous avez plusieurs noyau de cores.Each a ses propres données et banalisés RAM programme appelé DSPR et PSPR respectivement.

Chacun d'eux peut être consulté en utilisant l'une des deux adresses:

Adresse globale - Cette plage d'adresses se réfère à la même mémoire quel que soit le noyau sur lequel le code est exécuté. Adresse locale - Cette adresse renverrait aux RAM spécifiques au noyau et changerait en fonction du noyau sur lequel le code est exécuté. L'adresse locale accèdera aux RAM locales du bloc-notes.

Par exemple: CPU0 DSPR commence à 0x70000000 et a une taille de 112KB CPU1 DSPR commence à 0x60000000 et a une taille de 120KB

Dans le code si vous utilisez 0x70000000, il se réfère à CPU0 DSPR quel que soit de savoir si l'accès provient de CPU0 ou CPU1. Ceci est appelé Adresse globale. À la place, si vous utilisez 0xD0000000 dans votre code, il accèdera à 0x70000000 si le code est exécuté à partir de CPU0 et s'il est exécuté à partir de CPU1, il accèdera à 0x60000000. Ceci est appelé Adresse locale.

Une telle facilité est prévue pour rendre le code portable par rapport aux CPU.

Pour DSPRs, l'adresse locale commence à 0xD0000000 Pour PSPRs, l'adresse locale commence à 0xC0000000

Pardon mes skills.I linguistiques ne suis pas un commentaire natif anglais speaker.Please si des éclaircissements supplémentaires sont nécessaires ou quelque chose est ambigu.