04.02.2011, 15:39
|
|
Вид на жительство
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 180
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Сообщение от 7Fantomas7
|
Почему при симуляции в протеусе в некоторых строках нет номеров хотя это функции.
|
Компилятор выкинул, при оптимизации.
|
|
|
|
04.02.2011, 20:44
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Стоп, стоп, стоп. Это еще с какого переляку он их выкинул? Кто разрешил?
Почему тогда при симуляции в AVRStudio эти же функции обрабатываются? Что нужно сделать чтоб не выкидывал, другими словами мне нужно чтоб эти функции работали.
|
|
|
|
05.02.2011, 09:02
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Сообщение от 7Fantomas7
|
Кто разрешил?
|
Вы лично.
Сообщение от 7Fantomas7
|
Что нужно сделать чтоб не выкидывал
|
Для начала,как минимум, вырубить оптимизацию в проблемных местах, и включить там, где нужна:
#pragma opt-
.......
#pragma opt+
Еще раз перепроверить все настройки проекта, ну и желательно заглянуть в ассемблерный листинг и посмотреть - как компилятор обрабатывает ваши функции, во что в конечном итоге они превращаются и куда размещаются. Хотя последнее, насколько я помню, Вам советовать бесполезно, когда-то то я уже пробовал.
Да, чуть не забыл, - ведь это не в Протеусе, а в CodeVision. А то еще кто подумает, что раз ветка по Протеусу, то и все это проделывается там.
|
|
|
Сказали "Спасибо" Halex07
|
|
|
05.02.2011, 12:22
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Halex07,
Цитата:
|
Для начала,как минимум, вырубить оптимизацию в проблемных местах
|
CodeVision предлагает оптимизировать по скорости работы при этом код может быть больше и по размеру кода при этом скорость может быть меньше. Так как места у меня хватает, а скорость важна, то я включил оптимизацию по скорости. Может не так выражаюсь но логика такая.
Цитата:
|
Для начала,как минимум, вырубить оптимизацию в проблемных местах, и включить там, где нужна
|
Ну что тут сказать. Мне необходимо чтоб работало все и ничего не выкидывалось. Да я понимаю что код не идеален но это же не значит что компилятор должен выкинуть функцию АЦП или функцию динамической индикации.
Но да ладно предположим так я плохо написал что компилятор как начал оптимизировать что в пору за голову схватится. Но вот не задача. А я сделал симуляцию того же самого в AVRStudio предположив что компилятор чет там на умничал и к удивлению в AVRStudio эти функции работают и обрабатываются. Ну блин думаю может AVRStudio косячит взял и залил в контролер уж надежней то не куда. Ну не знаю как что, но функция recoding которую Протеус показывает как выкинутую компилятором, а AVRStudio показывает как не выкинутую, в железе работает. Вот что хотите делайте но тварь работает. Так выкинул ее коипилятор или нет? Почему для Протеуса выкинул, а для AVRStudio не выкинул, для железа не выкинул. Все манимупуляции в трех случаях производились с одним и тем же исходником, COFом, XEXсом без внесения каких либо изменений в таковой.
|
|
|
|
05.02.2011, 15:54
|
|
Вид на жительство
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 180
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Выкинул не из программы, если понятней сократил места по его мнению ненужные.
Код функции выполняется, но протеус этого не показывает.
Вот вам все вынь да покаж.
Отладку пробуйте делать так, написали функцию, отладили, далее пишете следующую функцию, первая у вас отлажена, нечего там смотреть.
В АВР студио есть плагин протеуса, используйте его, видно чуть поболее.
Если хотите видеть все, есть JTAG.
|
|
|
Сказали "Спасибо" CodeNameHawk
|
|
|
06.02.2011, 04:40
|
|
Вид на жительство
Регистрация: 05.09.2007
Адрес: Новороссия ЛНР Рубежное -> РФ Калуга
Сообщений: 360
Сказал спасибо: 10
Сказали Спасибо 73 раз(а) в 58 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
7Fantomas7, В окне Source code Ctrl+В или контекстное меню "Dissassembly" и все тайны будут раскрыты, к каждой сточке на си добавятся комменты на асме.
Сообщение от 7Fantomas7
|
Так выкинул ее коипилятор или нет?
|
А он (протеус) оффлайн функции так и показывает.
__________________
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы.
Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
Не зли меня
Последний раз редактировалось Murka-MakMur; 06.02.2011 в 04:42.
|
|
|
Сказали "Спасибо" Murka-MakMur
|
|
|
07.02.2011, 05:05
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
CodeNameHawk,
Цитата:
|
Отладку пробуйте делать так, написали функцию, отладили, далее пишете следующую функцию, первая у вас отлажена, нечего там смотреть
|
Не поверите именно так и делаю.
Но поймите правильно если каждая функция в отдельности отлажена а скопом не хотят работать то это уже напрягает. Если пока весь текст исходника был в одном файле все работало, а когда разнес на отдельнве файлы не работает то тоже напрягает.
Но, проблема решилась какимто странным по крайней мере для меня образом. Дело в том что пришлось переустановить систему, была проблема с Протеусом о которой я писал в посте №163 на предидущей старнице, сейчас тоже самое с компилятором. Залез в конфигуратор проекта и просто переуказал как выполнить оптимизацию т.е. клацнул в окошко где указывается как оптимизировать и выбрал то что и так до этого было выбрано. Перекомпилировал и все получилось. Не знаю кому как, а мне дурдом. Но вобщем решилась проблема. Я не знал что какието настройки слетают при переустановке ПО в данном случае.
Цитата:
|
В АВР студио есть плагин протеуса, используйте его, видно чуть поболее.
|
В первые об таком слышу. Не могли бы подробней, может я чего не так понял.
Murka-MakMur,
Цитата:
|
А он (протеус) оффлайн функции так и показывает.
|
В смысле оффлайн? Это когда на паузе стоит? Да так и показывает.
|
|
|
|
07.02.2011, 12:29
|
|
Вид на жительство
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 180
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Сообщение от 7Fantomas7
|
В первые об таком слышу. Не могли бы подробней, может я чего не так понял.
|
Тут все просто, создаете проект для студии на основе .cof файла.
Запускаете студио, Open выбираете ваш .cof файл.
В окне Select debug platform and device выбираете Proteus VSM viewer и нужный процессор.
В окне Proteus VSM откроете схему, созданную для протеуса.
При старте отладки, обычно появляется окно ассемблера, для перехода в окно программы на С, переключаетесь на него(Если окно не видно, предварительно открываете его. Только для отладки открывайте файл с добавленными __, н.п. ваш файл main.c, то ищите файл main__.c)
поставьте курсор на первую выполняемую строку в main и нажмите Run to cursor.
Если вы в студио уже имеете проект, то еще проще.
Останавливаете отладку, Debug-›Select platform and device
выбираете Proteus VSM viewer и нужный процессор и в перед.( как описано выше)
Последний раз редактировалось CodeNameHawk; 07.02.2011 в 12:54.
|
|
|
Сказали "Спасибо" CodeNameHawk
|
|
|
07.02.2011, 23:35
|
|
Вид на жительство
Регистрация: 05.09.2007
Адрес: Новороссия ЛНР Рубежное -> РФ Калуга
Сообщений: 360
Сказал спасибо: 10
Сказали Спасибо 73 раз(а) в 58 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Сообщение от 7Fantomas7
|
В смысле оффлайн? Это когда на паузе стоит? Да так и показывает.
|
Не, я про функции которые не "inline"
// пример функции inline
#pragma inline = forced
void LCD_CommonFunc(unsigned char data)
{.....}
__________________
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы.
Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
Не зли меня
|
|
|
|
17.02.2011, 19:53
|
|
Прохожий
Регистрация: 22.10.2008
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Вопросы по PROTEUS-у
Сообщение от CodeNameHawk
|
В окне Select debug platform and device выбираете Proteus VSM viewer и нужный процессор.
|
Простите а как вообще Proteus VSM viewer должен попасть в AVR Studio? Где его взять а то у меня там типовые пункты типа симуляторов и внутрисхемных отладчиков
Всем спасибо. Покопался по форумам - получилось что у меня была старая версия Avr Studio и не совсем верная инсталяция Proteusa. После докачки правильных программ и переустановки (полное удаление обеих программ старых версий) в следующем порядке AVR Studio - Proteus 7.7 все заработало.
Последний раз редактировалось Pencroff; 18.02.2011 в 01:22.
Причина: Разобрался... :)
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:27.
|
|