|
|
Re: Multiple CDT embedded targets [message #1853485 is a reply to message #1853479] |
Mon, 04 July 2022 15:37 |
Duane Ellis Messages: 2 Registered: July 2022 |
Junior Member |
|
|
That's not even close to usable.
I could go through a provide a list of "requirements" - for what I'm looking for but I think I would be wasting my time
I am at times so frustrated that I would like to 100% replace all of CDT with something that is usable
and at times, I think I have to re-write it on my own.
What's wrong with the current implementation is this:
a) When I import a library it is not immediately usable by other members of the workspace.
Ok it is if you perform 'surgery' on all of the other projects, such as:
A library publishes or produces a "public api include folder" - why do I have to add this to all other members of the workspace?
The library creates a code library, why do I have to manually modifiy all applications in the workspace so that they can link against the project?
One library might require or use another library, for example: LWIP often is used with FreeRTOS
b) But instead, the idea that eclipse seems to be centered around is this: Just copy all of your source code(and header files) into this one directory and let the compiler tool sort it out
that works but is a maintainers nightmare - it's hard to track what came from where, and what changed
c) On Linux, and other platforms there is this idea of "Installing the library" - sorry - nope, will not and cannot.
I work on more then one project at a time, if Project(FOO) requires the library in Confguration(X) - do I install the configuration(X) headers and .a and .o files?
But what about project(BAR) that requires an incompatible configuration(Y), when switching from project(FOO) to (BAR) to help answer a question what happens?
Does my 'installed-configuration-x" get converted to Y? And then converted back to X later? What happens if something is missed?
Things like that should be 'installed' locally to the client project.
d) Besides, in most resource constrained places - embedded stuff - you must highly Taylor things to fit the situation, ie: Compile time flags that disable features or enable certain things
it's just not possible to install a full featured version of a library with all bells and whistles present because there is not enough flash memory in the design to do that
Thus configuration is a "forcing function" for many embedded situations, the LWIP and FreeRTOS configuration files are exact examples of this.
|
|
|
Powered by
FUDForum. Page generated in 0.02696 seconds