I'm at the point where I have 3 independent S32DS projects:
However, there are a great deal of things that are duplicated among the 3 projects (Transport Layer code, for example), and when I go from a 100 pin dev board to a 64 pin production part, I have to change Processor Expert settings on 3 projects, etc. etc.
What I would love is to have a "master" project where it has a build setting for "DEV", "Production", "Firmware Only", etc.
What's the best way to do that? Create an S32DS project with the shared stuff, and link those files in the 3 other projects? How can I get to where things like changing GPIO mapping, etc. is as simple as going into *one* project, applying a board configuration, and building it?
Thank you!! Looking forward to see what others are doing for this scenario
there are many, many different ways to organize sources and projects.
What I usually do for such a scenario:
That approach served me very well for many small and as well complex projects.
I hope this helps,
Thanks, Erich - that's the route I started going down.. with some issues.. but I think the biggest question I had was how to keep component configurations in Processor Expert consistent.
One thought that came to mind after sleeping on it would be to have 1 "master" Processor Expert project, and 3 basic projects (no SDK, etc.) for Boot, firmware, etc. I could then link in the generated code (as well as common code files) from the master project, while the sub projects only actually have a handful of critical c files for that program.
Does that sound logical? I figure that's the best way to apply board configuration -> compile -> upload all from one place.. but you guys have done this more than I have
PS, when you say "outside the project", are we talking about just a folder in the file system?
There is the option to use a common ProcessorExpert file between all the three projects.
First you need to backup the ProcessorExpert.pe files from the two of the three projects and create a link in the projects to the ProcessorExpert.pe from the third one(See link above on how). Afterwards you can modify the PE settings and all three project component configurations will be synchronized.
In order to achieve the 'build settings' which you described in the original post, you can add Generator Configurations(see Configurations with Processor Expert | MCU on Eclipse).
raresvasile, I implemented your suggestion of backup/ remove the .pe files from each dependent project, and created a linked .pe file to the master project. Unfortunately, when building components it will update the master project (even though I'm in the dependent project), and not the dependent projects' files.
My brilliant (ha) idea was to link in the "SDK" and "Generated_Code" paths from the master project, and delete the .pe file from each dependent project. Unfortunately since linked folders still need to be manually added to the include path it turns out every time I make a change to the master config, I have to add the proper include path each and every time.
The next thing I'm going to try is leaving all 3 as PE projects, and just importing a board configuration when generated by the master. Way more manual of a process than I wanted, but is easier than manually adding paths.
Is there a better way that I'm missing?