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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Аварийное завершение AVR Studio 4.12, при попытке симуляции
Vitёk
сообщение Feb 25 2007, 19:03
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018



Возникла необходимость использовать AVR. Для работы с ними были установлены AVR Studio 4.12 с сервис-паком 4 (build 498), и WinAVR 20070122.
Пробный код типа такого:
Код
int main(void)
{
  int i;
  for(i = 0;;i++);
  return 0;
}
билдится без ошибок, однако запуск симулятора приводит к аварийному завершению AVR Studio.
Где начать копать?


--------------------
/* Всё хорошо в меру. */
Go to the top of the page
 
+Quote Post
zorromen
сообщение Feb 25 2007, 19:36
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147



Дык смотрите что написали ... цикл с i=0 до хрен знает чего ... и сразу return 0 c main ...
Go to the top of the page
 
+Quote Post
=GM=
сообщение Feb 25 2007, 19:36
Сообщение #3


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(Vitёk @ Feb 25 2007, 16:03) *
Возникла необходимость использовать AVR. Для работы с ними были установлены AVR Studio 4.12 с сервис-паком 4 (build 498), и WinAVR 20070122.
Пробный код типа такого:
Код
int main(void)
{
  int i;
  for(i = 0;;i++);
  return 0;
}
билдится без ошибок, однако запуск симулятора приводит к аварийному завершению AVR Studio.
Где начать копать?

Не надо использовать оператор return 0. Возврат произойдёт, но куда?
Хотя может и не дойти до него, зависит от компилятора...В смысле, оператор
for лучше использовать для конечного числа циклов

Лучше сделайте так
Код
int main(void)
{
  int i;
  while(1)
  {
   for(i = 0;i<1000;i++);
   << ещё что-нибудь полезное>>
  }
}


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
bill_vs
сообщение Feb 25 2007, 21:24
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 16-04-05
Из: СПб
Пользователь №: 4 208



Стало интересно. Попробовал у себя. (AVRStudio 4.12 SP2, IAR 4.12). Сделал самый простой проект (Create new project-Empty project, options v1 small), main от автора темы. Загрузил в AVRStudio (device ATmega8), и полетел: message AVR Simulator: Invalid opcode 0xffff at address
При разбое оказалось, что линкер взял родной lnk1s.xcl, а там CSTACK 0x60 – 0x105F, RSTACK 0x1060 – 0x115F. При первом же возврате из п/п (ещё в STARTUP) происходит улёт (память 0x105F не симулируется для ATmega8).
WinAVR не знаю, но возможно проблемы похожи.
Go to the top of the page
 
+Quote Post
singlskv
сообщение Feb 25 2007, 21:38
Сообщение #5


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Если у Вас все компилируется но вылетает при попытке просимулировать,
попробуйте скомпилировать, затем создать новый проект из файла progname.elf
и уже с ним симулировать
*.elf - результат компиляции с отладочной информацией
Go to the top of the page
 
+Quote Post
aesok
сообщение Feb 26 2007, 08:58
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(Vitёk @ Feb 25 2007, 19:03) *
Возникла необходимость использовать AVR. Для работы с ними были установлены AVR Studio 4.12 с сервис-паком 4 (build 498), и WinAVR 20070122.
...
Где начать копать?

Поставить AVR Studio 4.13. AVR Studio 4.12 не понимает '.elf' сгенерированые WinAVR-20070122.

Анатолий.
Go to the top of the page
 
+Quote Post
Dopler
сообщение Feb 26 2007, 09:22
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



Цитата(aesok @ Feb 26 2007, 08:58) *
Поставить AVR Studio 4.13. AVR Studio 4.12 не понимает '.elf' сгенерированые WinAVR-20070122.

Анатолий.


Имеется в виду AVR Studio 4.13 бета?
Go to the top of the page
 
+Quote Post
aesok
сообщение Feb 26 2007, 09:43
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(Dopler @ Feb 26 2007, 09:22) *
Цитата(aesok @ Feb 26 2007, 08:58) *

Поставить AVR Studio 4.13. AVR Studio 4.12 не понимает '.elf' сгенерированые WinAVR-20070122.

Анатолий.


Имеется в виду AVR Studio 4.13 бета?

Да.
Go to the top of the page
 
+Quote Post
Vitёk
сообщение Feb 26 2007, 11:00
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018



zorromen, =GM=: криво написанный код либо не компилится/не линкуется, либо в симуляторе видно, что он криво написан. А если Винда закрывает среду разработки с потерей несохранённых данных - это уже проблема среды разработки. Моей вины тут как бы нет...
Цитата
Поставить AVR Studio 4.13.
Почитал здесь отклики о ней, ставить расхотелось. sad.gif А ни кто не знает, откуда можно утянуть прошлогодний WinAVR?


--------------------
/* Всё хорошо в меру. */
Go to the top of the page
 
+Quote Post
aesok
сообщение Feb 26 2007, 11:11
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(Vitёk @ Feb 26 2007, 11:00) *
А ни кто не знает, откуда можно утянуть прошлогодний WinAVR?


http://sourceforge.net/project/showfiles.php?group_id=68108
Go to the top of the page
 
+Quote Post
Vitёk
сообщение Feb 26 2007, 11:18
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018



Если точнее:
http://sourceforge.net/project/showfiles.p...ackage_id=66543


Добавлено через 15 минут:

Поставил WinAVR 20060421 - сразу полегчало. smile.gif aesok, спасибо за подсказки! a14.gif
А вообще, начинать освоение новых контроллеров с подобных несуразностей - это как-то некомильфо... Первое впечатление не самое приятное. angry.gif


--------------------
/* Всё хорошо в меру. */
Go to the top of the page
 
+Quote Post
aesok
сообщение Feb 26 2007, 12:20
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(Vitёk @ Feb 26 2007, 11:18) *
Поставил - сразу полегчало. smile.gif aesok, спасибо за подсказки! a14.gif
А вообще, начинать освоение новых контроллеров с подобных несуразностей - это как-то некомильфо... Первое впечатление не самое приятное. angry.gif


Все несуразности только от того, что вы не прочитали Release Notes для WinAVR-20070122:

- Change the DWARF2 debug information from 16-bit addresses to 32-bit addresses.
This now allows debugging of code above 64K, including bootloaders for the
ATmega128 and ATmega1281, and debugging of the ATmega2560 and ATmega2561 devices.
This requires a version of AVR Studio that has a new ELF/DWARF2 parser (> 4.12).

Анатолий.
Go to the top of the page
 
+Quote Post
Vitёk
сообщение Feb 26 2007, 19:15
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018



Да уж, "прокосячил"... Особенно учитывая то, что Release Notes не лежат на виду, так же как и не предлагается прочитать их перед скачиванием. Ну да ладно...


--------------------
/* Всё хорошо в меру. */
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Mar 1 2007, 16:36
Сообщение #14


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



У меня стоит WinAVR-20070122, AVRStudio 4.12 с последним апдейтом, но не 4.13. Старый проект специально просмотрел, все работает. В отладке стоит coff, а не DWARF2.

Сообщение отредактировал mdmitry - Mar 1 2007, 16:38


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Vitёk
сообщение Mar 2 2007, 22:27
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018



Цитата
В отладке стоит coff, а не DWARF2
Это в "опциях проекта" -> "линкер" или же руками прописано в makefile?

А тем временем выплыл ещё один глюк симулятора. Проект для Tiny24: разрешаю работу TIMER_COUNTER_1, и автоинкремент происходит не с регистром TCNT1 (адрес 0x2d), а с PRR (адрес 0x00).
В версии 4.13(528) это устранено, пришлось ставить. И WinAVR-20070122 за компанию. smile.gif


--------------------
/* Всё хорошо в меру. */
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 18:14
Рейтинг@Mail.ru


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