promelectronshchic 0 13 апреля, 2012 Опубликовано 13 апреля, 2012 (изменено) · Жалоба Добрый день. Может ли кто-нибудь подсказать, как с помощью AVR Studio 5 получить bin файл под выбранный микроконтроллер? Изменено 13 апреля, 2012 пользователем promelectronshchic Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 13 апреля, 2012 Опубликовано 13 апреля, 2012 · Жалоба Прописать правило в Makefile для # Output format. (can be srec, ihex, binary) FORMAT = binary avr-objcopy $(FORMAT) или при помощи утилиты srecord Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
promelectronshchic 0 13 апреля, 2012 Опубликовано 13 апреля, 2012 · Жалоба Ок, спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Twen 0 17 апреля, 2012 Опубликовано 17 апреля, 2012 · Жалоба Кстати, а куда эту строчку то добавлять ? У новой студии 5.1 таких пунктов нету. Я прописую у makefile, который находится у меня у папке Debug, после компиляции он переписывается по своему... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Артём__ 0 17 апреля, 2012 Опубликовано 17 апреля, 2012 · Жалоба Кстати, а куда эту строчку то добавлять ? У новой студии 5.1 таких пунктов нету. Я прописую у makefile, который находится у меня у папке Debug, после компиляции он переписывается по своему... Нужно выбрать в настройках проекта "Use external makefile" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Twen 0 17 апреля, 2012 Опубликовано 17 апреля, 2012 (изменено) · Жалоба Понял, а потом мне нужно скопировать то что был makefile+ добавить вот это ? # Output format. (can be srec, ihex, binary) FORMAT = binary avr-objcopy $(FORMAT) А в какую строку или не важно? Изменено 17 апреля, 2012 пользователем Twen Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 17 апреля, 2012 Опубликовано 17 апреля, 2012 · Жалоба Ещё как важно. Ищите и читайте доку на make. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Twen 0 17 апреля, 2012 Опубликовано 17 апреля, 2012 · Жалоба ясно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 18 апреля, 2012 Опубликовано 18 апреля, 2012 · Жалоба Вы можете взять пример Makefile из WinAVR там всё внятно прокомментировано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Twen 0 18 апреля, 2012 Опубликовано 18 апреля, 2012 · Жалоба Да, я так и сделал, WinAVR скомпилил то что нужно...интересно, что когда у WinAVR изменяю выходной файл hex или bin, на выходе не меняется расширение файла, всегда hex )), но главное что в нем меняется содержимое). Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 18 апреля, 2012 Опубликовано 18 апреля, 2012 · Жалоба Да, я так и сделал, WinAVR скомпилил то что нужно...интересно, что когда у WinAVR изменяю выходной файл hex или bin, на выходе не меняется расширение файла, всегда hex )), но главное что в нем меняется содержимое). Спасибо. Так задайте в правилах makefile необходимое расширение. Есть несколько способов добиться этого (явное задание имени или автоматическая генерация). Если выложите файл, то способ можно конкретизировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Twen 0 19 апреля, 2012 Опубликовано 19 апреля, 2012 (изменено) · Жалоба Я прикрепил make файл, настройки для ATtiny48. Я поменял расширение, чтобы можно было загрузить файл. Makefile.txt Изменено 19 апреля, 2012 пользователем Twen Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 20 апреля, 2012 Опубликовано 20 апреля, 2012 · Жалоба Я прикрепил make файл, настройки для ATtiny48. возможно варианты: I. 1. добавить bin: $(TARGET).bin 2. изменить и добавить %.hex: %.elf @echo @echo $(MSG_FLASH) $@ $(OBJCOPY) -O ihex -R .eeprom -R .fuse -R .lock $< $@ %.bin: %.elf @echo @echo $(MSG_FLASH) $@ $(OBJCOPY) -O binary -R .eeprom -R .fuse -R .lock $< $@ 3. использование build: elf hex eep lss sym или build: elf bin eep lss sym Это для основной прошивки. Аналогично можно сделать и формат для eeprom. В этом случае FORMAT вообще не используется. II. Вид выхода задается в FORMAT, но придется использовать условные конструкции. 1. сделать 1. и 2. из I. 2. ifeq ($(FORMAT),binary) OUT= binary else ifeq ($(FORMAT),ihex) OUT= hex else OUT = endif endif 3. build: elf $(OUT) eep lss sym Аналогично для eeprom, задать какой-нибудь OUTEEP. III. можно придумать ещё что-то Я не проверял работоспособность. :laughing: Эти идеи часто используются в makefile. Посмотрите описание утилиты gnu make Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться