Easyelectronics.ru • Просмотр темы - Proteus. Генерация файла SDI для пошаговой отладки.

Easyelectronics.ru

Электроника для всех
Текущее время: 16 авг 2018, 09:32

Часовой пояс: UTC + 5 часов



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 03 апр 2013, 02:24 
Старожил
Аватара пользователя

Зарегистрирован: 30 янв 2010, 01:03
Сообщения: 647
Откуда: Херсон
При отладке проектов на базе 51 серии под Proteus-ом всем хочется чтобы прога выполнялась пошагового, да и еще чтобы исходник был виден.

Пожалуйста. В Proteus-е есть файлик Asemddx.exe который извлекает отладочную информацию из *.LST файлов созданых компилятором ASEM-51 Version 1.2. Создает файл *.SDI.

Но вот беда. При использовании макросов и инклудов эта тузла генерит "БРЕД", причем полнейший.

Если весь код держать в одном файле и не юзать макросы - "всё пучком". Это конечно возможно.

А если проект не на пару десятков байт, это уже "ГЕМОР".

Может кто спалкивался с такой проблемой?

А кто не хочет с ней встречаться, потесте мою тузлу Ddxasem. Выполняет почти аналогичные действия как и тузла из Proteus-а.
Тестировал с ASEM-51 Version 1.3. Правда патченой.


Вложения:
DDXASEM.zip [7.5 Кб]
Скачиваний: 198

_________________
Если руки золотые, то не важно с какого места они растут.
Изображение
Изображение
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 03 апр 2013, 13:57 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3721
Откуда: г. Липецк
S_Alex писал(а):
...В Proteus-е есть файлик Asemddx.exe который извлекает отладочную информацию из *.LST файлов созданых компилятором ASEM-51 Version 1.2. Создает файл *.SDI...

Никогда не пользовался SDI, возможно напрасно. Где можно почитать о возможностях отладки с его помощью? Что он дает?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 03 апр 2013, 23:34 
Старожил
Аватара пользователя

Зарегистрирован: 30 янв 2010, 01:03
Сообщения: 647
Откуда: Херсон
http://youtu.be/QPbnTYwvLCk

_________________
Если руки золотые, то не важно с какого места они растут.
Изображение
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 04 апр 2013, 10:02 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3721
Откуда: г. Липецк
Чего то недопонял. К модели МК прицепляем HEX, в меню указываем исходник ASM, включаем отладку. И также ходим по исходнику без SDI.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 04 апр 2013, 14:47 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 4815
Не знаю как с 51ми . Со всем остальным отлично юзается *.cof , *.elf.
Ваша компиль это не генерит ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 04 апр 2013, 16:19 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3721
Откуда: г. Липецк
dosikus_2 писал(а):
...Ваша компиль это не генерит ?

Ну если подсунуть Сишный исходник, и указать что именно генерить, то сгенерит. Зачем COF, ELF поверх ASM? ASM и BIN практически тождественны в коде, а HEX это расширенная текстовая ASCII запись BIN с контрольными суммами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 04 апр 2013, 16:29 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 4815
anakost писал(а):
dosikus_2 писал(а):
...Ваша компиль это не генерит ?

Ну если подсунуть Сишный исходник, и указать что именно генерить, то сгенерит. Зачем COF, ELF поверх ASM?


Кто то вам сказал что cof/coff это прерогатива Сишных компиляторов ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 04 апр 2013, 16:41 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3721
Откуда: г. Липецк
dosikus_2 писал(а):
...Кто то вам сказал что cof/coff это прерогатива Сишных компиляторов ?

Сам так думаю, зачем файл с отладочной информацией к исходнику на ASM? Прямая кореляция ASM <-> HEX, что еще можно запихать в COF? Все что нужно для ASM есть в LST, MAP.
Вернусь к топику, что это за файл SDI? Что он содержит, где может помочь? Литература есть по этому вопросу?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 04 апр 2013, 22:23 
Старожил
Аватара пользователя

Зарегистрирован: 30 янв 2010, 01:03
Сообщения: 647
Откуда: Херсон
Как я понял, то формат простой.



Запись содержит 4 поля:
1 - адрес ячейки памяти
2 - машинный код операции
3 - метка
4 - текст исходной программы
Све поля разделены запятыми.

Например:
1 2 3 4
0003,00,MainLoop,MainLoop: nop

В тех строчках где есть адрес можно ставить бряк.

_________________
Если руки золотые, то не важно с какого места они растут.
Изображение
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 16 апр 2013, 19:17 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3721
Откуда: г. Липецк
Наконец понял для чего файл SDI. Этот файл создает сам Proteus для пошаговой отладки. От типа МК его создание не зависит, оно зависит от наличия исходников.
1. Исходников нет, в Proteus загружен HEX. Пошагово походить по программе можно только через окно диззасемблера.
2. Исходники есть, подключены через меню Proteus. Если в этом же меню нажать Build, то вместе с HEX создается и SDI. И если теперь войти в Debug, пошаговая отладка доступна автоматом по исходникам.
Все это делается автоматом, о наличии файла Asemddx.exe раньше не знал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 16 апр 2013, 20:09 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 4815
anakost, S_Alex, меня конечно прикалывает ваша упертость , но повторюсь - не судьба *coff юзать ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 16 апр 2013, 20:53 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3721
Откуда: г. Липецк
dosikus_2 писал(а):
... меня конечно прикалывает ваша упертость , но повторюсь - не судьба *coff юзать ?

Ну так научите "упертых", как научить ассемблер генерировать *coff файл. Не имеет значения а51 или avrasm2. Что им нужно указать, чтобы они смогли сгенерировать совершенно им ненужный файл?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 16 апр 2013, 21:16 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 4815
anakost писал(а):
Не имеет значения а51 или avrasm2. Что им нужно указать, чтобы они смогли сгенерировать совершенно им ненужный файл?

Какой то объектный файл генерит же ваше убожество ? А ненужный он только вам...
coff ли это, elf, ubrof ищите . Loader Proteusa многие грузит .
Winasm например от микрочипа генерит coff .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 16 апр 2013, 21:18 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3996
не обязательно каждый ассемблер умеет генерить объектники.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 16 апр 2013, 21:24 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 4815
Ink писал(а):
не обязательно каждый ассемблер умеет генерить объектники.

Убожество , да согласен...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 16 апр 2013, 21:30 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3996
да ладно убожество, это щас все умные стали да привередливые. а раньше часто асмы не генерили ничего кроме бинарника и, изредка, lst файла с адресами меток. юзали и ничего, живы-здоровы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 16 апр 2013, 21:34 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 4815
Ink писал(а):
а раньше часто асмы не генерили ничего кроме бинарника и, изредка, .


Вот и кстати , именно для таких компилей и есть та протеусовская тулза .
Именно для старья . Собственно надо было читать перед юзаньем ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 16 апр 2013, 22:05 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3721
Откуда: г. Липецк
dosikus_2 писал(а):
...Какой то объектный файл генерит же ваше убожество ? ...

Мое стандартное "убожество" генерит стандартный файл obj. Файл sdi генерируется дополнительно к нему Proteus для пошаговой отладки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 16 апр 2013, 22:40 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 4815
anakost писал(а):
Мое стандартное "убожество" генерит стандартный файл obj.

Какой компилятор ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 17 апр 2013, 07:14 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3721
Откуда: г. Липецк
dosikus_2 писал(а):
...Какой компилятор ?

В этом топике речь идет о ассемблере, а говорил об аsm51 или avrasm2.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 17 апр 2013, 12:43 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 11:56
Сообщения: 2709
Откуда: Винница
Кейловский ассемблер генерит. Назвать его "убожеством" было бы как-то опрометчиво. :)

_________________
Китайская комплектация - европейское качество!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 21 апр 2013, 02:36 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3721
Откуда: г. Липецк
S_Alex писал(а):
... В Proteus-е есть файлик Asemddx.exe который извлекает отладочную информацию из *.LST файлов созданых компилятором ASEM-51 Version 1.2. Создает файл *.SDI.
... мою тузлу Ddxasem. Выполняет почти аналогичные действия как и тузла из Proteus-а. Тестировал с ASEM-51 Version 1.3. Правда патченой.

Понадобилось вернуться с AVR на MCS51, и попытался для ускорения использовать прототипирование в Proteus. Обнаружил те же глюки, что и вас.
Мой совет прицепить исходник и откомпилить в Proteus-е не проканал, ассемблер Proteus-а ASEM-51 не полностью совместим с ассемблером Кейла А51. Препроцессоры очень отличаются.
Как я понял, после компиляции в Кейле, я должен отдельно запустить вашу программу и сгенерировать SDI? Это нельзя как то совместить с самой компиляцией?
P.S. Да, и в чем состоит патч ASEM-51?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 21 апр 2013, 03:21 
Старожил
Аватара пользователя

Зарегистрирован: 30 янв 2010, 01:03
Сообщения: 647
Откуда: Херсон
Цитата:
Кейле, я должен отдельно запустить вашу программу и сгенерировать SDI?

С Кейлом знаком понаслышке и заглядывал одним глазом.
Цитата:
Это нельзя как то совместить с самой компиляцией?

Обычно в настройках есть пост билд, вот туды и можно прописать запуск моей тузлы.
Цитата:
Да, и в чем состоит патч ASEM-51?

Раньше строки типа:
DB "Привет"
вызывали ошибку, т.е. были доступны только ASCII символы (до 128), теперь все до 255.

_________________
Если руки золотые, то не важно с какого места они растут.
Изображение
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 21 апр 2013, 12:08 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3721
Откуда: г. Липецк
S_Alex писал(а):
...Обычно в настройках есть пост билд, вот туды и можно прописать запуск моей тузлы....

Насчет этого в Кейле богато. Да только за давностью я уже и забыл, как работать с переменными окружения. Может кто поможет? Для справки, тулза от S_Alex принимает в качестве единственного параметра имя LST файла.


Вложения:
Options.png
Options.png [ 23.21 Кб | Просмотров: 9338 ]
uVision.png
uVision.png [ 51.37 Кб | Просмотров: 9338 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus. Генерация файла SDI для пошаговой отладки.
СообщениеДобавлено: 21 апр 2013, 13:27 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3721
Откуда: г. Липецк
Пока вопрос с переменными окружения в Кейле под вопросом, решил пока сделать костыль. А именно Кейл предусматривает возможность создания пользовательского меню для сторонних программ. Кстати переменные окружения используются те же что и в предыдущем посте. Но т. к. я указал рабочую папку, логично предположить что с ней сторонняя программа и будет работать. Поэтому в качестве файла листинга я указал реальный файл из этой папки.
Запускаю, получаю невнятный ответ от тулзы, что ей не понравилось? Может нужен оконечный слеш в конце названия папки?
P.S. Слеш не помог, печально.
P.P.S. Т. к сама программа мелькает доли секунды попробовал перенаправить вывод с консоли " > Error.txt". Обломс.


Вложения:
Menu.png
Menu.png [ 31.61 Кб | Просмотров: 9325 ]
Empty.png
Empty.png [ 1.32 Кб | Просмотров: 9325 ]
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB