Установка констант в несопоставленных сегментах памяти в IDA Pro - PullRequest
0 голосов
/ 09 января 2019

извиняюсь, если раньше об этом спрашивали и отвечали, но я нигде не могу найти ответ.

Я переворачиваю некоторые прошивки, которые используют Cortex M0 для небольшого носимого устройства. В некоторых случаях микропрограмма будет выполнять некоторые операции с сегментами памяти, которые не отображаются, например:

v2 = (unsigned int)MEMORY[0x50001206] << 13;

0x50001206 на самом деле является управляющим регистром для периферийного устройства на самом устройстве, но вместо того, чтобы указывать адреса, я бы предпочел установить символическую константу, чтобы облегчить мою жизнь. Например:

v2 = (unsigned int) PERIPH_CTRL_REG << 13;

Хотя я не могу заставить его работать (если это вообще возможно). Мне лучше создать сегмент памяти и переименовать управляющий регистр в этом сегменте?

...