Длина соседних регионов в команде MEMORY (линкер) - PullRequest
1 голос
/ 02 февраля 2020

Я хочу объявить несколько регионов в скрипте компоновщика, один за другим. Нужно ли уменьшить длину на единицу, чтобы избежать наложения?

MEMORY
{
region_1 :     org = 0x100,   len = 0x100 /* or len = 0xFF ? */
region_2 :     org = 0x200,   len = 0x100 /* or len = 0xFF ? */
region_3 :     org = 0x300,   len = 0x100 /* or len = 0xFF ? */
[...]
}

1 Ответ

0 голосов
/ 05 февраля 2020

Нужно ли уменьшить длину на единицу, чтобы избежать наложения?

Нет. То, что вы делаете, правильно.

Из руководства GNU Linker Разметка памяти * Раздел 1008 *:

len - это размер в байтах области

Пример:

MEMORY
{
region_1 : org = 0x10000000,   len = 1     /* 1 byte */
region_2 : org = 0x20000000,   len = 256K  /* 256 kilobytes */
region_3 : org = 0x30000000,   len = 4M    /* 4 megabytes ? */
[...]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...