Вопросы по теме '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 просмотров

Наличие определений в скрипте компоновщика для происхождения и длины памяти
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 просмотров

Переопределение СКРЫТОЙ видимости символов с помощью скрипта компоновщика 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 просмотров

что такое «=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 просмотров

Размещение раздела .data в отдельном сегменте (шапке программы)
У меня была сложная проблема: мне нужно было получить доступ к данным инициализации .data как к отдельному сегменту для приложения Arm без операционной системы. Я смог добиться этого, используя Регион раздела вывода . Мой исходный скрипт...
13 просмотров
schedule 12.05.2023