реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Генерация bin файла у AVR Studio 5
promelectronshch...
сообщение Apr 13 2012, 08:49
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 8-11-10
Из: Украмна
Пользователь №: 60 714



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

Сообщение отредактировал promelectronshchic - Apr 13 2012, 08:50
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 13 2012, 09:40
Сообщение #2


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



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

# Output format. (can be srec, ihex, binary)
FORMAT = binary
avr-objcopy $(FORMAT)

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


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
promelectronshch...
сообщение Apr 13 2012, 12:59
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 8-11-10
Из: Украмна
Пользователь №: 60 714



Ок, спасибо.
Go to the top of the page
 
+Quote Post
Twen
сообщение Apr 17 2012, 12:51
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 7-02-09
Пользователь №: 44 543



Кстати, а куда эту строчку то добавлять ? У новой студии 5.1 таких пунктов нету. Я прописую у makefile, который находится у меня у папке Debug, после компиляции он переписывается по своему...
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Apr 17 2012, 13:19
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Twen @ Apr 17 2012, 15:51) *
Кстати, а куда эту строчку то добавлять ? У новой студии 5.1 таких пунктов нету. Я прописую у makefile, который находится у меня у папке Debug, после компиляции он переписывается по своему...

Нужно выбрать в настройках проекта "Use external makefile"
Go to the top of the page
 
+Quote Post
Twen
сообщение Apr 17 2012, 13:26
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 7-02-09
Пользователь №: 44 543



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

# Output format. (can be srec, ihex, binary)
FORMAT = binary
avr-objcopy $(FORMAT)

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

Сообщение отредактировал Twen - Apr 17 2012, 13:27
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 17 2012, 13:34
Сообщение #7


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Ещё как важно.
Ищите и читайте доку на make.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Twen
сообщение Apr 17 2012, 13:53
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 7-02-09
Пользователь №: 44 543



ясно...
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 18 2012, 04:59
Сообщение #9


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



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


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Twen
сообщение Apr 18 2012, 07:29
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 7-02-09
Пользователь №: 44 543



Да, я так и сделал, WinAVR скомпилил то что нужно...интересно, что когда у WinAVR изменяю выходной файл hex или bin, на выходе не меняется расширение файла, всегда hex )), но главное что в нем меняется содержимое).
Спасибо.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Apr 18 2012, 11:03
Сообщение #11


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Twen @ Apr 18 2012, 11:29) *
Да, я так и сделал, WinAVR скомпилил то что нужно...интересно, что когда у WinAVR изменяю выходной файл hex или bin, на выходе не меняется расширение файла, всегда hex )), но главное что в нем меняется содержимое).
Спасибо.

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


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Twen
сообщение Apr 19 2012, 18:37
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 7-02-09
Пользователь №: 44 543



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

Сообщение отредактировал Twen - Apr 19 2012, 18:39
Прикрепленные файлы
Прикрепленный файл  Makefile.txt ( 17.1 килобайт ) Кол-во скачиваний: 31
 
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Apr 20 2012, 11:01
Сообщение #13


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Twen @ Apr 19 2012, 22:37) *
Я прикрепил 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.gif Эти идеи часто используются в makefile. Посмотрите описание утилиты gnu make


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01452 секунд с 7
ELECTRONIX ©2004-2016