Страница 1 из 2
Как сделать hex файл
Добавлено: Ср июл 06, 2011 15:29:22
Beloff12
Доброе время суток.
Заранее извиняюсь, я не занимаюсь программированием. Вопрос такого порядка. Есть исходники под IAR. ass.asm, main.c, setting.h. Нужно подправить пару цифирей во временных интервалах и создать hex файл для прошивки. Контроллер ATTiny13. Подскажите, пожалуйста, если можно подробно, как это сделать.
Re: Как сделать hex файл
Добавлено: Ср июл 06, 2011 15:42:12
masterpc
Запускаем IAR, идем во вкалдку прожект/крейт нев прожект
выбираяем язык С и аврстудио4 компатайбл оутпут
жмем ок и указываем в какую папку сохранитьпроект
теперь слева вверху жмен на название проекта и правой кнопкой добавляем исходники к проекту (адд файлз)
Лезем во вкладку проект/опции
генералс опшнз/таргет выбираем тип микроконтроллера идем далее по вкладках и на вкладке систем, где настройки стека, включаем енайбл бит дефинишн
идем ниже, в линкер и меняем $PROJ_FNAME$.d90 на $PROJ_FNAME$.hex
вроде как все, компилируем и получаем хекс по адресу: имя проекта\Debug\Exe имяпроекта.hex
З.Ы в настройках проекта еще можно выбрать оптимизацию при компилировании. Это иногда помогает уменьшитьразмер кода. находится в прожект/опшнз/с/с++компиллер
Прошу прощения за транслит, так мне быстрее, а Вам и так понятно

Re: Как сделать hex файл
Добавлено: Ср июл 06, 2011 15:59:06
Beloff12
Огромное спасибо masterpc за ответ и разъяснение. Буду пробовать.
Re: Как сделать hex файл
Добавлено: Ср июл 06, 2011 16:03:31
masterpc
Beloff12 писал(а):Огромное спасибо masterpc за ответ и разъяснение. Буду пробовать.
Пожалуйста! Удачи!!!
Re: Как сделать hex файл
Добавлено: Ср июл 06, 2011 20:16:12
aleksey_gregul
Если это моя рыба13, то еще добавляем
c/c++ compiler/code/Number of registers ... выбираем R4..R15
Кроме того, Output format меняем на Intel-standard
add файлов в проект не нужно.
Просто создаете пустой проект. Среда создаст main.c файл.
Вместо него ложите мой main.c и в ту же директорию остальные файлы проекта.
Вот теперь, похоже, все.
Re: Как сделать hex файл
Добавлено: Ср июл 06, 2011 21:55:31
Beloff12
Доброе время суток Алексей!
Вы правы это Ваша ryba. Во-первых хочу поблагодарить Вас за проделанную работу!!!
Собрал сигнализатор по Вашему первому проекту. За основу взял купленный за 45 грн. сигнализатор, выбросил все внутренности, вырезал по контуру плату и развел печатку, Ваша не помещалась из-за батарейного отсека, элементы разместил на свободных местах. Работает прекрасно, но хотелось бы изменить временные интервалы срабатывания под себя. Я в программировании и прочих таких нюансах космический челнок "Буран". Если Вас не затруднит, объясните, пожалуйста, что значит registers ... выбираем R4..R15.
Спасибо!
Re: Как сделать hex файл
Добавлено: Чт июл 07, 2011 11:26:25
aleksey_gregul
В свойствах проекта для c/c++ compiler
на вкладке code в выпадающем списке Number of registers ... выбираем R4..R15
Я в качестве "хранилища" для переменных люблю использовать не ОЗУ а регистры.
Так и размер хекса получается поменьше и работает быстрее.
Для этого нужно компилятору сказать, что эти регистры будут зарезервированы для моих переменных, чтобы он их по своему усмотрению не использовал.
Если этого не сделать, компилятор будет ругаться.
Re: Как сделать hex файл
Добавлено: Чт июл 07, 2011 11:44:42
Beloff12
Спасибо за ответ, Алексей.
Просто я имел ввиду то, что выбирать регистры можно произвольно, или необходимо указать какой-то определенный регистр?
Re: Как сделать hex файл
Добавлено: Чт июл 07, 2011 17:16:50
Beloff12
Сделал все как советовали. После компиляции выскакивает сообщение:
main.c
Warning[Pe001]: last line of file ends without a newline C:\ryba\main.c 189
Done. 0 error(s), 1 warning(s)
hex файла нет.
Что я делаю неправильно?
Re: Как сделать hex файл
Добавлено: Чт июл 07, 2011 19:46:21
aleksey_gregul
Откройте его и в конце ткните клавишу ЕНТЕР
Чтобы была в конце пустая строка.
Re: Как сделать hex файл
Добавлено: Чт июл 07, 2011 19:48:37
masterpc
aleksey_gregul писал(а):Откройте его и в конце ткните клавишу ЕНТЕР
Чтобы была в конце пустая строка.
Кстати, я так всегда сам делаю, но какой смысл в этой пустой строке?
Re: Как сделать hex файл
Добавлено: Чт июл 07, 2011 20:05:23
aleksey_gregul
Это капризы самого ИАР_а
Ну хотят его авторы, чтобы был в конце признак конца файла.
Если файлик редактировался не самой средой, такое может быть.
И не только в конце...

Re: Как сделать hex файл
Добавлено: Чт июл 07, 2011 20:27:31
masterpc
Понятно

Re: Как сделать hex файл
Добавлено: Чт июл 07, 2011 20:59:02
Beloff12
Сделал, но это как в программе которая требует доустановить библиотеку. Подставляешь, требует другую, после другой третью и т. д. Теперь выпало сообщение:
main.c
Warning[Pe001]: last line of file ends without a newline C:\ryba\main.c 190
Done. 0 error(s), 1 warning(s)
Что ей еще не хватает. Вы уж извините меня за назойливость, но хочется чтобы получилось, а......
Re: Как сделать hex файл
Добавлено: Чт июл 07, 2011 22:23:55
masterpc
Если варнинги только о том, что нужно пустую строку после кода, то на них можно забить. Если больше никаких ошибок, то hex должен уже лежать по адресу: имя проекта\Debug\Exe имяпроекта.hex
Re: Как сделать hex файл
Добавлено: Чт июл 07, 2011 22:36:14
Beloff12
Больше ничего нет кроме тех строк которые я показал. Тем более, что 0 ошибок. Но hex-а нет. Может в опциях еще что-то нужно указать. Я полностью следовал ваши с Алексеем инструкциям.
Re: Как сделать hex файл
Добавлено: Чт июл 07, 2011 23:10:03
masterpc
а можете выложить архивом свой проект для ИАРа?
Re: Как сделать hex файл
Добавлено: Чт июл 07, 2011 23:21:32
Beloff12
Я сбрасывал Вам письмо в личку с архивом. Наверное Вы его просто не получили по каким то причинам. Выкладываю проект.
Re: Как сделать hex файл
Добавлено: Пт июл 08, 2011 09:43:28
masterpc
Я имел ввиду полный ИАРовский проект. Ну ниче, я уже сделал сам. Все компилируется без ошибок, hex тоже создается. Проект а архиве.
Re: Как сделать hex файл
Добавлено: Пт июл 08, 2011 10:30:54
aleksey_gregul
masterpc писал(а):Я имел ввиду полный ИАРовский проект. Ну ниче, я уже сделал сам. Все компилируется без ошибок, hex тоже создается. Проект а архиве.
У Вас немножко не тот проект. Это старая версия.
Вот именно тот, который делает ТС.
- RYBA.rar
- Полный проект С:\RYBA
- (23.64 КБ) 247 скачиваний
Открывать - File/Open/Workspace - C:\ryba\ryba.eww
Забыл напомнить, что при установках стека по умолчанию, не хватает 1 байта озу для переменных.
Для этого нужно еще поменять General options/System Data Stack (CSTACK) SiZE (bytes) 0x1F