реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> смиксовать сишный код с листингом
Ash_snz
сообщение May 12 2011, 17:03
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 12-05-11
Пользователь №: 64 958



Успешно начали использовать KGP sm.gif Спасибо большое - работает!

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

Проект состоит из ассемблерных частей и сишных, видел ключи у objdump(кажется /пишу просто из дома, не могу посмотреть/) которые миксуют итоговый ассемблерный листинг всей проги с С источником (как я понял) -> заставить работать не смог sad.gif
А было бы очень удобно не мучаться переводить Сишный код в асс, дабы понять где сейчас прога отрабатывает...
Поможите, кто чем может smile3046.gif
Go to the top of the page
 
+Quote Post
klen
сообщение May 13 2011, 07:03
Сообщение #2


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(Ash_snz @ May 12 2011, 21:03) *
Поможите, кто чем может smile3046.gif

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

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

видимо нада еще сделать подход к снаряду, потренироватся..
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 13 2011, 09:21
Сообщение #3


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Не забыть ещё ключик
CFLAGS += -gdwarf-2
Иначе отладочная информация не включится в объектники и все остальные потуги бессмысленны


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Ash_snz
сообщение May 19 2011, 04:10
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 12-05-11
Пользователь №: 64 958



Необходим именно итоговый листинг с сишными вставками. Отработка идет на живом макете при отсутствии отладчиков, потому просмотр адресов обращения к пзу и сличение с листингом.
Всем спасибо за помощь, убежал к снаряду sm.gif

Сообщение отредактировал Ash_snz - May 19 2011, 04:11
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение May 19 2011, 05:12
Сообщение #5


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



objdump -dStC


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Ash_snz
сообщение May 19 2011, 07:39
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 12-05-11
Пользователь №: 64 958



Цитата(klen @ May 13 2011, 13:03) *
-Wa,-adhlns=ИМЯ_ФАЛА_ЛИСТИНГА
Этот вариант никак не хочет работать. ругатеся, что -adhlns он в глаза не видел и знать не знает.

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

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


зы никто не знает как создать глобальный указатель? никак не хочет...

Сообщение отредактировал Ash_snz - May 19 2011, 07:40
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 19 2011, 13:16
Сообщение #7


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



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

size -x -A outfile.elf
Go to the top of the page
 
+Quote Post
Ash_snz
сообщение May 23 2011, 10:06
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 12-05-11
Пользователь №: 64 958



показывает размер секций. хм... вот только у меня большая частть программы в .text... или это все таки занимаемое в ОЗУ?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение May 23 2011, 10:40
Сообщение #9


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Применительно 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


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 23 2011, 11:13
Сообщение #10


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



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

А это никаким ключом не получится.
В лучшем случае в .data отсветятся статически размещённые переменные.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Ash_snz
сообщение May 25 2011, 03:51
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 12-05-11
Пользователь №: 64 958



Цитата(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 отсветятся статически размещённые переменные.


Я так примерно и догадывался, что только сегментами. Спасибо.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 00:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01457 секунд с 7
ELECTRONIX ©2004-2016