Команда сценария компоновщика AURIX TriCore REGION_MAP

Я адаптирую некоторые скрипты компоновщика из довольно новых микроконтроллеров AURIX TriCore.

Есть команда, которую я совсем не понимаю, и документация [0] не очень полезна.

введите здесь описание изображения

Может кто-нибудь сказать мне в принципе, что там происходит? Что подразумевается под «глобальным адресом» и что подразумевается под «основным локальным адресом»?

[0] INFINEON TECHNOLOGIES AG: TriCore Development Platform, 2015. — Руководство


person j35t3r    schedule 08.10.2017    source источник


Ответы (1)


В AURIX у вас есть несколько ядер. Каждое ядро ​​имеет свою собственную оперативную память для данных и программ, называемую DSPR и PSPR соответственно.

Доступ к каждому из них можно получить, используя любой из двух адресов:

Глобальный адрес. Этот диапазон адресов будет относиться к одной и той же памяти независимо от ядра, на котором выполняется код.

Локальный адрес. Этот адрес будет относиться к оперативной памяти ядра и будет меняться в зависимости от ядра, на котором выполняется код. Локальный адрес будет иметь доступ к локальной оперативной памяти ядра.

Например: DSPR CPU0 начинается с адреса 0x70000000 и имеет размер 112 КБ. DSPR CPU1 начинается с адреса 0x60000000 и имеет размер 120 КБ.

В коде, если вы используете 0x70000000, это будет относиться к CPU0 DSPR независимо от того, осуществляется ли доступ с CPU0 или CPU1. Это называется Глобальный адрес.

Вместо этого, если вы используете 0xD0000000 в своем коде, он получит доступ к 0x70000000, если код выполняется из CPU0, а если он выполняется из CPU1, он получит доступ к 0x60000000. Это называется Локальный адрес.

Такое средство предоставляется для того, чтобы сделать код переносимым по отношению к процессорам.

Для DSPR локальный адрес начинается с 0xD0000000 Для PSPR локальный адрес начинается с 0xC0000000

Прошу прощения за мои лингвистические навыки. Я не являюсь носителем английского языка. Пожалуйста, прокомментируйте, если нужны дополнительные разъяснения или что-то неясно.

person kryptoknight    schedule 19.02.2018