Skip to content

Conversation

ArunmaniAlagarsamy2710
Copy link
Contributor

Decrease the atomic variable thread_num_dynamic when a thread terminates and exits. Previously, once the maximum thread count was reached, no new threads could be created even after existing threads terminated.

This fix ensures that thread stacks can be reused by osThreadNew, even after the specified number of threads (CONFIG_CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT) has been reached.

@zephyrbot zephyrbot added area: CMSIS API Layer CMSIS-RTOS API Layer area: Portability Standard compliant code, toolchain abstraction labels Feb 11, 2025
@zephyrbot zephyrbot requested a review from nashif February 11, 2025 08:51
Copy link

Hello @ArunmaniAlagarsamy2710, and thank you very much for your first pull request to the Zephyr project!
Our Continuous Integration pipeline will execute a series of checks on your Pull Request commit messages and code, and you are expected to address any failures by updating the PR. Please take a look at our commit message guidelines to find out how to format your commit messages, and at our contribution workflow to understand how to update your Pull Request. If you haven't already, please make sure to review the project's Contributor Expectations and update (by amending and force-pushing the commits) your pull request if necessary.
If you are stuck or need help please join us on Discord and ask your question there. Additionally, you can escalate the review when applicable. 😊

__ASSERT(!k_is_in_isr(), "");
tid = osThreadGetId();

#if CONFIG_CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thread_num_dynamic and CONFIG_CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT are always defined, so you can probably write:

if (CONFIG_CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT != 0) {
	atomic_dec((atomic_t *)&thread_num_dynamic);
}


#if CONFIG_CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT
atomic_dec((atomic_t *)&thread_num_dynamic);
#endif
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This code decrements thread_num_dynamic even if the current thread is not a dynamic thread. I assume, this is not what we expect.

if (thread_num_dynamic) {
atomic_dec((atomic_t *)&thread_num_dynamic);
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Won't work if a static thread ends before a dynamic thread.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW, the code that allocate the stack won't work:

	this_thread_num_dynamic =
		atomic_inc((atomic_t *)&thread_num_dynamic);
	stack = cv2_thread_stack_pool[this_thread_num_dynamic];

@ArunmaniAlagarsamy2710 ArunmaniAlagarsamy2710 force-pushed the fix/cmsis-thread-termination branch 2 times, most recently from cfa400d to 7fd2ce7 Compare February 17, 2025 04:41
@jerome-pouiller jerome-pouiller self-requested a review March 5, 2025 17:41
Decrease the atomic variable thread_num_dynamic when a thread
terminates and exits. Previously, once the maximum thread count
was reached, no new threads could be created even after existing
threads terminated.

This fix ensures that thread stacks can be reused by osThreadNew,
even after the specified number of threads
(CONFIG_CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT) has been reached.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
@ArunmaniAlagarsamy2710 ArunmaniAlagarsamy2710 force-pushed the fix/cmsis-thread-termination branch from 7fd2ce7 to 91f527c Compare March 12, 2025 07:16
@ArunmaniAlagarsamy2710
Copy link
Contributor Author

Rebased to resolve the conflict

Copy link
Contributor

@jerome-pouiller jerome-pouiller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have any knowledge of the Cmsis modules, so my comments are only very generic.

tid = osThreadGetId();

decrement_thread_counter(tid);
k_thread_abort((k_tid_t)&tid->z_thread);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel you have to abort the thread before to release the stack, no?

stack_status[stack_idx].is_in_use = true;
break;
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't dive in the detail of this algorithm, but it seems weird we use the value of num_dynamic_stack to find a free resource.

[EDIT: Ok, I think it works, but the loop is unusual. Why not just: ARRAY_FOR_EACH(stack_status, i) ?]

}

atomic_dec((atomic_t *)&thread_num);
return 0;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These changes about thread_num and num_dynamic_cb. Don't seems directly related to dynamic threads. I believe it makes sense to place that in a separated commit. Then, it will be easier to explain why you need to change it.

(style note: when the loop are simple, call the loop indexes i and j. Every developers understand i and j are loop indexes).


struct stack_usage_info {
bool is_in_use;
} stack_status[CONFIG_CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This declaration is closely related to cmsis_rtos_thread_stack_pool. So, I suggest:

  • place it just after cmsis_rtos_thread_stack_pool in the if CONFIG_CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT != 0 block (even if this condition looks useless, I agree).
  • I wonder if declaring a struct with only one member is not just increasing complexity for free.
  • stack_usage_info vs stack_status vs is_in_use. Having several names for the same purpose make code more complex.
  • change the name to outline the link with cmsis_rtos_thread_stack_pool. eg. cmsis_rtos_thread_stack_in_use.

Therefore, I would use bool cmsis_rtos_thread_stack_in_use[CONFIG_CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT].

ArunmaniAlagarsamy2710 added a commit to ArunmaniAlagarsamy2710/hal_silabs that referenced this pull request Mar 21, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
ArunmaniAlagarsamy2710 added a commit to ArunmaniAlagarsamy2710/hal_silabs that referenced this pull request Apr 1, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
jhedberg pushed a commit to zephyrproject-rtos/hal_silabs that referenced this pull request Apr 2, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request Apr 23, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request Apr 23, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request Apr 23, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request May 12, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request May 12, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request May 12, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request May 13, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request May 13, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
jhedberg pushed a commit to zephyrproject-rtos/hal_silabs that referenced this pull request May 13, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
ragurram26 pushed a commit to ragurram26/hal_silabs that referenced this pull request May 14, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Copy link

This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time.

@github-actions github-actions bot added the Stale label May 17, 2025
@github-actions github-actions bot closed this May 31, 2025
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request Jun 18, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request Jun 18, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request Jun 18, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request Jun 18, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
jhedberg pushed a commit to zephyrproject-rtos/hal_silabs that referenced this pull request Jun 19, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request Oct 1, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request Oct 1, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request Oct 1, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
jerome-pouiller pushed a commit to jerome-pouiller/hal_silabs that referenced this pull request Oct 3, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
jhedberg pushed a commit to zephyrproject-rtos/hal_silabs that referenced this pull request Oct 3, 2025
Zephyr CMSIS implementation has some limitations with dynamically allocated
resources[1].

This patch allocates the CMSIS resources statically. Thus:
  - this allows to workaround the limitation of the current CMSIS implementation
    until we fix them properly
  - it is possible to get rid of the dependencies to
    CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT and CMSIS_V2_THREAD_MAX_COUNT.

[1]: zephyrproject-rtos/zephyr#85557

Upstream-status: Inappropriate [Zephyr specific workaround for stack allocation]
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: CMSIS API Layer CMSIS-RTOS API Layer area: Portability Standard compliant code, toolchain abstraction Stale
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants