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

макрос для имени файла прошивки с номером системы

Всем привет.

Есть серия устройств, при компиляции прошивок каждому прописываю свой идентификатор 0 ... 255.

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

Есть ли какие то макросы чтобы добавлять к имени проекта еще цифры идентификатора?

Пользуюсь Атмел Студией с надстройкой vMicro.

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


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

не знаю как там в Atmel studio, а в цивилизованных IDE разработки в опциях проекта 

имеются разделы Pre-build, Post-build, где Вы можете указать команды, которые выполняются до и после компиляции.

Например, для Вашего случая, в Post-build можно дать команду переименования скомпилированного файла со стандартным именем в требуемое Вами. Например MyPrijOut.hex  в  MyPrijOut_V3.5.12.hex. Как переименовать - проще всего написать свою утилиту. Возможно есть готовые решения для этого, о которых я не знаю.

Можно использовать систему контроля версий (SVN, Git итд). 

Если есть желание - можете поэкспериментировать с макросами С, в частности операции "склейки" - #, ##.

На уровне линкера также есть решения путем написания умных строк в make-файлах (может кто практически реализовывал).

В опциях препроцессора см.   -D name=definition

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


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

1 hour ago, k155la3 said:

Pre-build

К сожалению, не всё так просто: в IAR эта комадна будет выполнена не всегда. Если проект уже собран без ошибкок, то последующий запуск компиляции не выполнит эту команду, ровно, как и саму компиляцию. Это отражено в документации, и я сам это недавно обнаружил, когда делал что-то подобное(

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


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

2 часа назад, haker_fox сказал:

К сожалению, не всё так просто: в IAR эта комадна будет выполнена не всегда. . . . 

Да, конечно. Если исходники не менялись, то перекомпиляции не будет, ни частичной, ни полной. Разве что давить "Rebuild all". 

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

IMHO это правильнее будет делать на link - путем прикомпоновки к имеющейся прошивке бинарного файла с его "идентификатором".

Мы делали более тупо-конкретно, вся параметризация была расположена по фиксированным адресам, соответственно затем отдельной самописной программой прошивка легко правилась, с созданием "прописанного" файла-копии, где имя файла имело вид

Corr_1_1_0_201507021234_SN1248.bin  (версия по SVN, дата компиляции, серийный номер)

 

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...