Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: вопросы по elf формату
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
sifadin
Работал на SAM4LC8A
пытаюсь залить тот же проект на LS8BA
не идет
долго ли коротко ли стал читать elf формат
пытаюсь найти секцию vectоrs и начальный адрес
нашел таблицу дескрипторов
Но первый дескриптор содержит все нули
Хорошо плевать

поле name содержит что индекс в таблице строк или смещение отн файла?

как найти таблицу строк?
В дескрипторе самого файла есть поле
e_shstrndx ;

This member holds the section header table index of the entry associated with the section
name string table. If the file has no section name string table, this member holds
the value SHN_UNDEF. See ‘‘Sections’’ and ‘‘String Table’’ below for more information.

Ни хрена не смог перевести Что она содержит смещение отн начала файла?
Или что?

Сама таблица строк содержит чертову уйму имен
Это потому что Debug?
Как найти .vectors - таблицу прерываний
Golikov A.
This member holds the section header table index of the entry associated with the section
name string table. If the file has no section name string table, this member holds
the value SHN_UNDEF. See ‘‘Sections’’ and ‘‘String Table’’ below for more information.


Этот член содержи секцию "таблица указателей заголовков" связанных с секцией называемой "строковая таблица". Если в файле нет секции называемой "строковая таблица", этот член содержи значение SHN_UNDEF. Смотрите "секции" и "строковая таблицы" ниже для большей информации.

Я бы так перевел.
По сути, ИМХО, это таблица указателей, то есть в таблиц строк имя(название объекта), и в такой же ячейке этой таблицы получаете указатель на него. Если таблицы строковой нет, то тут будут ундефы...
sifadin
Цитата(Golikov A. @ Sep 15 2014, 22:24) *
This member holds the section header table index of the entry associated with the section
name string table. If the file has no section name string table, this member holds
the value SHN_UNDEF. See ‘‘Sections’’ and ‘‘String Table’’ below for more information.


Этот член содержи секцию "таблица указателей заголовков" связанных с секцией называемой "строковая таблица". Если в файле нет секции называемой "строковая таблица", этот член содержи значение SHN_UNDEF. Смотрите "секции" и "строковая таблицы" ниже для большей информации.

Я бы так перевел.
По сути, ИМХО, это таблица указателей, то есть в таблиц строк имя(название объекта), и в такой же ячейке этой таблицы получаете указатель на него. Если таблицы строковой нет, то тут будут ундефы...


А это смещение файла или сама таблица? Я чего так и не понял
Если воспринимать это как смещение отн нач файла то попадаем в середину строк...
В общем дело темное
sifadin
Цитата(Golikov A. @ Sep 15 2014, 22:24) *
This member holds the section header table index of the entry associated with the section
name string table. If the file has no section name string table, this member holds
the value SHN_UNDEF. See ‘‘Sections’’ and ‘‘String Table’’ below for more information.


Этот член содержи секцию "таблица указателей заголовков" связанных с секцией называемой "строковая таблица". Если в файле нет секции называемой "строковая таблица", этот член содержи значение SHN_UNDEF. Смотрите "секции" и "строковая таблицы" ниже для большей информации.

Я бы так перевел.
По сути, ИМХО, это таблица указателей, то есть в таблиц строк имя(название объекта), и в такой же ячейке этой таблицы получаете указатель на него. Если таблицы строковой нет, то тут будут ундефы...


А это смещение файла или сама таблица? Я чего так и не понял
Если воспринимать это как смещение отн нач файла то попадаем в середину строк...
В общем дело темное
jks
This member holds the section header table index of the entry associated with the section
name string table. If the file has no section name string table, this member holds
the value SHN_UNDEF. See ‘‘Sections’’ and ‘‘String Table’’ below for more information.

Это поле содержит индех в таблице заголовков разделов (секций) и указывает на элемент таблицы (секцию) содержащую таблицу строк.
Если файл не содержит раздел с таблицей строк, это поле равно SHN_UNDEF == 0.

CODE

// Find section headers
SectionHeaderSize = FileHeader.e_shentsize;
if (SectionHeaderSize <= 0) err.submit(2033);
uint32 SectionOffset = uint32(FileHeader.e_shoff);

for (i = 0; i < NSections; i++) {
SectionHeaders[i] = Get<TELF_SectionHeader>(SectionOffset);
SectionOffset += SectionHeaderSize;

if (SectionHeaders[i].sh_type == SHT_SYMTAB) {
// Symbol table found
Symtabi = i;
}
}

SecStringTable = uint32(SectionHeaders[FileHeader.e_shstrndx].sh_offset);
SecStringTableLen = uint32(SectionHeaders[FileHeader.e_shstrndx].sh_size);


Собственно имена разделов содержатся в таблице строк.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.