AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
20.02.2020, 17:24
|
|
Частый гость
Регистрация: 13.02.2020
Адрес: Санкт-Петербург
Сообщений: 13
Сказал спасибо: 17
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Ошибка при сборке проекта в AtmelStudio 7.
Добрый день!
Начал писать прошивку для платы (чип Atmega640) и сразу наткнулся на проблему: AtmelStudio 7 отказывается собирать проект. К своему сожалению, я не могу вспомнить, что предшествовало этой ошибке, но понимаю, что "случайно" она возникнуть не могла. Теперь к делу.
Решив, что всё дело может быть в каких-нибудь неверных настройках, я создал новый проект, но он даже с одной функцией main() и подключенной библиотекой io.h не хочет собираться по Ctrl + Alt + F7:
В окне output выводится следующее сообщение:
Код:
|
------ Rebuild All started: Project: GccApplication1, Configuration: Debug AVR ------
Build started.
Project "GccApplication1.cproj" (Clean target(s)):
Target "Clean" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "D:\Atmel progects\probl3m\GccApplication1\GccApplication1\G ccApplication1.cproj" (entry point):
Task "RunCompilerTask"
Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe clean
rm -rf main.o
rm -rf main.d
rm -rf "GccApplication1.elf" "GccApplication1.a" "GccApplication1.hex" "GccApplication1.lss" "GccApplication1.eep" "GccApplication1.map" "GccApplication1.srec" "GccApplication1.usersignatures"
Done executing task "RunCompilerTask".
Done building target "Clean" in project "GccApplication1.cproj".
Done building project "GccApplication1.cproj".
Build succeeded.
------ Rebuild All started: Project: GccApplication1, Configuration: Debug AVR ------
Build started.
Project "GccApplication1.cproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "D:\Atmel progects\probl3m\GccApplication1\GccApplication1\G ccApplication1.cproj" (target "Build" depends on it):
Task "RunCompilerTask"
Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all --jobs 4 --output-sync
Building file: .././main.c
Invoking: AVR/GNU C Compiler : 5.4.0
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe" -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.3. 300\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega640 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.3. 300\gcc\dev\atmega640" -c -std=gnu99 -MD -MP -MF "main.d" -MT"main.d" -MT"main.o" -o "main.o" ".././main.c"
Finished building: .././main.c
C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe: 'GccApplication1.elf': No such file
C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe: 'GccApplication1.elf': No such file
make: *** [GccApplication1.elf] Error 1
Building target: GccApplication1.elf
Invoking: AVR/GNU Linker : 5.4.0
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe" -o GccApplication1.elf main.o -Wl,-Map="GccApplication1.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=atmega640 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.3. 300\gcc\dev\atmega640"
Finished building target: GccApplication1.elf
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "GccApplication1.elf" "GccApplication1.hex"
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "GccApplication1.elf" "GccApplication1.eep" || exit 0
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "GccApplication1.elf" › "GccApplication1.lss"
D:\Atmel progects\probl3m\GccApplication1\GccApplication1\D ebug\Makefile(106,1): error: recipe for target 'GccApplication1.elf' failed
Done executing task "RunCompilerTask" -- FAILED.
Done building target "CoreBuild" in project "GccApplication1.cproj" -- FAILED.
Done building project "GccApplication1.cproj" -- FAILED.
Build FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ========== |
Исходя из сообщений, я полагаю, что ошибка содержится в Makefile, но не понимаю, как её исправить, ведь он создаётся автоматически. Этот "пустой" проект я попробовал собрать на другом компьютере, он собрался, но настройки проекта на первом и втором ПК были идентичны друг другу...
Я пробовал полную переустановку студии, но проблема осталась на месте. Признаться честно, с таким я сталкиваюсь впервые, и я не имею никаких идей на счёт того, как я это всё устроил, и как мне теперь это всё исправить, поэтому прошу о помощи. На всякий случай прикладываю свой Makefile.
Заранее благодарю за ответы.
|
|
|
|
20.02.2020, 19:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 15.11.2010
Сообщений: 2,379
Сказал спасибо: 338
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
|
Re: Ошибка при сборке проекта в AtmelStudio 7.
Ну он пишет:
Цитата:
|
C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe: 'GccApplication1.elf': No such file
C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe: 'GccApplication1.elf': No such file
|
И почему пути с такими дикими пробелами?
Сообщение от Selivanov_Sasha
|
D:\Atmel progects\probl3m\GccApplication1\GccApplication1\D ebug
|
|
|
|
|
21.02.2020, 10:46
|
|
Частый гость
Регистрация: 13.02.2020
Адрес: Санкт-Петербург
Сообщений: 13
Сказал спасибо: 17
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Ошибка при сборке проекта в AtmelStudio 7.
Пробел в пути проекта только один - это название папки Atmel progets. В папке Debug никаких пробелов нет, и даже сейчас я посмотрел в окне output - там ничего такого нет. Это видимо при вставке текста в сообщение что-то случилось.
Он пишет, что avr-objcopy.exe не может найти "эльфа", но ведь он лежит в папке debug проекта.
|
|
|
|
21.02.2020, 16:33
|
|
Прописка
Регистрация: 25.03.2013
Адрес: Глубокое замкадье
Сообщений: 216
Сказал спасибо: 3
Сказали Спасибо 71 раз(а) в 55 сообщении(ях)
|
Re: Ошибка при сборке проекта в AtmelStudio 7.
Makefile некорректный.
В 4 потока он нормально не отработает
Сообщение от Selivanov_Sasha
|
--jobs 4
|
Либо собирать в 1 поток, либо сделать, чтобы Makefile генерировался правильно:
Для ihex,.eeprom,GccApplication1.lss,srec и вычислителя размера должны быть отдельные цели, зависящие от GccApplication1.elf.
А цель all должна зависеть от всех этих целей.
Тогда многопоточная сборка заработает корректно.
|
|
|
|
01.03.2020, 21:42
|
|
Частый гость
Регистрация: 13.02.2020
Адрес: Санкт-Петербург
Сообщений: 13
Сказал спасибо: 17
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Ошибка при сборке проекта в AtmelStudio 7.
Всем добрый вечер.
Вообщем, нарыл информацию, что в таком случае может помочь переустановка программы, но при условии, что будет удалено всё, что с ней связано, подчистую. Но тут мнения разделяются: кому-то помогло, а кому-то (как мне) - нет. Я снёс систему и накатил студию по новой. Теперь всё работает. Да, это не принесло мне понимания, откуда на самом деле берётся эта ошибка, и как её правильно исправлять, но это, скажем так, самый радикальный способ, когда ничего другого не остаётся.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:11.
|
|