1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
|
|
1 | |
Дописать один *.hex в конец другого (AVR Studio 4.19)03.02.2015, 07:32. Показов 4657. Ответов 11
Метки нет (Все метки)
Столкнулся вот с какой задачей:
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
|
03.02.2015, 07:32 | |
Ответы с готовыми решениями:
11
AVR Studio. Различный размер HEX Atmega16. AVR Studio. Дописать таймер Вставить один список в конец другого Добавить один массив в конец другого CAVR против AVR Studio, что не так в программе под AVR Studio |
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
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 | |
03.02.2015, 11:03 | |
Помогаю со студенческими работами здесь
12
Заданы два текстовых файла. Дописать содержимое одного файла в конец другого AVR Studio 4 (at90can128) Реализовать один из криптографических примитивов Если HEX одного файла заменить на HEX другого, то изменится ли файл и будет ли работоспособным? (Avr Studio + WinAvr) vs (mikroC PRO for AVR) Как подкрутить AVR Toolchain к AVR Studio 4.19? AVR Studio 6 и AVR Toolchain вопросы! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |