Версия для печати темы
Форум разработчиков электроники ELECTRONIX.ru _ Keil _ Создание файла прошивки в KEIL, кратным 128байтам
Автор: Neo_Matrix Sep 24 2018, 19:03
Необходима прошивка, размер файла которой будет кратен 128байтам, т.е необходимо после сборки проекта в Keil сформировать BIN кратный 128. Сейчас для генерации BIN использую встроенную тулзу fromelf. Попытался добавить параметры в командную строку: --bincombined --bincombined_base=0x8000000 --bincombined_padding=128,0xFF, но походу ее разработчики предусмотрели ограничение на параметр bincombined_padding в размере 4. На данный момент приходится сначала генерить BIN, а после увеличивать его размер в winhex, что со временем уже немного надоедает. Возможно кто то знает нормальное решение, желательно с командной строкой, так, как хочется напрямую в действия КЕЙЛа прописать.
Автор: x893 Sep 24 2018, 19:23
А что мешает написать программу для этого ?
Автор: Forger Sep 24 2018, 19:56
Цитата(x893 @ Sep 24 2018, 22:23)
А что мешает написать программу для этого ?
Именно так и я поступал - консольная прога, которая принимает параметры в командной строке. Кстати, это была моя первая прога под Qt
Сама прога весьма функциональная, ее цели и задачи я уже не буду тут расписывать
У меня это было настроено так, что эта прога вызывалась автоматом сразу после успешной компиляции и сборки, прямо из среды (Keil позволяет так делать).
Очень удобно оказалось - весь консольный вывод, который формирует прога, перехватывается Keil и вываливается в ее окне output.
Автор: scifi Sep 24 2018, 20:03
Цитата(x893 @ Sep 24 2018, 22:23)
А что мешает написать программу для этого ?
Всё украдено до нас: http://electronix.ru/redirect.php?http://srecord.sourceforge.net/.
Автор: Neo_Matrix Sep 24 2018, 20:23
x893
Написать прогу, это будет следующий этап, пока смотрю готовые варианты.
scifi
Тулзой SRecord я пользуюсь для формирования файлов, для дальнейшей отправки по воздуху, неужто в ней есть функция по добиванию конца прошивки мусором, до значения кратного 128?
Автор: scifi Sep 24 2018, 20:26
Цитата(Neo_Matrix @ Sep 24 2018, 23:23)
Тулзой SRecord я пользуюсь для формирования файлов, для дальнейшей отправки по воздуху, неужто в ней есть функция по добиванию конца прошивки мусором, до значения кратного 128?
Там много чего есть. Если не ошибаюсь, так:
Цитата
srec_cat infile.bin -binary -fill 0xFF -within infile.bin -binary -range-padding 128 -o outfile.bin -binary
Сам не пробовал, так что если ваш котик погибнет, я не виноват.
Автор: Neo_Matrix Sep 24 2018, 20:33
Не погибнет, он живучий у меня SWD есть на такой случай. Спасибо, сейчас попробую
Автор: skripach Sep 24 2018, 20:34
Цитата(Neo_Matrix @ Sep 24 2018, 23:23)
scifi
неужто в ней есть функция по добиванию конца прошивки мусором, до значения кратного 128?
там есть функция для создания функции
, а уж дописать пару байт.. СС2430 заставил изучить эту утиль подробно..
Автор: Neo_Matrix Sep 24 2018, 20:50
Цитата(scifi @ Sep 24 2018, 23:26)
Там много чего есть. Если не ошибаюсь, так:
Сам не пробовал, так что если ваш котик погибнет, я не виноват.
Сработало на 100 %, попробовал на 2х разных файлах. Srecord действительно классная прога, я даже не задумывался о ее потенциале, впервые она мне помогла привести в порядок вывод файлов моторола-срекорд, а здесь оказывается она и такое может. Огромное спасибо, что подсказали!
Цитата(skripach @ Sep 24 2018, 23:34)
там есть функция для создания функции
, а уж дописать пару байт.. СС2430 заставил изучить эту утиль подробно..
И писать не пришлось
Все уже придумано до нас.
Автор: Сергей Борщ Sep 25 2018, 09:31
Что мешало поручить эту задачу линковщику? С кейлом не работаю, но слышал магическое слово scatter.
Автор: scifi Sep 26 2018, 11:23
Цитата(skripach @ Sep 24 2018, 23:34)
там есть функция для создания функции
Будьте добры, расскажите поподробнее. Очень интересно.
Автор: skripach Sep 26 2018, 19:39
Цитата(scifi @ Sep 26 2018, 14:23)
Будьте добры, расскажите поподробнее. Очень интересно.
Ну это образно, смайлик ведь поставил, типа функционал у программы большой.
Автор: jcxz Sep 26 2018, 22:20
Кстати: не рекламы ради, но IAR легко и непринуждённо позволяет сделать любой желаемый размер образа (в пределах разумного) без дополнительных костылей.
Автор: scifi Sep 27 2018, 06:41
Цитата(skripach @ Sep 26 2018, 22:39)
Ну это образно, смайлик ведь поставил, типа функционал у программы большой.
В наши времена засунуть интерпретатор скриптов куда угодно - раз плюнуть. Так что шутка получилась слишком серьёзная. А я грешным делом подумал, что что-то пропустил
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)