zephyr: Fix call to thread_analyzer_print for v4.0.
Commit 1b6e0f64796dfd6f86a8679ea6d24e1fca1e63a8 for Zephyr v4.0.0 changed the function "thread_analyzer_print" to require a cpu argument and allow thread analysis on each cpu separately. The argument is ignored when THREAD_ANALYZER_AUTO_SEPARATE_CORES=n which is the default on single core machines. Promote this change to the MicroPython zephyr module. Signed-off-by: Detlev Zundel <dzu@member.fsf.org> Signed-off-by: Maureen Helm <maureen.helm@analog.com>
This commit is contained in:
parent
cd71db0172
commit
cd3eaad05c
2 changed files with 14 additions and 4 deletions
|
|
@ -22,9 +22,10 @@ Functions
|
|||
|
||||
Returns the thread id of the current thread, which is used to reference the thread.
|
||||
|
||||
.. function:: thread_analyze()
|
||||
.. function:: thread_analyze(cpu)
|
||||
|
||||
Runs the Zephyr debug thread analyzer on the current thread and prints stack size statistics in the format:
|
||||
Runs the Zephyr debug thread analyzer on the current thread on the given cpu
|
||||
and prints stack size statistics in the format:
|
||||
|
||||
"``thread_name``-20s: STACK: unused ``available_stack_space`` usage ``stack_space_used``
|
||||
/ ``stack_size`` (``percent_stack_space_used`` %); CPU: ``cpu_utilization`` %"
|
||||
|
|
@ -35,6 +36,9 @@ Functions
|
|||
For more information, see documentation for Zephyr `thread analyzer
|
||||
<https://docs.zephyrproject.org/latest/guides/debug_tools/thread-analyzer.html#thread-analyzer>`_.
|
||||
|
||||
Note that the ``cpu`` argument is only used in Zephyr v4.0.0 and
|
||||
newer and ignored otherwise.
|
||||
|
||||
.. function:: shell_exec(cmd_in)
|
||||
|
||||
Executes the given command on an UART backend. This function can only be accessed if ``CONFIG_SHELL_BACKEND_SERIAL``
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
|
||||
#include <stdio.h>
|
||||
#include <zephyr/kernel.h>
|
||||
#include <zephyr/version.h>
|
||||
#include <zephyr/debug/thread_analyzer.h>
|
||||
#include <zephyr/shell/shell.h>
|
||||
#include <zephyr/shell/shell_uart.h>
|
||||
|
|
@ -48,11 +49,16 @@ static mp_obj_t mod_current_tid(void) {
|
|||
static MP_DEFINE_CONST_FUN_OBJ_0(mod_current_tid_obj, mod_current_tid);
|
||||
|
||||
#ifdef CONFIG_THREAD_ANALYZER
|
||||
static mp_obj_t mod_thread_analyze(void) {
|
||||
static mp_obj_t mod_thread_analyze(mp_obj_t cpu_in) {
|
||||
#if KERNEL_VERSION_NUMBER >= ZEPHYR_VERSION(4, 0, 0)
|
||||
unsigned int cpu = mp_obj_get_int(cpu_in);
|
||||
thread_analyzer_print(cpu);
|
||||
#else
|
||||
thread_analyzer_print();
|
||||
#endif
|
||||
return mp_const_none;
|
||||
}
|
||||
static MP_DEFINE_CONST_FUN_OBJ_0(mod_thread_analyze_obj, mod_thread_analyze);
|
||||
static MP_DEFINE_CONST_FUN_OBJ_1(mod_thread_analyze_obj, mod_thread_analyze);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SHELL_BACKEND_SERIAL
|
||||
|
|
|
|||
Loading…
Reference in a new issue