rtos: Add support for Zephyr RTOS
With this patch, the Zephyr[1] RTOS is supported by OpenOCD. As usual with support for other RTOSes, Zephyr must be compiled with the DEBUG_THREAD_INFO option. This will generate some symbols with information needed in order to build the list of threads. The current implementation is limited to Zephyr running on ARM Cortex-M processors. This is the only ARM variant supported by Zephyr at the moment and is used on most of the officially supported boards. [1] https://www.zephyrproject.org/ Change-Id: I22afdbec91562f3a22cf5b88cd4ea3a7a59ba0b4 Signed-off-by: Evgeniy Didin <didin@synopsys.com> Signed-off-by: Leandro Pereira <leandro.pereira@intel.com> Signed-off-by: Daniel Glöckner <dg@emlix.com> Reviewed-on: http://openocd.zylin.com/4988 Tested-by: jenkins Reviewed-by: Oleksij Rempel <linux@rempel-privat.de> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
This commit is contained in:
committed by
Oleksij Rempel
parent
5d9de1c400
commit
77b28ced14
@@ -4681,7 +4681,7 @@ The value should normally correspond to a static mapping for the
|
||||
@var{rtos_type} can be one of @option{auto}, @option{eCos},
|
||||
@option{ThreadX}, @option{FreeRTOS}, @option{linux}, @option{ChibiOS},
|
||||
@option{embKernel}, @option{mqx}, @option{uCOS-III}, @option{nuttx},
|
||||
@option{RIOT}
|
||||
@option{RIOT}, @option{Zephyr}
|
||||
@xref{gdbrtossupport,,RTOS Support}.
|
||||
|
||||
@item @code{-defer-examine} -- skip target examination at initial JTAG chain
|
||||
@@ -10950,6 +10950,7 @@ Currently supported rtos's include:
|
||||
@item @option{nuttx}
|
||||
@item @option{RIOT}
|
||||
@item @option{hwthread} (This is not an actual RTOS. @xref{usingopenocdsmpwithgdb,,Using OpenOCD SMP with GDB}.)
|
||||
@item @option{Zephyr}
|
||||
@end itemize
|
||||
|
||||
Before an RTOS can be detected, it must export certain symbols; otherwise, it cannot
|
||||
@@ -10984,12 +10985,17 @@ g_readytorun, g_tasklisttable.
|
||||
sched_threads, sched_num_threads, sched_active_pid, max_threads,
|
||||
_tcb_name_offset.
|
||||
@end raggedright
|
||||
@item Zephyr symbols
|
||||
_kernel, _kernel_openocd_offsets, _kernel_openocd_size_t_size
|
||||
@end table
|
||||
|
||||
For most RTOS supported the above symbols will be exported by default. However for
|
||||
some, eg. FreeRTOS and uC/OS-III, extra steps must be taken.
|
||||
some, eg. FreeRTOS, uC/OS-III and Zephyr, extra steps must be taken.
|
||||
|
||||
These RTOSes may require additional OpenOCD-specific file to be linked
|
||||
Zephyr must be compiled with the DEBUG_THREAD_INFO option. This will generate some symbols
|
||||
with information needed in order to build the list of threads.
|
||||
|
||||
FreeRTOS and uC/OS-III RTOSes may require additional OpenOCD-specific file to be linked
|
||||
along with the project:
|
||||
|
||||
@table @code
|
||||
|
||||
Reference in New Issue
Block a user