CONFIG_PERCEPIO_RECORDER_TRC_CFG_USE_16BIT_OBJECT_HANDLES

Use 16 Bit Object Handles

Type: bool

Help

If set to 0 (zero), the recorder uses 8-bit handles to identify kernel
objects such as tasks and queues. This limits the supported number of
concurrently active objects to 255 of each type (tasks, queues, mutexes,
etc.) Note: 255, not 256, since handle 0 is reserved.

If set to 1 (one), the recorder uses 16-bit handles to identify kernel
objects such as tasks and queues. This limits the supported number of
concurrent objects to 65535 of each type (object class). However, since the
object property table is limited to 64 KB, the practical limit is about
3000 objects in total.

Default is 0 (8-bit handles)

NOTE: An object with handle above 255 will use an extra 4-byte record in
the event buffer whenever the object is referenced. Moreover, some internal
tables in the recorder gets slightly larger when using 16-bit handles.

Direct dependencies

PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT && PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT && PERCEPIO_TRACERECORDER

(Includes any dependencies from ifs and menus.)

Default

  • n

Kconfig definition

At /home/runner/work/sdk-nrf/sdk-nrf/ncs/modules/debug/TraceRecorder/kernelports/Zephyr/Kconfig:690

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:31<Zephyr>/modules/Kconfig:6<nRF>/doc/_build/kconfig/Kconfig.modules:80

Menu path: (Top) → Modules → TraceRecorder (/home/runner/work/sdk-nrf/sdk-nrf/ncs/modules/debug/TraceRecorder) → Percepio Trace Recorder → Snapshot Configuration

config PERCEPIO_RECORDER_TRC_CFG_USE_16BIT_OBJECT_HANDLES
    bool "Use 16 Bit Object Handles"
    default n
    depends on PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT && PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT && PERCEPIO_TRACERECORDER
    help
      If set to 0 (zero), the recorder uses 8-bit handles to identify kernel
      objects such as tasks and queues. This limits the supported number of
      concurrently active objects to 255 of each type (tasks, queues, mutexes,
      etc.) Note: 255, not 256, since handle 0 is reserved.

      If set to 1 (one), the recorder uses 16-bit handles to identify kernel
      objects such as tasks and queues. This limits the supported number of
      concurrent objects to 65535 of each type (object class). However, since the
      object property table is limited to 64 KB, the practical limit is about
      3000 objects in total.

      Default is 0 (8-bit handles)

      NOTE: An object with handle above 255 will use an extra 4-byte record in
      the event buffer whenever the object is referenced. Moreover, some internal
      tables in the recorder gets slightly larger when using 16-bit handles.

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)