Organising single software tree for many projects WITHOUT duplicating Drivers/Middlewares
I'd like to organise a software tree that'll accommodate
- bootloader for a custom board,
- application for the board,
- multiple ways of building the application,
- bootloaders and applications of future "next gen" boards, and
- a moderate body of application software I'd want to re-use in all the app projects.
I'd like this in a single repository, without duplicating any source files.
I'm using IAR Workbench and/or TrueSTUDIO for STM32.
Both IDEs support
- multiple projects, i.e. one for each of bootloader for board X, app for board X,
- multiple build ways, e.g. IAR uses "Configurations" and TrueSTUDIO (Eclipse) uses "Build Configurations", and
- linking other directories of source files.
The only part I haven't completely solved yet is STM32CubeMX. UM2285 Rev 1 figure 3 shows an .ioc file in a project directory and the Drivers and Middlewares directories it generates located several directories higher at the root of the software tree. Can anyone share how to get STM32CubeMX to generate like this please?
Having Drivers/Middlewares directories duplicated in every project isn't a show-stopper. Just untidy and so I'm wanting to know.
Thanks
Alister