I've set my STM32 toochain with Eclipse Oxygen + GCC + GDB + OpenOCD and I play with a STM32F769 discovery board. I could compile and debug the blinky project properly. Now I'd like to start a new project. It will use very likely FreeRTOS and I will add tcpip stack + fat system and other piece of code that I will not write myself.
I've first checked what were all these files in the project directory in order to clean it a bit and start with a fresh and minimalist project and discovered I could not figure out what was the overall strategy there. Could anyone bring some light on it for me ?
My 'basic' blinky project has the following tree:
- Binaries (ok, I see this is the output from the linker)
- Includes (with hundreds files I don't know what they are for
- src (ok these are my project files)
- system (mmm? apparently some low level routines but are they mandatory ? Where are they coming from ?) (cmsis? cortexm ? diag ? newlib ? stm32fr7-hal ?
- Debug (seems to be compiler & linker outputs)
- include (ok, my project include files)
- ldscripts (ok, to configure my project/hardware)
So what are these first 'includes' files ? and what is this 'system' directory as well.
What would be a decent and minimalist tree organization up to you ?
I had in mind to split the middleware like FreeRTOS, FatFS ... from my source directory, possibly having a separate directory as well for HAL, and then all my user code in src... but ???