Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/23: Рейтинг темы: голосов - 23, средняя оценка - 4.96
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
1

Дописать один *.hex в конец другого (AVR Studio 4.19)

03.02.2015, 07:32. Показов 4657. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Столкнулся вот с какой задачей:
1. Есть основная программа, назовем main.hex
2. Понадобилось добавить бутлоадер (boot.hex), чтобы если что, оперативно менять прошивку, бутлоадер выбрал от Di-Halt, который работает с AVRProk, времени мало с другими разбираться было
3. Бутлоадер работает, но, слишком много операций по прошивке: сначала прошиваем boot.hex, потом уже через бутлоадер зашиваем main.hex - долго, много операций.
4. Как, при компиляции основной программы сделать так, чтобы в конец main.hex дописывалась секция boot.hex? Знаю, что так можно делать, но конкретики не нашел, в гуглах упоминание srecord и прочих операций, но конкретно инструкций для AVR Studyo 4.19 не нашел.
5. Пробовал просто дописывать через блокнот в main.hex код из boot.hex (без последних :00000001FF), все работает, но после каждого изменения основной программы возиться с блокнотом неудобно.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2015, 07:32
Ответы с готовыми решениями:

AVR Studio. Различный размер HEX
Привет народ, помогите разобратса с такой проблемой. что делаю не так? А проблема в следующем,...

Atmega16. AVR Studio. Дописать таймер
Доброго времени суток , помогите с курсовым : "устройство управления печью на хлебокомбинате"...

Вставить один список в конец другого
первый элемент второго списка не записывается void input_list2_list1(node* top1, node* top2) {...

Добавить один массив в конец другого
Задача 5 Даны два числовых массива X и Y с количеством элементов 10 и 20, соответственно. Получите...

CAVR против AVR Studio, что не так в программе под AVR Studio
Проблема такая, есть исходник, если его компилировать в CAVR заливаю в МК все работает, если этот...

11
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
03.02.2015, 07:37 2
UPD: есть утилита (входит в AVR ToolShoyn) srec_cat.ixi
Работать с ней можно следующим образом:
Код
srec_cat main.hex -I boot.hex -I -o sombined.hex -I
Куда вставлять эту строчку в AVR Studyo? Она должна выполняться после компиляции, когда main.hex уже готов
0
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
03.02.2015, 07:39 3
Вот хорошая утилитка
http://srecord.sourceforge.net/
0
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
03.02.2015, 07:44 4
на неё наталкивался - это и есть srec_cat, которая входит в AVR Toolchain. Лишнии манипуляции со сторонними программами нежелательны, лучше если всё автоматом будет происходить
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
03.02.2015, 10:06 5
Где-то тут писали как в Студии можно добавить бинарник к существующему проекту и он добавится в основную программу. Т.е. в студии в настройках добавить бинарник загрузчика и за одну прошивку загрузить и загрузчик, и программу.
Лично я не заморачиваюсь - гружу загрузчик, а уже через него обновляю программу. Мне кажется, что так проще и точно не забудешь прицепить к проекту загрузчик.
0
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
03.02.2015, 10:14 6
А теперь представьте, что надо прошить, пускай 200 устройств. В моем случае, надо будет прошить фьюзы, и объединённую прошивку через ISP. В вашем - сначала через ISP фьюзы и бутлоадер, затем через бутлоадер залить основую прошивку. Дольше получается.
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
03.02.2015, 10:23 7
Без проблем. Заливаете в одно устройство по-отдельности. Затем читаете прошивку в файл и заливаете этот файл в любое количество устройств.
0
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
03.02.2015, 10:32 8
Да, так можно, уже думал над этим. Но случись что изменить в основной прошивке - появляется куча дополнительных операций.
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
03.02.2015, 10:34 9
Изменения в основной прошивке загружаются через уже зашитый бутлоадер.
0
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
03.02.2015, 10:47 10
Хорошо, попытаюсь объяснить более доступно.
Представьте, производство, мелкая серия, и что немаловажно - не в РФ. Контроллеры впаиваются уже прошитые (разъема ISP в устройстве нет, только UART). Предположим, что в начале производства я последовал вашей инструкции - получил готовый hex c программой и бутлоадером. Производят их, к примеру, месяца два-три, пошли отзывы от клиентов, надо подкорректировать прошивку. Если делать как вы сказали - уже по бутлоадеру обновлять, то появляется дополнительная операция - прошить через бутлоадер. Для этого нужен USB-UART, т.е. переходники в количестве штук 10-100(зависит от размера производственной линии) надо закупить на производство - уже проблемы, во первых надо потратить деньги, чтобы купить, во вторых - появляется дополнительная статья расходов на производстве - "прошивка через бутлоадер". Китайцы не дураки, все операции при производстве четко оговорены в контракте, любой дополнительный чих - extraPay, изменение договора, и куча головняка. Бутлоадер нужен лишь на старте производства, чтобы при первых образцах если что суметь подкорректировать прошивку, какие-то временные параметры, настройки, да мало-ли что. Т.е., еще раз - бутлоадер нужен лишь на старте производства, и при последующих версиях, когда новую версию нужно отладить. Настройкой и отладкой занимаются наши люди, у которых есть USB-UART и все прочие фишки, это буквально 1-2 недели.
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
03.02.2015, 10:51 11
Тогда в чем проблема вообще? Если бутлоадер нужен только на 2-3 устройства, то и сделайте на 2-3 устройства, для разработчиков. Если дальше не нужно добавлять этот бутлоадер, к прошивке готового девайса, тогда вообще зачем создавалась эта тема?
0
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
03.02.2015, 11:03 12
Китайцы не будут прошивать 2-3 контроллера, а прошьют сразу сотню, а то и тысячу, если не несколько тысяч) Ехать туда со своими платами - не вариант, нужно проверять именно то, что сделали братья из поднебесной(а паяют они, мягко скажем ужасно). Вариант напаяться на ISP не прокатит - конструктивно не подлезем никак к МК, сборка довольно сложная. А проверять надо всё в сборе, нельзя раздельно. Думали дать им уже прошитые МК, но там какие-то бюрократические сложности(меняется процесс закупки комплектующих, гемор с бунигами, нельзя просто взять, и дать им мешочек наших контроллеров). Ограничений много, вот и пытаемся выкрутиться. Они не будут собирать 2-3 устройства, кое как уговорили изготовить их пробную партию в 200 устройств (которые естественно потом надо отладить, и по бутлоадеру обновить прошивку). Единственное, на что мы можем повлиять - это файл прошивки, который они прошивают сразу на серию, и чтобы потом этот файлик поменять на другой - это гигантская волокита, и довольно большая потеря денег (как минимум командировка, т.к. доверять что они точно поменяли файл прошивки нельзя). Многие думают, что китайцы крайне ответственные люди, работают круглосуточно - враки всё. Лентяи, надо все перепроверять, чуть ли не пинать. Но, впрочем мы отвлеклись от темы. Если вдруг у кого будут мысли, как прикрутить автоматическое дописывание второго hex после компиляции - излагайте.
0
03.02.2015, 11:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.02.2015, 11:03
Помогаю со студенческими работами здесь

Заданы два текстовых файла. Дописать содержимое одного файла в конец другого
1.Заданы два текстовых файла.Дописать содержимое одного файла в конец другого 2.В файле содержится...

AVR Studio 4 (at90can128) Реализовать один из криптографических примитивов
Создать проект в AVR Studio, реализующий один из криптографических примитивов асимметричных...

Если HEX одного файла заменить на HEX другого, то изменится ли файл и будет ли работоспособным?
Привет, если два файла a.exe(калькулятор) и b.exe(выводит строку "Hello World") Если открыть файл...

(Avr Studio + WinAvr) vs (mikroC PRO for AVR)
Сам пользуюсь (Avr Studyo + WinAvr). Ктонибудь использует mykroC PRO for AVR ? Слышал там...

Как подкрутить AVR Toolchain к AVR Studio 4.19?
Здравствуйте. Как подкрутить AVR Toolchain к AVR Studio 4.19? avr-gcc есть, а make нет. Как...

AVR Studio 6 и AVR Toolchain вопросы!
Всем доброго времени суток. Решил я написать софтинку в новой студии от Атмела AVR Studyo 6. Все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru