Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Перестал работать AVR Studio и WinAVR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Инженер
Трудность такая. Вдруг, совершенно неожиданно, AVR Studio и WinAVR перестали компилировать проект. Причем уже готовый, исправный файл. По окончании компиляции выдает сообщение об ошибке:
make.exe: *** [soft411131v5.o] Error -1073741819

> Process Exit Code: 2
Переустановка AVRStudio и WinAVR помогает, компиляция идет, но только один день. На следующий день, после перезагрузки компьютера, опять повторяется. Подозреваю, что дело в make.exe...
Makefile для WinAVR и AVR Studio разные. В чем проблема?
SysRq
Попробуйте из консоли спросить: which make.exe. Должен ответить, что C:\WinAVR\utils\bin\make.exe. Ежели не там найдёт make.exe, то в этом, видать, и дело.
В %PATH% поправить: C:\WinAVR\bin;C:\WinAVR\utils\bin;%ВСЁ_ОСТАЛЬНОЕ%
sensor_ua
возможно проблема с файрволом
Инженер
Пути прописаны, проверял, файрола нет.
Команда Which находит ьфлуюучу в \...\WinAVR\bin\make.exe, то есть там, где он и лежит.
Сергей Борщ
Цитата(Инженер @ May 7 2010, 07:21) *
Error -1073741819
Исключение c0000005. Микрософт советует бороться так: http://support.microsoft.com/kb/811270, но при получении его при загрузке. Посмотрите в Control Panel->Administrative tools->Event viewer, может там будет больше информации о причинах.
sensor_ua
Ещё встречались проблемы (не скажу что именно эта) при кириллице в путях к temp. (мне встречалось при имени пользователя, записанном кириллицей).
ILYAUL
Цитата(sensor_ua @ May 7 2010, 10:12) *
Ещё встречались проблемы (не скажу что именно эта) при кириллице в путях к temp. (мне встречалось при имени пользователя, записанном кириллицей).


+1
Инженер
Кириллических путей к Temp нет. Temp вообще в корень перенесен.
SysRq
Цитата(Инженер @ May 7 2010, 09:23) *
в \...\WinAVR\bin\make.exe
Там где \...\ пробелы в путях есть? Если Vista, попробуйте путь без пробелов. Версия WinAVR какая?
sensor_ua
вот нашлась инфа по коду ошибки http://forum.sysinternals.com/psexec-error...topic14138.html
может, чем поможет
Инженер
В общем, пробелов в путях нет, кириллических символов тоже, версия WinAVR 20100110. инфа ничем не помогла, так как относится, скорее, к ОС в целом.
Да, вот еще. При каждой компиляции запускается процесс as.exe и drwtsn.exe, после нескольких запусков память забита этими процессами.
Сергей Борщ
Цитата(Инженер @ May 11 2010, 05:19) *
Да, вот еще. При каждой компиляции запускается процесс as.exe и drwtsn.exe, после нескольких запусков память забита этими процессами.
Подозреваю, что вы нашли какую-то багу в ассемблере. Вам надо добавить в makefile диагностический вывод имени текущей цели и просмотреть, "спотыкается" он все время на одном и том же файле или на разных. Примерно так:
Код
$(OBJDIR)/%.o: %.c
    @echo Compiling: $<
    $(CC) $(INCLUDES) $(CFLAGS) -Wa,-ahlmsd=$(LSTDIR)/$(notdir $(<:.c=.lst)) -c  $< -o $@
$(OBJDIR)/%.o: %.cpp
    @echo Compiling: $<
    $(CC) $(INCLUDES) $(CFLAGS) -Wa,-ahlmsd=$(LSTDIR)/$(notdir $(<:.cpp=.lst)) -c  $< -o $@
$(OBJDIR)/%.o: %.S
    @echo Assembling: $<
    $(CC) $(INCLUDES) $(ASMFLAGS) -c  $< -o $@

А make и вообще все утилиты из WinAVR (а особенно msys.dll) стоит обновить отсюда: MSYS/MinGW. Понадобится MSYS coreutils и остальное по вкусу. В WinAVR идет выжимка из msys от 2003 года, про ее баги я несколько раз писал на багтрекере WinAVR (пока атмел не выкупил проект и багтрекер был еще жив) и Эрик каждый раз закрывал мои репорты с резолюцией won't fix.
Инженер
Цитата(Сергей Борщ @ May 11 2010, 11:02) *
(а особенно msys.dll) стоит обновить отсюда: MSYS/MinGW. Понадобится MSYS coreutils и остальное по вкусу. В WinAVR идет выжимка из msys от 2003 года, про ее баги я несколько раз писал на багтрекере WinAVR (пока атмел не выкупил проект и багтрекер был еще жив) и Эрик каждый раз закрывал мои репорты с резолюцией won't fix.

там несколько архивов, запакованных чем-то, неподдающемуся RAR'у. Что именно выбрать?
Сергей Борщ
Цитата(Инженер @ May 11 2010, 08:50) *
там несколько архивов

Берите *-bin.tar.lzma
Цитата(Инженер @ May 11 2010, 08:50) *
, запакованных чем-то, неподдающемуся RAR'у. Что именно выбрать?
7zip прекрасно открывает.
P.S. Я немного ошибся - dll живет в архиве Base System, а не Core utils. Но Core utils тоже пригодятся.
Инженер
так, и куда распаковывать содержимое? Особенно, если MSYS.dll не было до этого.
Сергей Борщ
Цитата(Инженер @ May 11 2010, 10:49) *
так, и куда распаковывать содержимое? Особенно, если MSYS.dll не было до этого.
В WinAVR/utils или еще в каку-нибудь папку, которую прописать в path а winavr/utils удалить (или переименовать на время проверки). msys.dll была, она была в winavr/utils/bin, полное имя msys-1.0.dll.
Инженер
lol.gif Заменил msys.dll, теперь другая ошибка- при создании .elf и .lss.
avr-gcc -mmcu=atmega64 -Wl,-Map=soft411131v5.map soft411131v5.o -o soft411131v5.elf
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature soft411131v5.elf soft411131v5.hex
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex soft411131v5.elf soft411131v5.eep || exit 0
make: [soft411131v5.eep] Error 1 (ignored)
avr-objdump -h -S soft411131v5.elf > soft411131v5.lss
make: *** [soft411131v5.lss] Error 1
Build failed with 1 errors and 1 warnings...
Сергей Борщ
Цитата(Инженер @ May 11 2010, 11:33) *
lol.gif Заменил msys.dll, теперь другая ошибка- при создании .elf и .lss.
По-хорошему надо бы еще обновить хотя бы sh и make. А текст самой ошибки куда потерялся? Выполните avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex soft411131v5.elf soft411131v5.eep из командной строки
Инженер
Вот это и есть текст ошибки в AVR Studio. Больше никаких сообщений нет.
Сергей Борщ
Цитата(Инженер @ May 11 2010, 12:36) *
Вот это и есть текст ошибки в AVR Studio.
Выполните из командной строки в той же папке. Возможно, получите более развернутое описание ошибки.
Первая скорее всего о том, что в вашем файле нет секций, которые можно слить в eep. А вот почему ругается на генерацию листинга - надо копать. Выполните из командной строки avr-objdump -h -S soft411131v5.elf > soft411131v5.lss
А не может быть, что файл .lss открыт каким-то не очень удачным редактором и заблокирован от записи?
Инженер
Цитата(Сергей Борщ @ May 11 2010, 16:50) *
А не может быть, что файл .lss открыт каким-то не очень удачным редактором и заблокирован от записи?

Проверю.
Хотя WinAVR тоже ошибку выдает, а у нее свой проект.
Инженер
Диагностировал вроде бы. Не компилируется, когда запущен explorer. Надо убить explorer, зпустить AVR Studio, потом можно explorer запускать. Вирус там что ли......
fmdost
Цитата(Инженер @ May 17 2010, 06:31) *
Вирус там что ли......

Если с местного фтп то да.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.