roboforum.ru

Технический форум по робототехнике.

PROTEUS вопросы

PROTEUS вопросы

executer » 11 окт 2009, 00:18

Вот разбираюсь с шиной 1-Wire под WinAVR. Запарился уже шить-перешивать МК в процессе отладки :sorry: .
Решил поставить великий и могучий протеус. Для тестирования взял sample проект самого протеуса, выбрал для того МК что там стоял прошивку 1-Wire на CVAVR - она гарантированно работает (проверял на железяке тестируемой).
Для отладки собственно кода WinAVR добавил в проект еще один МК с 1-Wire датчиком...

И начались чудеса. Проц с прошивкой CVAVR работает нормально (16 МГц на обеих выставленно), а вот с WinAVR както невероятно долго - тестовое передергивание ноги без задержек заняло 10мс. Я уж и не знаю на что думать - то ли протеус симулирует HEXы от разных компилляторов по-разному, то ли у меня чтото в коде (но что там может быть, ногой просто передернуть). Может секрет какой есть когда два МК в проекте?

Осциоллограмма в приложении (на нижнем графике - видно с какой скоростью идет обмен по 1-wire на нормальном МК, а второй сверху - это передергивание ноги без задержек на WinAVR).
Проект протеуса там же.

Добавлено спустя 14 минут 41 секунду:
Удаление вспомогательного МК дела не решило

Добавлено спустя 5 минут 55 секунд:
На реальном МК все остальное кроме 1Wire нормально работает.
Вложения
test.rar
(162.67 КиБ) Скачиваний: 13
.JPG

Re: PROTEUS вопросы

avr123.nm.ru » 11 окт 2009, 00:31

Наверно топик такой уже есть !

Лучше симулировать не .HEX а .COF из CVAVR и .elf из WinAVR

Re: PROTEUS вопросы

executer » 11 окт 2009, 00:33

я чесно поискал поиском "Proteus вопросы" просто на Proteus листов 6 выдало.....

У меня нету никакого elf :(
Чтото я совсем не понимаю как оно работает. С одним хексом нормально, с другим медленно :no: шож это за симуляор такой?

Re: PROTEUS вопросы

avr123.nm.ru » 11 окт 2009, 01:00

Вот как получить .elf в WinAVR - http://avr123.nm.ru/04.htm

Добавлено спустя 1 минуту 15 секунд:
executer писал(а):С одним хексом нормально, с другим медленно :no: шож это за симуляор такой?

И правда диво ! Разные .hex по-разному работают. Просто чудеса в решете. Ведь все прошивки на свете должны одинаково работать. Похоже PROTEUS полный отстой, хорошо хоть платить за него не надо было.

Re: PROTEUS вопросы

executer » 11 окт 2009, 01:09

Диво в том что с CVAVRовским HEX файлом отлично работает. HEX файл, на сколько я знаю, это просто набор ассемблерных комманд без указания на компилятор, комментарии, объем свободного места на диске и т.д. ТОЛЬКО комманды для процессора.
Вот меня и смутило то что один файл с набором комманд работает на одной частоте, а другой - на другой. Может, конечно, WinAVR какимто чудесным способом меняет частоту МК, но на макетной плате я этого не заметил.

PS: AVR123, не хотел Вас обидеть, Вы безусловно много всего хорошего делаете. И Proteus тоже хорошая прога, только я давно с подозрением к ней относился из-за всякх непоняток и того что она симулирует работу МК с тактовой частотой 10 ГГц на моем ноуте с 1.3 в реал-тайме. :) Просто пытаюсь разобратся в проблеме.

Re: PROTEUS вопросы

galex1981 » 11 окт 2009, 01:19

Еще глюк протеуса есть: в любой проге с Уартом, написанной на Баскоме сообщения уарта в терминале отображаются в "левой" кодировке

Re: PROTEUS вопросы

executer » 11 окт 2009, 01:30

elf не помог :(

Re: PROTEUS вопросы

avr123.nm.ru » 11 окт 2009, 01:53

Сам елф не может помочь. Он просто позволяет видеть код на Си и двигаться по коду в отладке. Поставьте точки останова и посмотрите время выполнения участков кода - выясните причину "тормозов". Можете раскрыть АСМ и увидеть что там не так.

Добавлено спустя 1 минуту 46 секунд:
executer писал(а):Proteus симулирует работу МК с тактовой частотой 10 ГГц

Это очень удобно. На таком МК вы можете сделать модель практически чего угодно - он будет гораздо быстрей в системе чем отлаживаемый МК работающий на нормальной частоте.

Добавлено спустя 3 минуты 49 секунд:
galex1981 писал(а):Еще глюк протеуса есть: в любой проге с Уартом, написанной на Баскоме сообщения уарта в терминале отображаются в "левой" кодировке
PROTEUS выводит числа на терминал не зная в какой проге они сделаны. Вы можете подключить осциллограф к линии передачи и посмотреть какие символы передаются по осциллограме.

Re: PROTEUS вопросы

galex1981 » 11 окт 2009, 02:00

Авр, я уже проверял: если на CVAVR пишу тестовое сообщение в Уарт - верно выводит, на Баскоме аналогичная программа - "кракозявки" выводит. Можешь сам проверить ;)

Re: PROTEUS вопросы

executer » 11 окт 2009, 02:00

а как бы ассемблерный код просмотреть? как он по-коммандно исполняется. По правой кнопке на МК-AVR-Source code - только Си показывает, без отображения текущей операции (в проекте есть ассемблерные функции)

Re: PROTEUS вопросы

avr123.nm.ru » 11 окт 2009, 02:20

Посмотри пожалуйста серединку руководства по PROTEUS - http://proteus123.narod.ru - там со скриншотами все показано и описано текстом. По правой кн. в окне исходника в меню выбирай - "дизасембли" - можешь смотреть и шагать по асму - F11

PROTEUS очень мощный инструмент и естественно надо потратить время чтобы научится им пользоваться правильно.

Добавлено спустя 2 минуты 46 секунд:
galex1981 писал(а):Авр, я уже проверял: если на CVAVR пишу тестовое сообщение в Уарт - верно выводит, на Баскоме аналогичная программа - "кракозявки" выводит. Можешь сам проверить ;)
Ты дай программу в BASCOM - я посмотрю.

Добавлено спустя 13 минут 37 секунд:
galex1981 писал(а):Еще глюк протеуса есть: в любой проге с Уартом, написанной на Баскоме сообщения уарта в терминале отображаются в "левой" кодировке


Я думаю ты приписываешь PROTEUS несуществующий глюк, а я тут ночью сижу проверяю очевидно - что PROTEUS выводит то что выходит из МК.

Просто тебе не удалось вывести символы в PROTEUS. Тебе не удалось, но при чем же тут PROTEUS ?????

========================================

Я взял пример баскома - все прекрасно выводится. Скриншоты и архив с проектами прилагаю.

А ведь ты и сам мог сделать внимательно и у тебя бы работало.
Вложения
bascom-avr-proteus-uart.rar
(22.86 КиБ) Скачиваний: 18
01.png
02.png

Re: PROTEUS вопросы

galex1981 » 11 окт 2009, 02:28

В общем разобрался в чем дело: в версии 7.5 SP3 глюк был, сейчас у меня 7.6 SP0 - глюка нет - похоже исправили

Re: PROTEUS вопросы

avr123.nm.ru » 11 окт 2009, 02:34

Ты продолжаешь ????????

У меня и есть PROTEUS 7.5 SP3

Покажи твои проекты с глюками.

Re: PROTEUS вопросы

galex1981 » 11 окт 2009, 02:45

В версии 7.5 SP3 терминал выдает:

Добавлено спустя 1 минуту 59 секунд:
В версии 7.6 глюка нет
Вложения
2.JPG
1.rar
исходники
(22.34 КиБ) Скачиваний: 14
1.JPG
глюк

Re: PROTEUS вопросы

executer » 12 окт 2009, 00:23

Справедливости ради, сообщаю, у меня проблема в коде была :sorry: , ПРОТЕУС показывал как надо все.
Облажался я, мс, ms и us попутал.


Rambler\'s Top100 Mail.ru counter