Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: смиксовать сишный код с листингом
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
Ash_snz
Успешно начали использовать KGP sm.gif Спасибо большое - работает!

Один вопрос - с помощью каких ключей можно смиксовать сишный код с листингом?

Проект состоит из ассемблерных частей и сишных, видел ключи у objdump(кажется /пишу просто из дома, не могу посмотреть/) которые миксуют итоговый ассемблерный листинг всей проги с С источником (как я понял) -> заставить работать не смог sad.gif
А было бы очень удобно не мучаться переводить Сишный код в асс, дабы понять где сейчас прога отрабатывает...
Поможите, кто чем может smile3046.gif
klen
Цитата(Ash_snz @ May 12 2011, 21:03) *
Поможите, кто чем может smile3046.gif

да поможем... тока непонятно че нада.. компиллер и так при налиичии отладочных ключей все складывает в elf бинарник. понятно что вы хотите видеть скод и асм, непонятно где? если просто хотите чтоб при компиляции генерился листинг то -Wa,-adhlns=ИМЯ_ФАЛА_ЛИСТИНГА вам поможет, если хотите под отладчико это видеть - это вопрос к отладчику - вернее его отсутствие, он это и без Вас деалет если то что он отлаживает собрано опятже с отладочными ключами.

Цитата(Ash_snz)
видел ключи у objdump ....... заставить работать не смог

видимо нада еще сделать подход к снаряду, потренироватся..
MrYuran
Не забыть ещё ключик
CFLAGS += -gdwarf-2
Иначе отладочная информация не включится в объектники и все остальные потуги бессмысленны
Ash_snz
Необходим именно итоговый листинг с сишными вставками. Отработка идет на живом макете при отсутствии отладчиков, потому просмотр адресов обращения к пзу и сличение с листингом.
Всем спасибо за помощь, убежал к снаряду sm.gif
AHTOXA
objdump -dStC
Ash_snz
Цитата(klen @ May 13 2011, 13:03) *
-Wa,-adhlns=ИМЯ_ФАЛА_ЛИСТИНГА
Этот вариант никак не хочет работать. ругатеся, что -adhlns он в глаза не видел и знать не знает.

Цитата(MrYuran @ May 13 2011, 15:21) *
Не забыть ещё ключик
CFLAGS += -gdwarf-2
Иначе отладочная информация не включится в объектники и все остальные потуги бессмысленны
Этот вариант заработал!
Спасибо sm.gif

Еще вопрос: С помощью какого ключа можно получить информацию о количестве ОЗУ, которое понадобилось для работы программы?
Прочитал в одной книжке про -dm, но именно с "m" работать не хочет(другие дампы делает). В книге была прекрасно описана эта возможность и даже показаны результаты, но, блин, без того - как реализовать...


зы никто не знает как создать глобальный указатель? никак не хочет...
IgorKossak
Цитата(Ash_snz @ May 19 2011, 10:39) *
С помощью какого ключа можно получить информацию о количестве ОЗУ, которое понадобилось для работы программы?

size -x -A outfile.elf
Ash_snz
показывает размер секций. хм... вот только у меня большая частть программы в .text... или это все таки занимаемое в ОЗУ?
demiurg_spb
Применительно AVR, но всё же:
Код
Device: atmega324pa
Program:    3584 bytes (10.9% Full) (.text + .data + .bootloader)
Data:        617 bytes (30.1% Full) (.data + .bss + .noinit)

.text - это память программ (ПЗУ в Вашем случае)

http://avr-libc.narod.ru/mem_sections.html
MrYuran
Цитата(Ash_snz @ May 19 2011, 11:39) *
Еще вопрос: С помощью какого ключа можно получить информацию о количестве ОЗУ, которое понадобилось для работы программы?

А это никаким ключом не получится.
В лучшем случае в .data отсветятся статически размещённые переменные.
Ash_snz
Цитата(demiurg_spb @ May 23 2011, 16:40) *
Применительно AVR, но всё же:
Код
Device: atmega324pa
Program:    3584 bytes (10.9% Full) (.text + .data + .bootloader)
Data:        617 bytes (30.1% Full) (.data + .bss + .noinit)

.text - это память программ (ПЗУ в Вашем случае)


Цитата(MrYuran @ May 23 2011, 17:13) *
А это никаким ключом не получится.
В лучшем случае в .data отсветятся статически размещённые переменные.


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