Вопросы по теме 'linker-scripts'
Как принудительно связать символ из определенной библиотеки?
При связывании исполняемого файла в Linux я получаю ошибку «неопределенная ссылка», например:
undefined reference to `symbol@SOMELIB_1.0'
У меня нет контроля над 'SOMELIB', но у меня есть символ symbol в одной из моих общих библиотек....
603 просмотров
schedule
19.05.2022
Как использовать команду INCLUDE в скрипте компоновщика ld
У меня есть два скрипта компоновщика: common.ld , который определяет некоторые символы, и app.ld , который позиционирует разделы, используя эти определения.
Если я просто свяжу два файла вместе и передам их ld (через gcc), это сработает. Если я...
11482 просмотров
schedule
28.04.2023
Скрипты компоновщика: стратегии отладки?
Я пытаюсь отладить возникшую у меня проблему компоновщика при написании ядра.
Проблема в том, что у меня есть переменная SCAN_CODE_MAPPING , которую я не могу использовать - она кажется пустой или что-то в этом роде. Я могу исправить это,...
3832 просмотров
schedule
06.01.2023
Можно ли передать аргументы командной строки в GNU LD, чтобы создать раздел, определить размер и поместить его в определенную память?
Я хочу создать раздел в оперативной памяти, выделить определенный размер и разместить его по адресу? Можно ли выполнить все эти операции без передачи «файла» сценария компоновщика или без изменения существующего сценария компоновщика?
.myspace :...
1725 просмотров
schedule
27.03.2022
ESP8266: Что я могу сделать, чтобы раздел «.text» не помещался в область «iram1_0_seg»?
Каковы общие меры против области .text, не вписывающейся в «iram1_0_seg» при связывании для ESP8266 с использованием цепочки инструментов на основе xtensa GCC?
Я предполагаю, что оперативной памяти ESP8266 недостаточно для выполнения определенных...
5564 просмотров
schedule
07.04.2023
Можно ли указать GCC Linker в файле сценария компоновщика, какую память должен использовать раздел?
Я использую среду разработки на основе GCC (версия 5.3.0). Можно ли сказать компоновщику, что конкретный раздел должен использовать память1 или память2 в зависимости от размера раздела?
Пример для лучшего понимания:
MEMORY
{
....
.......
615 просмотров
schedule
08.05.2023
Все ли RAM-разделы используются в этом компоновщике микроконтроллера STM32H743 (Cortex-M7)?
Я знаю, что RAM-память в последних микроконтроллерах STM32 содержит несколько разделов с заметными перепадами скоростей. Вот почему я пытаюсь разобраться в линкерных скриптах для этих устройств (примечание: набор инструментов arm-none-eabi-gcc ). К...
3028 просмотров
schedule
28.05.2022
Наличие определений в скрипте компоновщика для происхождения и длины памяти
MEMORY
{
RAM (rxai!w) : ORIGIN = 0x80000000 LENGTH = 34K
}
Допустим, у меня есть раздел в скрипте компоновщика, как указано выше. Могу ли я определить для 0x80000000 и 34K. Я хочу, чтобы это выглядело так,
MEMORY
{...
1248 просмотров
schedule
04.08.2023
Держите родаты рядом с функцией, которая их создала
Я пытаюсь сделать так, чтобы местоположение раздела .rodata оставалось с соответствующим расположением памяти функций. Я использую компилятор/компоновщик GNU, чистое железо, plain-jane c, с микроконтроллером STM32L4A6.
У меня есть специальная...
275 просмотров
schedule
01.07.2023
Не удается определить __BOOTLOADER для сценария компоновщика PIC24FJ128GC006
Я делаю загрузчик USB для PIC24FJ128GC006, и я собираюсь сопоставить часть флэш-памяти для загрузчика и кода приложения. Я добавил сценарий компоновщика из загрузчика USB-устройства Microchip MLA v2015_08 в свой файл кода PIC24FJ. В файле...
68 просмотров
schedule
16.12.2022
Переопределение СКРЫТОЙ видимости символов с помощью скрипта компоновщика gnu ld
TL;DR : Могу ли я использовать ld компоновщик GNU --version-script или какой-либо другой метод, чтобы повысить видимость выбранных символов с hidden (из-за -fvisibility=hidden или явного __attribute__ ) до default видимости, чтобы они были...
609 просмотров
schedule
19.07.2022
Компоновщик GNU - Как заполнить неиспользуемое пространство памяти
Некоторые разделы в моей программе расположены в разных местах памяти, и есть несколько неиспользуемых участков памяти. Следующее - часть объектного файла моей программы:
a0000128: 20cf8f93 addi t6,t6,524 # a0000330...
203 просмотров
schedule
15.01.2022
Права доступа в линкерных скриптах RISC-V
При программировании микроконтроллеров на базе ARM я привык видеть сегмент MEMORY{..} в скрипте компоновщика следующим образом:
MEMORY
{
FLASH (rx): ORIGIN = 0x08000000, LENGTH = 128K
RAM (xrw): ORIGIN = 0x20000000, LENGTH = 32K
}...
137 просмотров
schedule
20.11.2022
что такое «=0» после раздела в скрипте компоновщика?
Кажется, я знал это, но забыл. Что означает знак '=0' после секции в скрипте компоновщика?
.text :
{
*bootcode.o(boot)
*vectors.o(vectors)
*(.text) /* remainder of code */
} =0
73 просмотров
schedule
16.06.2022
STM32F7 VMA и LMA с флэш-памятью AXIM / ITCM
Я пишу базовый C-код для моей платы stm32f767zi (используя Keil uVision IDE, если это тоже имеет значение), и я хотел бы, чтобы моя векторная таблица (и в какой-то момент все .text тоже) имела LMA во флеш-памяти через шину AXIM и VMA во флеш-памяти...
34 просмотров
schedule
25.02.2024
Размещение раздела .data в отдельном сегменте (шапке программы)
У меня была сложная проблема: мне нужно было получить доступ к данным инициализации .data как к отдельному сегменту для приложения Arm без операционной системы.
Я смог добиться этого, используя Регион раздела вывода .
Мой исходный скрипт...
13 просмотров
schedule
12.05.2023