Per-BSP confdefs (or resource allocation)

Joel Sherrill joel.sherrill at oarcorp.com
Thu Oct 22 14:16:53 UTC 2015



On 10/22/2015 2:16 AM, Sebastian Huber wrote:
> On 22/10/15 09:00, Chris Johns wrote:
>> In the mean time could linker sets be used in drivers or BSPs to declare
>> a table of "resources" they need and these are added to the confdefs.h
>> defined values during initialisation?
>
> Yes, this would probably work. You should however compare the complexity of
>
> 1) linker sets
>       + dynamic workspace size changes
>       + static pre-processor based workspace size estimate (just look at
> the pre-processed output of confdefs.h)
>       + workspace (heap)
>       + objects
>       + side-effects, e.g. subsystem which doesn't account for its resources
>       + initialization order
>       + run-time initialization errors
>
> vs.
>
> 2) provide some storage (16 bytes for a mutex on a 32-bit target)
>       + initialize the object (= initialize storage to zero, no possible
> errors, may reside in .bss)
>

Another quick option is force unlimited objects on in _Objects_Initialize_information
and define CONFIGURE_UNIFIED_WORK_AREAS in CPU_CFLAGS.

That should work and let them run the tests.

I don't think they want a run for the record as much as a warm fuzzy
about what is working/broken.

Disclaimer: I admit this is a quick hack. Continue discussing long-term
solutions.

--joel



More information about the devel mailing list