В 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