Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Исходники » objdump для AVR Object File (AOF)


objdump для AVR Object File (AOF)

Сообщений 1 страница 30 из 210

1

Платформа: .Net 4.5, C#, VS2013
Ссылка на git репозиторий проекта: https://github.com/ViacheslavMezentsev/objdump
Ссылка на последнюю откомпилированную сборку: (пока ссылки нет)

Документацию на AOF можно найти в репозитории.

Как это выглядит в реальности:

http://img.radiokot.ru/files/4453/thumbnail/6by6j47v5.png

Документация на набор инструкций: AVR Instruction Set Manual

Требования: Исходные файлы, указанные в объектном файле, должны находиться в той же папке, откуда вызывается программа, т.е. всё должно быть рядом.
Формат вызова: objdump -S имя_объектного_файла

Описание: Программа objdump формирует смешанные листинги с результатом компиляции исходных файлов при помощи компилятора bascomp.exe. Выходные файлы имеют имя, соответствующее исходному файлу, и расширение .lst. Если в результате компиляции какому-то модулю не соответствует ни одной ассемблерной инструкции, то выходной листинг для него не формируется.

П.С. Сочувствующим товарищам, желающим высказать своё оценочное мнение не по теме: не надо мусорить в сети, вы либо пишите что-то конкретное, связанное с обсуждаемым вопросом, либо не пишите вообще, а просто наблюдайте за процессом. Под чем-то конкретным я понимаю вопросы технического характера (в плане программирования, сборки, отладки).

Я считаю AVR Studio и Proteus в данном конкретном случае - протезом для мозга. Случай этот - изучение ассемблера AVR и просмотр листингов смешанного кода, не выходя из одной программы. Если вы владеете ассемблером, то пользуйтесь на здоровье чем хотите, если нет, то не пишите в этой теме про удобство указанных программ.

Отредактировано uni (2015-02-10 14:55:36)

+2

2

Что-то пока не получается? Файл не формируется

0

3

Тестирование тоже нужно. Я буду постепенно дорабатывать программу и нужно будет проверять её работу на каких-нибуть тестовых примерах. Сейчас не могу сказать в чём дело, я ещё не добавил ведение лога в программу.

0

4

Там дело в том, что пробел добавляет лишний параметр в командную строку. Попробуй взять имя файла в двойные кавычки.

0

5

Сейчас не могу, я с мобильного устройства. В командной строке пробел отделяет параметры друг от друга, поэтому в твоём случае программа просто не может найти объектного файла по имени.

0

6

Error ...Индекс находится вне границ массива

http://s6.uploads.ru/t/OPCLt.jpg

Отредактировано sasha_1973 (2013-11-02 04:06:41)

0

7

Нужно написать так: objdump[пробел]-S[пробел]"имя файла"
Либо пока просто убрать пробел из имени.

Отредактировано uni (2013-11-02 04:09:57)

0

8

Пробовал по разному, пока не получается!

0

9

Опция -S должна быть отделена от имени файла пробелом, а вот имя файла с пробелом обязательно должно быть в кавычках, если оно содержит символы разделители. Ты попробовал всё кроме правильного варианта.

0

10

uni написал(а):

Опция -S должна быть отделена от имени файла пробелом, а вот имя файла с пробелом обязательно должно быть в кавычках, если оно содержит символы разделители. Ты попробовал всё кроме правильного варианта.


http://s7.uploads.ru/t/MFwGK.jpg

0

11

Только последний вариант из приведённых является правильным, согласно принятым стандартам работы с командной строкой, а вот почему русские символы в пути не поддерживаются - это вопрос, я тестировал только с английскими пока. Попробуй натравить программу на объектный файл из моих проектов.

Попробуй ещё заменить пробел в имени файла на подчёркивание и перекомпилируй проект. Может дело не в русском имени, а в кавычках.

Отредактировано uni (2013-11-02 04:21:54)

0

12

Перенёс в корень, переименовал в английский, ошибка поменялась!

http://s6.uploads.ru/t/1s4uq.jpg

0

13

Ты посмотри сам что написал. Нужно указывать объектный файл, а не исходник. Опция -S должна писаться с большой буквы, это обязательно. Расширение у файла опускать нельзя, должно быть полное имя объектного файла.

0

14

Расстрелять!!!

Файл создался, есть маленькое но.....!

http://s7.uploads.ru/t/5Ok1z.jpg

0

15

Ну, а что ты хотел. Пока только штук десять инструкций я осилил, надо ещё штук 100. Не всё сразу. Те инструкции, которые так помечаются, пока программой не распознаются. Постепенно, в день штук по 10 доделаю.

0

16

С кирилицей не работает.

У тебя VB 2010 есть?

0

17

Да, раз проект создан в VS2010, то VB.Net у меня есть. Не знаю пока почему не понимает русского в имени файла, постепенно разберёмся.

0

18

uni написал(а):

Да, раз проект создан в VS2010, то VB.Net у меня есть. Не знаю пока почему не понимает русского в имени файла, постепенно разберёмся.


Я к тому, как у тебя его стырить? Помогу, чем смогу.

Отредактировано sasha_1973 (2013-11-02 04:45:26)

0

19

Это не у меня надо, а на торрентах брать надо. Зайти на рутрекер, зарегистрироваться, найти там раздачу VS2010 и закачать себе. Просто я не храню подобные дистрибутивы у себя на компе, так как я всегда могу скачать их из сети.

0

20

Пишет, что форум временно отключен!? Может дашь ссылку на mail, откуда скачать?

0

21

Ну, в течении дня зарегистрируйся, у них там профилактика. Скачай программку uTorrent ещё, в ней нужно будет открывать скачанный файл .torrent из темы с раздачей. Найду подходящую тему, дам ссылку.

0

22

Задумка просто СУПЕР!!!

Если-бы ещё Bascom в правом окне сразу писал, то, что в листинге, было-бы .....!

0

23

uni написал(а):

в течении дня зарегистрируйся, у них там профилактика


Уже давно!

Что-то затянулась профилактика, 2 день!

0

24

Ты просто МОЛОДЧИНА!!!

ладушки потопал спать, завтра, точнее сегодня на работу.

Удачи тебе!

0

25

Обновлено.
Добавлены: RCALL, RET, RETI, RJMP.
Теперь формируется ещё и лог файл objbump.log. Если будут ошибки в работе программы, то нужно прикладывать к сообщению этот файл или выдержку из него.

0

26

Если подойдёт vs 2010 express, то можно скачать на официальном сайте. http://www.microsoft.com/ru-ru/softmicr … press.aspx
express слегка урезан в плане работы с базами данных и ещё что-то уже не помню, но в принципе должно хватить.
Так что подсадим мы тебя, Саша ещё на одну весёлую штуку, спать вообще не будешь  :D

http://bascom.at.ua/2013/VS/instrument_ … chika.docx - ну а здесь можно почитать, что и как нужно устанавливать, готовил статью для сайта, но это пока релиз (Нужен оффис не ниже 2007 или плагин к 2003 для просмотра).
У меня студия 2010 на работе установлена, работаю на ней.
Дома установлен экспресс, попробую скомпилировать, только уже вечером.
Ну и смогу немного помочь уже с понедельника, на выходных занят.

0

27

а точно поддержка длинных имен есть?
может неправильно интерпретируешь в кавычках имена?

0

28

кстати, можно к форуму прилепить нормальное отображение картинок, а не редиректить на левые ресурсы?

0

29

Скомпилировалось на экспрессе. Так что смело можно устанавливать.
Ну и не забыть установить фреймворки включая 4.
Запустил с командной строки, получил файл с расширением lst.
Log записал действия, ошибок не обнаружил.

ЛЯПОТА!!!

0

30

Обновлено. Поддерживается 36 инструкций. Добавлены команды ветвления, но адреса пока не всегда высчитываются правильно.

Полностью переделана структура проекта. Теперь для добавления новой команды достаточно добавить в проект в папку Instructions файл класса, описывающий эту команду по аналогии с другими. Программа автоматически подключит её во время выполнения, что можно теперь видеть в логе.

Проверьте работу с русскими именами в названии файлов.

П.С. Исправлена относительная адресация в командах ветвления.

Отредактировано uni (2013-11-02 18:57:42)

0


Вы здесь » Программирование ATMEL в BASCOM. » Исходники » objdump для AVR Object File (AOF)