Is it a possible enhancement to store system objects (tasks, semaphores, queues) on stack/static instead of doing a memory allocation?
This is something that was considered when writing the first version. Like most things it has advantages and disadvantages. The memory allocation is within the port layer, so you can replace this with anything you like but at the moment the allocation must be done here somehow. The supplied samples are very simple, and if the number of objects are known in advance and never deleted heap_1.c can be used. It would be too inflexible for all allocation to be done statically, but maybe the functions could have an options for static allocation? This is also true for the task stacks. Another problem would be that in some cases the types are deliberately hidden, so static allocation would mean that this data hiding would have to be removed.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.