Перейти к содержанию

    

Создание файла прошивки в KEIL, кратным 128байтам

Необходима прошивка, размер файла которой будет кратен 128байтам, т.е необходимо после сборки проекта в Keil сформировать BIN кратный 128. Сейчас для генерации BIN использую встроенную тулзу fromelf. Попытался добавить параметры в командную строку: --bincombined --bincombined_base=0x8000000 --bincombined_padding=128,0xFF, но походу ее разработчики предусмотрели ограничение на параметр bincombined_padding в размере 4. На данный момент приходится сначала генерить BIN, а после увеличивать его размер в winhex, что со временем уже немного надоедает. Возможно кто то знает нормальное решение, желательно с командной строкой, так, как хочется напрямую в действия КЕЙЛа прописать.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что мешает написать программу для этого ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А что мешает написать программу для этого ?

Именно так и я поступал - консольная прога, которая принимает параметры в командной строке. Кстати, это была моя первая прога под Qt :)

Сама прога весьма функциональная, ее цели и задачи я уже не буду тут расписывать ;)

 

У меня это было настроено так, что эта прога вызывалась автоматом сразу после успешной компиляции и сборки, прямо из среды (Keil позволяет так делать).

Очень удобно оказалось - весь консольный вывод, который формирует прога, перехватывается Keil и вываливается в ее окне output.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А что мешает написать программу для этого ?

Всё украдено до нас: SRecord.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

x893

Написать прогу, это будет следующий этап, пока смотрю готовые варианты.

scifi

Тулзой SRecord я пользуюсь для формирования файлов, для дальнейшей отправки по воздуху, неужто в ней есть функция по добиванию конца прошивки мусором, до значения кратного 128?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Тулзой SRecord я пользуюсь для формирования файлов, для дальнейшей отправки по воздуху, неужто в ней есть функция по добиванию конца прошивки мусором, до значения кратного 128?

Там много чего есть. Если не ошибаюсь, так:

srec_cat infile.bin -binary -fill 0xFF -within infile.bin -binary -range-padding 128 -o outfile.bin -binary

Сам не пробовал, так что если ваш котик погибнет, я не виноват.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не погибнет, он живучий :) у меня SWD есть на такой случай. Спасибо, сейчас попробую

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
scifi

неужто в ней есть функция по добиванию конца прошивки мусором, до значения кратного 128?

там есть функция для создания функции :biggrin: , а уж дописать пару байт.. СС2430 заставил изучить эту утиль подробно..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Там много чего есть. Если не ошибаюсь, так:

 

Сам не пробовал, так что если ваш котик погибнет, я не виноват.

Сработало на 100 %, попробовал на 2х разных файлах. Srecord действительно классная прога, я даже не задумывался о ее потенциале, впервые она мне помогла привести в порядок вывод файлов моторола-срекорд, а здесь оказывается она и такое может. Огромное спасибо, что подсказали!

 

там есть функция для создания функции :biggrin: , а уж дописать пару байт.. СС2430 заставил изучить эту утиль подробно..

И писать не пришлось :) Все уже придумано до нас.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что мешало поручить эту задачу линковщику? С кейлом не работаю, но слышал магическое слово scatter.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
там есть функция для создания функции

Будьте добры, расскажите поподробнее. Очень интересно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Будьте добры, расскажите поподробнее. Очень интересно.

Ну это образно, смайлик ведь поставил, типа функционал у программы большой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати: не рекламы ради, но IAR легко и непринуждённо позволяет сделать любой желаемый размер образа (в пределах разумного) без дополнительных костылей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ну это образно, смайлик ведь поставил, типа функционал у программы большой.

В наши времена засунуть интерпретатор скриптов куда угодно - раз плюнуть. Так что шутка получилась слишком серьёзная. А я грешным делом подумал, что что-то пропустил :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти