Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: дополнительные секции в ld-скрипте: не распознаются gdb
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
Атмег
Eclipse+yagarto+j-link, отладка проходит нормально, пока не использую собственную секцию в линкер-скрипте, она мне нужна для буферов dma.
Если размещаю что нибудь в (section(".nocache")), дебаггер пишет No symbol table is loaded, то есть вижу только дизассемблер, не ставятся брейкпойнты и т.п.
Поделитесь опытом... Или идеями..
AHTOXA
Скрипт покажите.
Атмег
CODE

OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(entry)

MEMORY
{
//sram (W!RX) : ORIGIN = 0x300000, LENGTH = 80K
sram_1 (W!RX) : ORIGIN = 0x300000, LENGTH = 0x10000
sdram (W!RX) : ORIGIN = 0x20000000, LENGTH = 32M
sdram_nocache (W!RX) : ORIGIN = 0x22000000, LENGTH = 32M
}

SECTIONS
{
.fixed :
{
. = ALIGN(4);
_sfixed = .;
*(.text*)
*(.glue_7)
*(.glue_7t)
*(.rodata*)
*(.data)
. = ALIGN(4);
_efixed = .;
} > sdram

.prerelocate : AT (_efixed)
{
. = ALIGN(4);
_sprerelocate = .;
. = ALIGN(4);
_eprerelocate = .;
}

.postrelocate : AT (_efixed + SIZEOF(.prerelocate))
{
. = ALIGN(4);
_spostrelocate = .;
*(.vectors)
*(.ramfunc)
. = ALIGN(4);

_epostrelocate = .;
} > sram_1

.bss (NOLOAD) :
{
_szero = .;
*(.bss)
_ezero = .;
} > sdram

.nocache (NOLOAD) :
{
*(.nocache)
} > sdram_nocache

_sstack = 0x22000000;
}
end = .;



Буферы объявляю с __attribute__((section(".nocache"))).
Верхние 16k sram использую под таблицу трансляции, поэтому доступную sram_1 ограничил до 64k.

Речь именно об отладке, само по себе оно работает с этой секцией..
klen
а версия gdb какая, мож посвежее попробывать
AHTOXA
Цитата(Атмег @ Aug 9 2010, 22:11) *
Речь именно об отладке, само по себе оно работает с этой секцией..


Криминала вроде не вижу. Но не вижу и положенных отладочных секций в скрипте. Попробуйте добавить в конец скрипта что-то вроде
Код
/* Stabs debugging sections.  */
    .stab          0 : { *(.stab) }
    .stabstr       0 : { *(.stabstr) }
    .stab.excl     0 : { *(.stab.excl) }
    .stab.exclstr  0 : { *(.stab.exclstr) }
    .stab.index    0 : { *(.stab.index) }
    .stab.indexstr 0 : { *(.stab.indexstr) }
    .comment       0 : { *(.comment) }
/*
* DWARF debug sections.
* Symbols in the DWARF debugging sections are relative to the beginning
* of the section so we begin them at 0.
*/

/* DWARF 1 */
    .debug          0 : { *(.debug) }
    .line           0 : { *(.line) }
/* GNU DWARF 1 extensions */
    .debug_srcinfo  0 : { *(.debug_srcinfo) }
    .debug_sfnames  0 : { *(.debug_sfnames) }
/* DWARF 1.1 and DWARF 2 */
    .debug_aranges  0 : { *(.debug_aranges) }
    .debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */
    .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
    .debug_abbrev   0 : { *(.debug_abbrev) }
    .debug_line     0 : { *(.debug_line) }
    .debug_frame    0 : { *(.debug_frame) }
    .debug_str      0 : { *(.debug_str) }
    .debug_loc      0 : { *(.debug_loc) }
    .debug_macinfo  0 : { *(.debug_macinfo) }
/* SGI/MIPS DWARF 2 extensions */
    .debug_weaknames 0 : { *(.debug_weaknames) }
    .debug_funcnames 0 : { *(.debug_funcnames) }
    .debug_typenames 0 : { *(.debug_typenames) }
    .debug_varnames  0 : { *(.debug_varnames) }
Атмег
Версия gdb 6.8.50.20080308-cvs, попробовал 7.1 - то же самое(

Отладочные секции добавил, но разницы нет, проблема осталась sad.gif
Бинарники сравнил по содержимому, они практически идентичны (наверно эти секции игнорируются?).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.