Перейти к содержанию
    

Генерация bin файла у AVR Studio 5

Добрый день. Может ли кто-нибудь подсказать, как с помощью AVR Studio 5 получить bin файл под выбранный микроконтроллер?

Изменено пользователем promelectronshchic

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прописать правило в Makefile для

 

# Output format. (can be srec, ihex, binary)

FORMAT = binary

avr-objcopy $(FORMAT)

 

или при помощи утилиты srecord

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, а куда эту строчку то добавлять ? У новой студии 5.1 таких пунктов нету. Я прописую у makefile, который находится у меня у папке Debug, после компиляции он переписывается по своему...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, а куда эту строчку то добавлять ? У новой студии 5.1 таких пунктов нету. Я прописую у makefile, который находится у меня у папке Debug, после компиляции он переписывается по своему...

Нужно выбрать в настройках проекта "Use external makefile"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Понял, а потом мне нужно скопировать то что был makefile+ добавить вот это ?

 

# Output format. (can be srec, ihex, binary)

FORMAT = binary

avr-objcopy $(FORMAT)

 

А в какую строку или не важно?

Изменено пользователем Twen

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ещё как важно.

Ищите и читайте доку на make.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы можете взять пример Makefile из WinAVR там всё внятно прокомментировано.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, я так и сделал, WinAVR скомпилил то что нужно...интересно, что когда у WinAVR изменяю выходной файл hex или bin, на выходе не меняется расширение файла, всегда hex )), но главное что в нем меняется содержимое).

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, я так и сделал, WinAVR скомпилил то что нужно...интересно, что когда у WinAVR изменяю выходной файл hex или bin, на выходе не меняется расширение файла, всегда hex )), но главное что в нем меняется содержимое).

Спасибо.

Так задайте в правилах makefile необходимое расширение. Есть несколько способов добиться этого (явное задание имени или автоматическая генерация). Если выложите файл, то способ можно конкретизировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я прикрепил make файл, настройки для ATtiny48.

Я поменял расширение, чтобы можно было загрузить файл.

Makefile.txt

Изменено пользователем Twen

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я прикрепил 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...