с чего бы? Этим автоматика занимается, она в отличие от человека в состоянии отследить были ли изменения и надо ли пересобирать весть проект или только отдельные части.
только ваш подход чреват тем, что собирая новый проект из "отработанных и гарантированно работающих" старых файлов, вы рискуете в одном из них забыть про какой-то дефайн, и получить чудеса...
Да нет... Я в глобальный инклудник выношу только то, что общее для конкретного проекта. Там нет кода, только дефайны и тайпдефы. И даже если я что то использованное забираю - то смотрю, что забираю. А бездумное копирование - это пусть пионэры делают. Им можно, они любят трудности."Стоя и в гамаке". а я старый ленивый инженер.
Да многие наверное так делают. У меня например тоже есть hardware.h, в котором вынесены пины и настройки используемой периферии. Но у меня он явно подключается в каждую периферию.
COKPOWEHEU, ну вот кстати, тоже правильно. Я изначально ВСЮ коммуникацию с периферией описываю в HAL.h/HAL.c с целью максимально абстрагироваться от железа Наружу торчат безликие getButton, setLed, низкоуровневые процедуры отправки данных в дисплей и т.д. Это позволяет мне менять в проекте МК на другой (при условии, что периферия подходящая есть). Пригождалось пару раз. Миграция была с АВР на СТМ. Просто переписал HAL - и всё заработало.
ARV, я не любитель руками править всякие ключи компилятора, редактировать make и прочее...
Да хоспади, что там в Makefile редактировать-то?
Я их вообще руками пишу с нуля.
Простой Makefile, для простого проекта, поддерживающий инкрементную сборку и переваривающий как .c так и .cpp файлы. При желании и после небольших правок можно использовать и для avr-gcc. Требует три папки: src - для исходников inc - для заголовочников obj - для объектных файлов и файлов зависимостей.
Спойлер
Код:
#******************************************************** # Makefile # # $@ target name (имя цели) # $^ all depends of target (список всех зависимостей цели) # $? only new depends in target (только новые зависимости цели) # $< first depend name from target (имя первой зависимости цели) #
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
На каком-нибудь сервере (причем, на железе, подобном Raspberry Pi), через SSH особо со средой не поработаешь. Конечно, такие среды, как Visual Studio Code содержат различные инструменты для облегчения такой работы. Однако, даже они требуют знаний из области DevOps (то есть, Makefile и прочий скриптинг для сборки и деплоинга) Собственно, приведенный выше makefile писался как раз для удаленной сборки и отладки компонента на целевой железке. Даже в случае МК и ПЛИС были случаи на практике, когда прошиваемая железка была на стенде в соседнем помещении, программатор подключен к одноплатному ПК, на котором код собирался и шился в железо удаленно.
_________________ I am DX168B and this is my favourite forum on internet!
DX168B, ну вообще то тема создана в форуме AVR. И практически все популярные IDE для АВРок "из коробки" позволяют откомпилить проект без ручного makefile Ну вот серьезно... Случаи железки в другом помещении - это частный случай. И далеко не типичный. У меня тоже умный дом со своей сеткой. И кучкой устройств по всей квартире. Там бутлоадеры, что в АВРках, что в СТМках. И отправка прошивки туда - не вставая со стула. Нужен только хекс. А компилится это всё в той же IDE. -- Тут сколько людей, столько и мнений. Кого то винда устраивает, а кому то линукс мать-отец и любовница в одном флаконе. Кто то любит все конфиги писать руками, а кому то достаточно написать printf(hello world) и нажать F7... Да, конфиги вручную дают ощущение более полного контроля над проектом. Может быть, да. Какие то твики не всегда можно из свойств проекта накликать мышкой. но это мелочи и частности. особенно для Hello, world. Как то мы плавно от вопроса про инклюдники уплываем в бухту холиваров.
Как то мы плавно от вопроса про инклюдники уплываем в бухту холиваров.
надо как-то иначе формулировать... например, от шторма инклюдников в бухту холиваров... или от берега темы в тайфун холиваров... а то конец фразы с началом не вяжется
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения