Глас вопиющего в пустыне. Ну да ладно.Разобрался сам: В Makefile на 5й строке есть выражение CC_BASE = C:/AVR/avr-gcc-8.3.0-x86-mingw. Обратите внимание, что указана версия компилятора для 32bit версии Windows. До добавления по просьбе форумчан, компилятора для 32х разрядной версии винды, в Makefile выражение имело вид CC_BASE = C:/AVR/avr-gcc-8.3.0-x64-mingw. С этой версией я и проводил все эксперименты. А после смены винта и винды не обратил внимания что во всех бета версиях теперь торчит CC_BASE = C:/AVR/avr-gcc-8.3.0-
x86-mingw, то бишь 32bit. Вот и протрахался неделю. Так что обратите на это внимание владельцы 64 битной Windows. Эксперименты продолжу, по результатм отпишусь. Всем успеха!
Добавлено after 3 hours 45 minutes 11 seconds:Вот слегка подправленная инструкция ( надеюсь
*Trigger* не осудит)
Итак, инструкция (в основном, для пользователей Windows. Те, кто используют Linux и подобные системы, с этим знакомы):
1. Скачать
здесь архив с исходниками winding_machine_all.zip, а также архив с компилятором (из папки avr-gcc). Архив winding_machine_all.zip будет мной обновляться при доработках программы.
2. Распаковать оба архива куда-нибудь (не обязательно в одно и то же место), при этом в путях не должно быть пробелов и русских букв (для тех, у кого Windows с русским именем пользователя: не используйте папку пользователя в C:\Users\user, распакуйте куда-нибудь поближе к корню диска (D:\AVR ).
3. Открыть файл
D:\AVR\winding_machine_all\winding_machine/
Makefile (он без расширения, открыть можно блокнотом)
4. Найти в файле строку (5я строка)
Код:
CC_BASE =
C:/AVR/avr-gcc-8.3.0-
x64-mingw
и заменить в ней всё, что написано после знака "=", на тот путь, куда Вы распаковали компилятор (например, если это D:\AVR, то надо написать
Код:
CC_BASE =
D:/AVR/avr-gcc-8.3.0-
x64-mingw
Для 32х битной версии Windows код будет иметь вид:
Код:
CC_BASE =
D:/AVR/avr-gcc-8.3.0-
x86-mingw
Важно! обратные слеши "\" надо заменить на прямые "/".
Сохранить изменения.
5. Внести, если требуются для вашего станка или вашего видения конструкции, изменения в файлы
pins.h, lcdlibrary/lcd_definitions.h, winding.h и main.c, сохранить. Использовать можно любой текстовый редактор.
6. Открыть командную строку (нажать Win + R, написать "cmd" (без кавычек), нажать Enter).
7. Выполняем смену диска:
C:\ users\user>
D:D:\>
Переходим в папку winding_machine из распакованного архива
D:\AVR\winding_machine_all\winding_machine
Для этого меняем директорию, т.е. заходим в папку с распакованным архивом
cd
D:\AVR\winding_machine_all\winding_machine ,
получаем вид в командной строке
D:\AVR\winding_machine_all\winding_machine>
8. Далее. Если компилятор был распакован в
D:\AVR\, то нужно ввести
Код:
D:\AVR\avr-gcc-8.3.0-
x64-mingw\bin (потому, что в makefile так и прописано > CC_BASE =
D:/AVR/avr-gcc-8.3.0-
х64-mingw)
Строка в консоли примет вот такой вид
D:\AVR\winding_machine_all\winding_machine>
D:\AVR\avr-gcc-8.3.0-
x64-mingw\bin
Осталось добавить команду make
но... есть нюансы.
В папке
D:\AVR\winding_machine_all\winding_machine\bin > лежат хранилища для нескольких видов контроллеров серии ATmega
Release
Release_m88
Release_m88p
Release_m168
Release_m168p
Release_m328
Release_m328p
В них находятся прошивки для определённого вида механники, которая для каких-то станков не подходит.
В таком случае в конце строки добавляем
make clean_allD:\AVR\winding_machine_all\winding_machine>
D:\AVR\avr-gcc-8.3.0-
x64-mingw\bin\
make clean_all и нажимаем
Enter.
Стирается вся информация в папках Release*
Если например надо стереть сборку для одного МСU,то:
D:\AVR\winding_machine_all\winding_machine>
D:\AVR\avr-gcc-8.3.0-
x64-mingw\bin\
make clean MCU=atmega168pa ( на ваш выбор)
После этого вы можете без напрягов и танцев с бубном скомпилировать прошивку для любого микроконтроллера
из списка Realese (в первой папке realese живёт
ATmega8), предварительно внеся изменения в файлы указанные выше (
pins.h, lcdlibrary/lcd_definitions.h, winding.h и main.c)
Для этого:
D:\AVR\winding_machine_all\winding_machine>
D:\AVR\avr-gcc-8.3.0-
x64-mingw\bin\
make (для atmega8)
D:\AVR\winding_machine_all\winding_machine>
D:\AVR\avr-gcc-8.3.0-
x64-mingw\bin\
make MCU=atmega88pa ( для atmega88pa)
D:\AVR\winding_machine_all\winding_machine>
D:\AVR\avr-gcc-8.3.0-
x64-mingw\bin\
make MCU=atmeg168pa ( для atmega168pa) ну и т.д.
9. В случае успешной компиляции в конце будет выведено сообщение о занятой памяти:
Код:
AVR Memory Usage
----------
Device: atmega8
Program: 7712 bytes (94.1% Full)
(.text + .data + .bootloader)
Data: 230 bytes (22.5% Full)
(.data + .bss + .noinit)
Никаких сообщений об ошибках быть не должно.
Скомпилированную прошивку найдёте там, где исходники, по пути
D:\AVR\winding_machine_all\winding_machine\bin\
Release\winding_machine.hex. Прочие имеющиеся там файлы не используются.
Я прошиваю контроллером USBAsp Пробовал программы Khazama (на выскакивающие ошибки программы можно не обращать внимания) и AVERDUDE
Возможны какие-то косяки с последней прошивкой она ещё не проверена в работе. Идёт тестирование.
В этом варианте инструкции просто объединены ответы практически на все заданные в течение темы вопросы читателей по компиляции.