Перейти к содержанию
    

Ага, а как тогда....

C точностью до наоборот, в этом случае расположите указатель в самом начале загружаемого кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

C точностью до наоборот, в этом случае расположите указатель в самом начале загружаемого кода.

 

В моем случае уже не стоит этим заниматься, два огромных проекта написано. Нет смысла их переделывать заново.

Чревато новыми ошибками.

 

 

Как-то так. Выделяете регион памяти(CONFIG), потом складываете в него нужные сегменты (*.config)
/* memory layout */

 

Вроде бы прояснилось. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Генерирование отладочной информации в коде процессора - подскажите, что это такое и с чем его едят?

Где можно почитать об этом (строчки в скрипте компоновщика)?

 /* 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) }

Изменено пользователем Vitaliy_ARM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Генерирование отладочной информации в коде процессора - подскажите, что это такое и с чем его едят?

Где можно почитать об этом (строчки в скрипте компоновщика)?

 /* 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) }

Это отрывок скрипта линкера. Он указывает, куда линкер будет ложить отладочную информацию в исполняемый файл.

Генерируется она компилятором, при использовании ключа -g с опциями. Например (варианты)

gcc -g main .o main.c
gcc -g3 main .o main.c
gcc -ggdb main .o main.c
gcc -gdwarf-2 main .o main.c

Линкуется потом обычным способом (линкеру не имеет особых флагов для отладочной информации).

После этого можно спокойно отлаживать программу с помощью gdb.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это отрывок скрипта линкера. Он указывает, куда линкер будет ложить отладочную информацию в исполняемый файл.

Генерируется она компилятором, при использовании ключа -g с опциями. Например (варианты)

gcc -g main .o main.c
gcc -g3 main .o main.c
gcc -ggdb main .o main.c
gcc -gdwarf-2 main .o main.c

Линкуется потом обычным способом (линкеру не имеет особых флагов для отладочной информации).

После этого можно спокойно отлаживать программу с помощью gdb.

 

Да, уже разобрался. Есть еще некоторые непонятности.

Как я понимаю OpenOCD уже научился поддерживать J-Link и еще кучу всяких Jtag. Но для этого надо ли его пересобрать? Кто-нибудь пользуется связкой Eclipse+GCC+OpenOCD+J-Link?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как я понимаю OpenOCD уже научился поддерживать J-Link и еще кучу всяких Jtag. Но для этого надо ли его пересобрать? Кто-нибудь пользуется связкой Eclipse+GCC+OpenOCD+J-Link?

ну, пока непонятно.. мой опыт с OpenOCD + MT-link закончился вот чем: http://electronix.ru/forum/index.php?showtopic=58123

и трудно понять что не так - толи VID&PID не распознаёт/не нравится - толи еще что не так.. не было времени после этого разбираться

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...