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

CubeIDE, разделить проект на два

Добрый день!

Пилю первый "большой" проект на STM32. Большой он в смысле что логику софта будет делать отдельный программист, а периферия контроллера и драйвера всего железа на мне. Раньше все делал сам и таких вопросов не возникало.

Собственно вопрос - как бы сделать это дело двумя отдельными проектами, собираемыми вместе при компиляции?

Проект пилится на FreeRTOS и программисту нужны именно файлы с задачами, он их будет отлаживать на компьютере (там много сложной логики, интерфейса, протоколов и прочего независимого от железа фарша). И если Keil мог линковать файлы из любой папки, но этот долбаный Эклипс не желает знать ничего выше корня проекта.

Вариант с перетаскиванием и копированием файлов вручную точно не годится, в нем я сам потеряюсь, а вдвоем мы вообще потонем моментально. Хочется как у взрослых программистов - с контролем версий, портируемостью и прочими цацками. :) Короче чтоб было два отдельных проекта в воркплейсе и общие файлы могли собираться в каждом из них.

В общем подскажите кто как делит сферы влияния?

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


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

У меня вот так (если интересно):

в воркспейсе несколько проектов такого типа: 5 генерирующих на выходе библиотечные файлы (lib*.a), а один бинарный для контроллера. Последний проект имеет в своих "Свойствах" ссылки ("References") на все другие;

Вы можете сделать 2 различных проекта:

один свой "низкоуровневый" с ОС внутри и с генерацией исполняемого файла (бинарника для контроллера) где Вы будете его отлаживать и т.п.;

а второй проект, тоже генерирующий исполняемый файл, для программиста, должен ссылаться на первый (в "Свойствах") и не содержать в себе файлы ОС, а инклюдить ее с первого. Также объявлять заранее все функции-задачи из первого проекта какие нужны.

Насчет "с контролем версий, портируемостью и прочими цацками" (если вообще тут нужно) это уже нужно соотв. плагин выбрать из "MarketPlace" и загрузить наверно.

Вообще, с таким подходом к среде ("долбаный Эклипс" и т.п.) - ничего путного не получится. Нужно успокоиться/использовать др. вариант/или же написать свою среду для работы тут.

И еще (опять насчет того как у меня) - я еще, тут (в STM32CubeIDE), наладил/сделал себе возможность прямо в среде писать программы и для ПК (например утилитка загрузки/замены "основной" прошивки через заранее загруженный загрузчик в МК у меня также тут в этой среде написана/отлаживается и пр.). Это я к тому, что может Ваш программист "будет отлаживать на компьютере" как Вы писали и может пригодится эта информация.

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


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

Пофиг какая IDE. Сейчас все поддерживают git.

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

Затем каждый работник с своем репозитарии делает .gitmodules на остальные репозитарии.

И начинаете пальцами собирать из букв слова, а из слов - программу.

Каждый в своем репо.

github для примера.

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


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

Да, в вашем случае, естественный выбор - это субмодули Git (как x893 и порекомендовал выше). Ваш репозиторий с драйверами и прочим низкоуровневым добром должен стать субмодулем (суб-репо) в составе дерева папок в другом репозитории - для исходников уровня приложения и FreeRTOS. Каждый может до поры, до времени работать независимо.

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


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

On 7/19/2020 at 12:38 AM, Fox_Sanchez said:

И если Keil мог линковать файлы из любой папки, но этот долбаный Эклипс не желает знать ничего выше корня проекта.

Не правда. Вы просто что-то делаете не так. Надо разобраться. В Eclipse можно подключать как исходники так и библиотеки из любой папки.

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


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

Из любой папки получалось только по абсолютному пути. Относительные не понимает.

В общем пока решили все скинуть в один репозиторий, а дальше посмотрим. Будет надобность - будем делить на модули.

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


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

3 hours ago, Fox_Sanchez said:

Из любой папки получалось только по абсолютному пути. Относительные не понимает.

В общем пока решили все скинуть в один репозиторий, а дальше посмотрим. Будет надобность - будем делить на модули.

Нужно заставить себя 30 минут прочитать руководство по git. Всё делается с полпинка.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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