taraserker 0 24 февраля, 2023 Опубликовано 24 февраля, 2023 · Жалоба Всем привет. Есть серия устройств, при компиляции прошивок каждому прописываю свой идентификатор 0 ... 255. Мне бы хотелось чтобы в названии файла прошивки появился номер идентификатора, так бы я мог контролировато что не допустил ошибки в настроечном файле и при прошивке не сомневался что устройства системы прошиты с одним номером. Есть ли какие то макросы чтобы добавлять к имени проекта еще цифры идентификатора? Пользуюсь Атмел Студией с надстройкой vMicro. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Variant99 7 26 февраля, 2023 Опубликовано 26 февраля, 2023 · Жалоба ...есть собственные пальчики, которые вбивают циферки в конце имени... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 60 26 февраля, 2023 Опубликовано 26 февраля, 2023 · Жалоба Есть командные файлы, которые на 99% могут заменить пальцы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 26 февраля, 2023 Опубликовано 26 февраля, 2023 · Жалоба не знаю как там в Atmel studio, а в цивилизованных IDE разработки в опциях проекта имеются разделы Pre-build, Post-build, где Вы можете указать команды, которые выполняются до и после компиляции. Например, для Вашего случая, в Post-build можно дать команду переименования скомпилированного файла со стандартным именем в требуемое Вами. Например MyPrijOut.hex в MyPrijOut_V3.5.12.hex. Как переименовать - проще всего написать свою утилиту. Возможно есть готовые решения для этого, о которых я не знаю. Можно использовать систему контроля версий (SVN, Git итд). Если есть желание - можете поэкспериментировать с макросами С, в частности операции "склейки" - #, ##. На уровне линкера также есть решения путем написания умных строк в make-файлах (может кто практически реализовывал). В опциях препроцессора см. -D name=definition Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 26 февраля, 2023 Опубликовано 26 февраля, 2023 · Жалоба 1 hour ago, k155la3 said: Pre-build К сожалению, не всё так просто: в IAR эта комадна будет выполнена не всегда. Если проект уже собран без ошибкок, то последующий запуск компиляции не выполнит эту команду, ровно, как и саму компиляцию. Это отражено в документации, и я сам это недавно обнаружил, когда делал что-то подобное( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 26 февраля, 2023 Опубликовано 26 февраля, 2023 · Жалоба 2 часа назад, haker_fox сказал: К сожалению, не всё так просто: в IAR эта комадна будет выполнена не всегда. . . . Да, конечно. Если исходники не менялись, то перекомпиляции не будет, ни частичной, ни полной. Разве что давить "Rebuild all". Насколько я предполагаю, ТС делает параметризацию одной прошивки - прописывает в экземпляры номер "идентификатора". Причем делает это путем перекомпиляции-сборки проекта в целом. IMHO это правильнее будет делать на link - путем прикомпоновки к имеющейся прошивке бинарного файла с его "идентификатором". Мы делали более тупо-конкретно, вся параметризация была расположена по фиксированным адресам, соответственно затем отдельной самописной программой прошивка легко правилась, с созданием "прописанного" файла-копии, где имя файла имело вид Corr_1_1_0_201507021234_SN1248.bin (версия по SVN, дата компиляции, серийный номер) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться