Я новичок в компиляторе GNU.Ссылка на файл сценария компоновщика на исходный код
У меня есть исходный код кода C, который содержит некоторые структуры и переменные, в которых мне нужно разместить определенные переменные в определенных местах.
Итак, я написал файл сценария компоновщика и использовал __ attribute__("SECTION")
при описании переменной в исходном коде C.
Я использую компилятор GNU (cygwin) для компиляции исходного кода и создания файла .hex с использованием опции -objcopy
, но я не получаю, как связать файл сценария компоновщика в компиляции, чтобы соответственно переместить переменные.
Я прикрепляю файл сценария компоновщика и исходный файл C для ссылки.
Пожалуйста, помогите мне связать файл сценария компоновщика с моим исходным кодом, создав файл .hex с помощью GNU.
/*linker script file*/
/*defining memory regions*/
MEMORY
{
base_table_ram : org = 0x00700000, len = 0x00000100 /*base table area for BASE table*/
mem2 : org =0x00800200, len = 0x00000300 /* other structure variables*/
}
/*Sections directive definitions*/
SECTIONS
{
BASE_TABLE : { } > base_table_ram
GROUP :
{
.text : { } { *(SEG_HEADER) }
.data : { } { *(SEG_HEADER) }
.bss : { } { *(SEG_HEADER) }
} > mem2
}
С код:
const UINT8 un8_Offset_1 __attribute__((section("BASE_TABLE"))) = 0x1A;
const UINT8 un8_Offset_2 __attribute__((section("BASE_TABLE"))) = 0x2A;
const UINT8 un8_Offset_3 __attribute__((section("BASE_TABLE"))) = 0x3A;
const UINT8 un8_Offset_4 __attribute__((section("BASE_TABLE"))) = 0x4A;
const UINT8 un8_Offset_5 __attribute__((section("BASE_TABLE"))) = 0x5A;
const UINT8 un8_Offset_6 __attribute__((section("SEG_HEADER"))) = 0x6A;
Мое намерение состоит в том, чтобы поместить переменные раздела «BASE_TABLE» по адресу, определенному I файл компоновщик сценария, а остальные переменные на «SEG_HEADER» определены в файл сценария компоновщика выше.
Но после компиляции, когда я смотрю в .hex-файл, переменные раздела подразделяются на разные шестнадцатеричные записи, расположенные по адресу 0x00, а не те, которые указаны в файле сценария компоновщика.
Пожалуйста, помогите мне связать файл сценария компоновщика с исходным кодом.
Есть ли какие-либо параметры командной строки для связывания файла сценария компоновщика, если какая-либо информация предоставит мне информацию о том, как использовать параметры.
Заранее благодарен,
SureshDN.