This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new a8daaed  Publishing web: feb249977349f687d40e57cfe5f0d39e5c5c71f9 
docs: 0544c52cbf524d9b5f06f2db16097efab3f8184f
a8daaed is described below

commit a8daaed578fbd776778255a84c7fa8e927b93467
Author: Matias <mat...@protobits.dev>
AuthorDate: Sat Oct 17 00:53:42 2020 +0000

    Publishing web: feb249977349f687d40e57cfe5f0d39e5c5c71f9 docs: 
0544c52cbf524d9b5f06f2db16097efab3f8184f
---
 content/docs/latest/_images/syscall-flat-after.png | Bin 0 -> 62410 bytes
 .../docs/latest/_images/syscall-flat-before.png    | Bin 0 -> 14115 bytes
 .../latest/_images/syscall-protected-after.png     | Bin 0 -> 91583 bytes
 .../latest/_images/syscall-protected-before.png    | Bin 0 -> 55438 bytes
 .../docs/latest/_images/task-trace-internal.png    | Bin 0 -> 141573 bytes
 .../docs/latest/_images/task-trace-overview.png    | Bin 0 -> 529103 bytes
 .../latest/_images/trace-compass-screenshot.png    | Bin 0 -> 112799 bytes
 content/docs/latest/_sources/guides/index.rst.txt  |   1 +
 .../docs/latest/_sources/guides/tasktrace.rst.txt  |  20 +
 .../_sources/guides/tasktraceinternal.rst.txt      |  96 +++
 .../latest/_sources/guides/tasktraceuser.rst.txt   | 348 +++++++++++
 .../latest/_sources/reference/os/index.rst.txt     |   1 +
 .../docs/latest/_sources/reference/os/note.rst.txt | 270 +++++++++
 content/docs/latest/genindex.html                  |  66 ++-
 content/docs/latest/guides/drivers.html            |   3 +-
 content/docs/latest/guides/index.html              |  48 +-
 content/docs/latest/guides/nfs.html                |   1 +
 content/docs/latest/guides/simulator.html          |   1 +
 .../{releases/index.html => guides/tasktrace.html} |  51 +-
 content/docs/latest/guides/tasktraceinternal.html  | 350 +++++++++++
 content/docs/latest/guides/tasktraceuser.html      | 528 +++++++++++++++++
 content/docs/latest/guides/usbtrace.html           |   1 +
 content/docs/latest/index.html                     |   3 +-
 content/docs/latest/objects.inv                    | Bin 19891 -> 21162 bytes
 content/docs/latest/reference/os/addrenv.html      |   1 +
 content/docs/latest/reference/os/app_vs_os.html    |   1 +
 content/docs/latest/reference/os/arch.html         |   1 +
 content/docs/latest/reference/os/board.html        |   1 +
 content/docs/latest/reference/os/boardctl.html     |   1 +
 content/docs/latest/reference/os/conventions.html  |   1 +
 content/docs/latest/reference/os/index.html        |  19 +
 content/docs/latest/reference/os/iob.html          |   3 +-
 content/docs/latest/reference/os/led.html          |   1 +
 content/docs/latest/reference/os/note.html         | 650 +++++++++++++++++++++
 content/docs/latest/reference/os/nuttx.html        |   1 +
 content/docs/latest/reference/os/paging.html       |   1 +
 content/docs/latest/reference/os/shm.html          |   1 +
 content/docs/latest/reference/os/smp.html          |   1 +
 content/docs/latest/reference/os/time_clock.html   |   1 +
 content/docs/latest/reference/os/wqueue.html       |   1 +
 content/docs/latest/releases/index.html            |   2 +-
 content/docs/latest/searchindex.js                 |   2 +-
 content/feed.xml                                   |   4 +-
 43 files changed, 2456 insertions(+), 25 deletions(-)

diff --git a/content/docs/latest/_images/syscall-flat-after.png 
b/content/docs/latest/_images/syscall-flat-after.png
new file mode 100644
index 0000000..e274db7
Binary files /dev/null and b/content/docs/latest/_images/syscall-flat-after.png 
differ
diff --git a/content/docs/latest/_images/syscall-flat-before.png 
b/content/docs/latest/_images/syscall-flat-before.png
new file mode 100644
index 0000000..1ef26e7
Binary files /dev/null and 
b/content/docs/latest/_images/syscall-flat-before.png differ
diff --git a/content/docs/latest/_images/syscall-protected-after.png 
b/content/docs/latest/_images/syscall-protected-after.png
new file mode 100644
index 0000000..e5fd903
Binary files /dev/null and 
b/content/docs/latest/_images/syscall-protected-after.png differ
diff --git a/content/docs/latest/_images/syscall-protected-before.png 
b/content/docs/latest/_images/syscall-protected-before.png
new file mode 100644
index 0000000..64d5724
Binary files /dev/null and 
b/content/docs/latest/_images/syscall-protected-before.png differ
diff --git a/content/docs/latest/_images/task-trace-internal.png 
b/content/docs/latest/_images/task-trace-internal.png
new file mode 100644
index 0000000..e8814c0
Binary files /dev/null and 
b/content/docs/latest/_images/task-trace-internal.png differ
diff --git a/content/docs/latest/_images/task-trace-overview.png 
b/content/docs/latest/_images/task-trace-overview.png
new file mode 100644
index 0000000..4f585b7
Binary files /dev/null and 
b/content/docs/latest/_images/task-trace-overview.png differ
diff --git a/content/docs/latest/_images/trace-compass-screenshot.png 
b/content/docs/latest/_images/trace-compass-screenshot.png
new file mode 100644
index 0000000..6e8c841
Binary files /dev/null and 
b/content/docs/latest/_images/trace-compass-screenshot.png differ
diff --git a/content/docs/latest/_sources/guides/index.rst.txt 
b/content/docs/latest/_sources/guides/index.rst.txt
index 74f7873..60862a2 100644
--- a/content/docs/latest/_sources/guides/index.rst.txt
+++ b/content/docs/latest/_sources/guides/index.rst.txt
@@ -9,3 +9,4 @@ Guides
   usbtrace.rst
   simulator.rst
   drivers.rst
+  tasktrace.rst
diff --git a/content/docs/latest/_sources/guides/tasktrace.rst.txt 
b/content/docs/latest/_sources/guides/tasktrace.rst.txt
new file mode 100644
index 0000000..c64ab12
--- /dev/null
+++ b/content/docs/latest/_sources/guides/tasktrace.rst.txt
@@ -0,0 +1,20 @@
+==========
+Task Trace
+==========
+
+Task Trace is the tool to collect the various events in the NuttX kernel and 
display the result graphically.
+
+It can collect the following events.
+
+  - Task execution, termination, switching
+  - System call enter/leave
+  - Interrupt handler enter/leave
+
+.. toctree::
+  :maxdepth: 1
+  :caption: Contents:
+
+  tasktraceuser.rst
+  tasktraceinternal.rst
+
+.. image:: image/task-trace-overview.png
diff --git a/content/docs/latest/_sources/guides/tasktraceinternal.rst.txt 
b/content/docs/latest/_sources/guides/tasktraceinternal.rst.txt
new file mode 100644
index 0000000..3e01598
--- /dev/null
+++ b/content/docs/latest/_sources/guides/tasktraceinternal.rst.txt
@@ -0,0 +1,96 @@
+====================
+Task Trace Internals
+====================
+
+Overview
+========
+
+.. image:: image/task-trace-internal.png
+
+The Task Trace is constructed by the following functions.
+
+NuttX kernel events collection
+------------------------------
+
+The kernel events are collected by ``sched_note_*()`` API calls embedded in 
NuttX kernel.
+
+  - For task switch events
+
+    - ``sched_note_start()``
+    - ``sched_note_stop()``
+    - ``sched_note_suspend()``
+    - ``sched_note_resume()``
+
+  - For system call events
+
+    - ``sched_note_syscall_enter()``
+    - ``sched_note_syscall_leave()``
+
+  - For interrupt event
+
+    - ``sched_note_irqhandler()``
+
+Filter logic (``nuttx/sched/sched_note.c``)
+-------------------------------------------
+
+- The ``sched_note_*()`` APIs are implemented here.
+- Filter the notes and pass them to noteram driver by ``sched_note_add()`` API.
+
+Noteram device driver (``nuttx/drivers/note/noteram_driver.c``)
+---------------------------------------------------------------
+
+- Accumurate incoming note records into the buffer.
+- Read the note records from the buffer by user requests.
+- The notes are recorded in the binary format of ``struct note_*_s``.
+- The detail function is described in :doc:`../reference/os/note`.
+
+Notectl device driver (``nuttx/drivers/note/notectl_driver.c``)
+---------------------------------------------------------------
+
+- ``/dev/notectl`` device driver.
+- Control the filter logic in ``sched_note.c`` by calling note filter APIs.
+- The detail function is described in :doc:`../reference/os/note`.
+
+"``trace``" Built-In Application (``apps/system/trace/trace.c``)
+----------------------------------------------------------------
+
+- ``trace`` Built-In Application to control the trace function interactively.
+- Read binary note records from ``/dev/note`` and convert into the ftrace text 
format which is acceptable by  `"Trace Compass" 
<https://www.eclipse.org/tracecompass/>`_.
+- The command syntax is described in :doc:`tasktraceuser`.
+
+Getting the system call events
+==============================
+
+To get the system call events, two different methods are used for FLAT build 
and PROTECTED/KERNEL build.
+
+FLAT build
+----------
+
+In FLAT build, a system call is just a function call into the NuttX kernel.
+
+.. image:: image/syscall-flat-before.png
+
+To get the system call events, `wrapper function option 
<https://sourceware.org/binutils/docs/ld/Options.html#index-_002d_002dwrap_003dsymbol>`_
  of the GNU Linker is used.
+
+The mksyscall tool is fixed to generate the system call wrapper which call 
system call enter/leave hook.
+The wrapper supersedes the system call function call of the NuttX binary by 
passing ``--wrap`` linker option to the build system.
+The wrapper calls the system call hooks before and after calling the real 
system call function.
+
+.. image:: image/syscall-flat-after.png
+
+PROTECTED/KERNEL build
+----------------------
+
+Different to FLAT build, in PROTECTED and KERNEL build, a system call is 
issued by an user space is handled as the following steps.
+
+#. System call issued by an application code is handled by the system call 
proxy (automatically generated by mksyscall).
+#. System call proxy issues the supervisor call instruction to enter into the 
kernel space.
+#. System call handler in the kernel space calls the system call stub 
(automatically generated by mksyscall).
+#. System call stub calls the API implementation in the NuttX kernel.
+
+.. image:: image/syscall-protected-before.png
+
+To get the system call events, the mksyscall tool is fixed to generate the 
system call wrapper which supersedes the system call function call in the 
system call stub.
+
+.. image:: image/syscall-protected-after.png
+
diff --git a/content/docs/latest/_sources/guides/tasktraceuser.rst.txt 
b/content/docs/latest/_sources/guides/tasktraceuser.rst.txt
new file mode 100644
index 0000000..82629a6
--- /dev/null
+++ b/content/docs/latest/_sources/guides/tasktraceuser.rst.txt
@@ -0,0 +1,348 @@
+=====================
+Task Trace User Guide
+=====================
+
+Installation
+============
+
+Install Trace Compass
+---------------------
+
+Task Trace uses the external tool `"Trace Compass" 
<https://www.eclipse.org/tracecompass/>`_ to display the trace result.
+
+Download it from https://www.eclipse.org/tracecompass/ and install into the 
host environment.
+After the installation, execute it and choose ``Tools`` -> ``add-ons`` menu, 
then select ``Install Extensions`` to install the extension named "Trace 
Compass ftrace (Incubation)".
+
+NuttX kernel configuration
+--------------------------
+
+To enable the task trace function, the NuttX kernel configuration needs to be 
modified.
+
+The following configurations must be enabled.
+
+- ``CONFIG_SCHED_INSTRUMENTATION`` : Enables the feature of scheduler notes.
+- ``CONFIG_SCHED_INSTRUMENTATION_FILTER`` : Enables the filter logic of the 
notes.
+- ``CONFIG_SCHED_INSTRUMENTATION_SYSCALL`` : Enable system call 
instrumentation.
+- ``CONFIG_SCHED_INSTRUMENTATION_IRQHANDLER`` : Enables IRQ instrumentation.
+- ``CONFIG_DRIVER_NOTE`` : Enables note driver support.
+- ``CONFIG_DRIVER_NOTERAM`` : Enables ``/dev/note`` in-memory buffering driver.
+- ``CONFIG_DRIVER_NOTECTL`` : Enables ``/dev/notectl`` filter control driver.
+- ``CONFIG_SYSTEM_TRACE`` : Enables "``trace``" command
+- ``CONFIG_SYSTEM_SYSTEM`` : Enables "``system``" command (required by 
:ref:`trace_cmd`)
+
+
+The following configurations are configurable parameters for trace. 
+
+- ``CONFIG_SCHED_INSTRUMENTATION_FILTER_DEFAULT_MODE``
+
+  - Specify the default filter mode.
+    If the following bits are set, the corresponding instrumentations are 
enabled on boot.
+
+    - Bit 0 = Enable instrumentation
+    - Bit 1 = Enable syscall instrumentation
+    - Bit 2 = Enable IRQ instrumentation
+
+- ``CONFIG_SCHED_INSTRUMENTATION_NOTERAM_BUFSIZE``
+
+  - Specify the note buffer size in bytes.
+    Higher value can hold more note records, but consumes more kernel memory.
+
+- ``CONFIG_SCHED_INSTRUMENTATION_NOTERAM_DEFAULT_NOOVERWRITE``
+
+  - If enabled, stop overwriting old notes in the circular buffer when the 
buffer is full by default.
+    This is useful to keep instrumentation data of the beginning of a system 
boot.
+
+After the configuration, rebuild the NuttX kernel and application.
+
+If the trace function is enabled, "``trace``" :doc:`../components/nsh/builtin` 
will be available.
+
+How to get trace data
+=====================
+
+The trace function can be controlled by "``trace``" command.
+
+Quick Guide
+-----------
+
+Getting the trace
+^^^^^^^^^^^^^^^^^
+
+Trace is started by the following command.
+
+
+.. code-block::
+
+  nsh> trace start
+
+Trace is stopped by the following command.
+
+.. code-block::
+
+  nsh> trace stop
+
+If you want to get the trace while executing some command, the following 
command can be used.
+
+.. code-block::
+
+  nsh> trace cmd <command> [<args>...]
+
+
+Displaying the trace result
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The trace result is accumulated in the memory.
+After getting the trace, the following command displays the accumulated trace 
data to the console.
+
+.. code-block::
+
+  nsh> trace dump
+
+This will be get the trace results like the followings:
+
+.. code-block::
+
+  <noname>-1   [0]   7.640000000: sys_close()
+  <noname>-1   [0]   7.640000000: sys_close -> 0
+  <noname>-1   [0]   7.640000000: sys_sched_lock()
+  <noname>-1   [0]   7.640000000: sys_sched_lock -> 0
+  <noname>-1   [0]   7.640000000: sys_nxsched_get_stackinfo()
+  <noname>-1   [0]   7.640000000: sys_nxsched_get_stackinfo -> 0
+  <noname>-1   [0]   7.640000000: sys_sched_unlock()
+  <noname>-1   [0]   7.640000000: sys_sched_unlock -> 0
+  <noname>-1   [0]   7.640000000: sys_clock_nanosleep()
+  <noname>-1   [0]   7.640000000: sched_switch: prev_comm=<noname> prev_pid=1 
prev_state=S ==> next_comm=<noname> next_pid=0
+  <noname>-0   [0]   7.640000000: irq_handler_entry: irq=11
+  <noname>-0   [0]   7.640000000: irq_handler_exit: irq=11
+  <noname>-0   [0]   7.640000000: irq_handler_entry: irq=15
+  <noname>-0   [0]   7.650000000: irq_handler_exit: irq=15
+  <noname>-0   [0]   7.650000000: irq_handler_entry: irq=15
+      :
+
+
+By using the logging function of your terminal software, the trace result can 
be saved into the host environment and it can be used as the input for `"Trace 
Compass" <https://www.eclipse.org/tracecompass/>`_.
+
+If the target has a storage, the trace result can be stored into the file by 
using the following command.
+It also can be used as the input for "Trace Compass" by transferring the file 
in the target device to the host.
+
+.. code-block::
+
+  nsh> trace dump <file name>
+
+
+To display the trace result by `"Trace Compass" 
<https://www.eclipse.org/tracecompass/>`_, choose ``File`` -> ``Open Trace`` 
menu to specify the trace data file name.
+
+.. image:: image/trace-compass-screenshot.png
+
+
+Trace command description
+=========================
+
+.. _trace_start:
+
+trace start
+-----------
+
+Start task tracing
+
+**Command Syntax:**
+
+.. code-block::
+
+  trace start [-c][<duration>]
+
+- ``-c`` : Continue the previous trace.
+  The trace data is not cleared before starting new trace.
+
+- ``<duration>`` : Specify the duration of the trace by seconds.
+  Task tracing is stopped after the specified period.
+  If not specified, the tracing continues until stopped by the command.
+
+.. _trace_stop:
+
+trace stop
+----------
+
+Stop task tracing
+
+**Command Syntax:**
+
+.. code-block::
+
+  trace stop
+
+.. _trace_cmd:
+
+trace cmd
+---------
+
+Get the trace while running the specified command.
+After the termination of the command, task tracing is stopped.
+To use this command, ``CONFIG_SYSTEM_SYSTEM`` needs to be enabled.
+
+**Command Syntax:**
+
+.. code-block::
+
+  trace cmd [-c] <command> [<args>...]
+
+
+- ``-c`` : Continue the previous trace.
+  The trace data is not cleared before starting new trace.
+
+- ``<command>`` : Specify the command to get the task trace.
+
+- ``<args>`` : Arguments for the command.
+
+**Example:**
+
+.. code-block::
+
+  nsh> trace cmd sleep 1
+
+.. _trace_dump:
+
+trace dump
+----------
+
+Output the trace result.
+If the task trace is running, it is stopped before the output.
+
+**Command Syntax:**
+
+.. code-block::
+
+  trace dump [-c][<filename>]
+
+- ``-c`` : Not stop tracing before the output.
+  Because dumping trace itself is a task activity and new trace data is added 
while output, the dump will never stop.
+
+- ``<filename>`` : Specify the filename to save the trace result.
+  If not specified, the trace result is displayed to console.
+
+
+.. _trace_mode:
+
+trace mode
+----------
+
+Set the task trace mode options.
+The default value is given by the kernel configuration 
``CONFIG_SCHED_INSTRUMENTATION_FILTER_DEFAULT_MODE``.
+
+**Command Syntax:**
+
+.. code-block::
+
+  trace mode [{+|-}{o|s|i}...]
+
+- ``+o`` : Enable overwrite mode.
+  The trace buffer is a ring buffer and it can overwrite old data if no free 
space is available in the buffer.
+  Enables this behavior.
+
+- ``-o`` : Disable overwrite mode.
+  The new trace data will be disposed when the buffer is full.
+  This is useful to keep the data of the beginning of the trace.
+
+- ``+s`` : Enable system call trace.
+  It records the event of enter/leave system call which is issued by the 
application.
+  All system calls are recorded by default. ``trace syscall`` command can 
filter the system calls to be recorded.
+
+- ``-s`` : Disable system call trace.
+
+- ``+i`` : Enable interrupt trace.
+  It records the event of enter/leave interrupt handler which is occured while 
the tracing.
+  All IRQs are recorded by default. ``trace irq`` command can filter the IRQs 
to be recorded.
+
+- ``-i`` : Disable interrupt trace.
+
+If no command parameters are specified, display the current mode as the 
follows.
+
+**Example:**
+
+.. code-block::
+
+  nsh> trace mode
+  Task trace mode:
+   Trace                   : enabled
+   Overwrite               : on  (+o)
+   Syscall trace           : on  (+s)
+    Filtered Syscalls      : 16
+   IRQ trace               : on  (+i)
+    Filtered IRQs          : 2
+
+.. _trace_syscall:
+
+trace syscall
+-------------
+
+Configure the filter of the system call trace.
+
+**Command Syntax:**
+
+.. code-block::
+
+  trace syscall [{+|-}<syscallname>...]
+
+- ``+<syscallname>`` : Add the specified system call name to the filter.
+  The execution of the filtered system call is not recorded into the trace 
data.
+
+- ``-<syscallname>`` : Remove the specified system call name from the filter.
+
+Wildcard "``*``" can be used to specify the system call name.
+For example, "``trace syscall +sem_*``" filters the system calls begin with 
"``sem_``", such as ``sem_post()``, ``sem_wait()``,...
+
+If no command parameters are specified, display the current filter settings as 
the follows.
+
+**Example:**
+
+.. code-block:: console
+
+  nsh> trace syscall
+  Filtered Syscalls: 16
+    getpid
+    sem_destroy
+    sem_post
+    sem_timedwait
+    sem_trywait
+    sem_wait
+    mq_close
+    mq_getattr
+    mq_notify
+    mq_open
+    mq_receive
+    mq_send
+    mq_setattr
+    mq_timedreceive
+    mq_timedsend
+    mq_unlink
+
+.. _trace_irq:
+
+trace irq
+---------
+
+Configure the filter of the interrupt trace.
+
+**Command Syntax:**
+
+.. code-block::
+
+  trace irq [{+|-}<irqnum>...]
+
+- ``+<irqnum>`` : Add the specified IRQ number to the filter.
+  The execution of the filtered IRQ handler is not recorded into the trace 
data.
+
+- ``-<irqnum>`` : Remove the specified IRQ number from the filter.
+
+Wildcard "``*``" can be used to specify all IRQs.
+
+If no command parameters are specified, display the current filter settings as 
the follows.
+
+**Example:**
+
+.. code-block:: console
+
+  nsh> trace irq
+  Filtered IRQs: 2
+    11
+    15
+
diff --git a/content/docs/latest/_sources/reference/os/index.rst.txt 
b/content/docs/latest/_sources/reference/os/index.rst.txt
index 75f53ba..fad70d2 100644
--- a/content/docs/latest/_sources/reference/os/index.rst.txt
+++ b/content/docs/latest/_sources/reference/os/index.rst.txt
@@ -23,3 +23,4 @@ in other header files.
   paging.rst
   led.rst
   iob.rst
+  note.rst
diff --git a/content/docs/latest/_sources/reference/os/note.rst.txt 
b/content/docs/latest/_sources/reference/os/note.rst.txt
new file mode 100644
index 0000000..1ce8498
--- /dev/null
+++ b/content/docs/latest/_sources/reference/os/note.rst.txt
@@ -0,0 +1,270 @@
+=====================
+Note Driver Interface
+=====================
+
+Note driver is the interface to access the instrumentation data.
+The following devices are provided.
+
+- :ref:`notectl`
+- :ref:`noteram`
+
+.. _notectl:
+
+Notectl Device (``/dev/notectl``)
+=================================
+
+  ``/dev/notectl`` is the device to control an instrumentation filter in NuttX 
kernel.
+  The device has only ioctl function to control the filter.
+
+``/dev/notectl`` Header Files
+-----------------------------
+
+  The header file ``include/nuttx/note/notectl_driver.h`` provides the 
interface definitions of the device.
+
+``/dev/notectl`` Data Structures
+--------------------------------
+
+.. c:struct:: note_filter_mode_s
+
+  .. code-block:: c
+
+    struct note_filter_mode_s
+    {
+      unsigned int flag;          /* Filter mode flag */
+    #ifdef CONFIG_SMP
+      unsigned int cpuset;        /* The set of monitored CPUs */
+    #endif  
+    };
+
+  - ``flag`` : Filter mode flag. The bitwise OR of the following defines are 
available.
+
+    .. c:macro:: NOTE_FILTER_MODE_FLAG_ENABLE
+    
+      Enable instrumentation
+
+    .. c:macro:: NOTE_FILTER_MODE_FLAG_SYSCALL
+    
+      Enable syscall instrumentation
+
+    .. c:macro:: NOTE_FILTER_MODE_FLAG_IRQ
+    
+      Enable IRQ instrumentaiton
+
+  - ``cpuset`` : (SMP only) Monitor only CPUs in the bitset. Bit 0=CPU0, 
Bit1=CPU1, etc.
+
+.. c:struct:: note_filter_syscall_s
+
+  .. code-block:: c
+
+    struct note_filter_syscall_s
+    {
+      uint8_t syscall_mask[];
+    };
+
+  - ``syscall_mask`` : A bitmap array of the syscall filter. If a bit is set, 
the corresponding syscall is not recorded.
+    The following helper macros are available:
+
+    .. c:macro:: NOTE_FILTER_SYSCALLMASK_SET(nr, s)
+
+      Set syscall number `nr` as masked. `s` specifies the variable of `struct 
note_filter_syscall_s`
+
+    .. c:macro:: NOTE_FILTER_SYSCALLMASK_CLR(nr, s)
+
+      Set syscall number `nr` as unmasked.
+
+    .. c:macro:: NOTE_FILTER_SYSCALLMASK_ISSET(nr, s)
+
+      Check whether syscall number `nr` is masked or not. True if masked.
+
+    .. c:macro:: NOTE_FILTER_SYSCALLMASK_ZERO(s)
+
+      Clear all masks.
+
+.. c:struct:: note_filter_irq_s
+
+  .. code-block:: c
+
+    struct note_filter_irq_s
+    {
+      uint8_t irq_mask[];
+    };
+
+  - ``irq_mask`` : A bitmap array of the IRQ filter. If a bit is set, the 
corresponding IRQ is not recorded.
+    The following helper macros are available:
+
+    .. c:macro:: NOTE_FILTER_IRQMASK_SET(nr, s)
+
+      Set IRQ number `nr` as masked. `s` specifies the variable of `struct 
note_filter_irq_s`
+
+    .. c:macro:: NOTE_FILTER_IRQMASK_CLR(nr, s)
+
+      Set IRQ number `nr` as unmasked.
+
+    .. c:macro:: NOTE_FILTER_IRQMASK_ISSET(nr, s)
+
+      Check whether IRQ number `nr` is masked or not. True if masked.
+
+    .. c:macro:: NOTE_FILTER_IRQMASK_ZERO(s)
+
+      Clear all masks.
+
+``/dev/notectl`` Ioctls
+-----------------------
+
+.. c:macro:: NOTECTL_GETMODE
+
+  Get note filter mode
+
+  :argument: A writable pointer to :c:struct:`note_filter_mode_s`
+
+  :return: If success, 0 (``OK``) is returned and current note filter mode is 
stored into the given pointer.
+    If failed, a negated ``errno`` is returned.
+
+.. c:macro:: NOTECTL_SETMODE
+
+  Set note filter mode
+
+  :argument: A read-only pointer to :c:struct:`note_filter_mode_s`
+
+  :return: If success, 0 (``OK``) is returned and the given filter mode is set 
as the current settings.
+    If failed, a negated ``errno`` is returned.
+
+.. c:macro:: NOTECTL_GETSYSCALLFILTER
+
+  Get syscall filter setting
+
+  :argument: A writable pointer to :c:struct:`note_filter_syscall_s`
+
+  :return: If success, 0 (``OK``) is returned and current syscall filter mode 
is stored into the given pointer.
+    If failed, a negated ``errno`` is returned.
+
+.. c:macro:: NOTECTL_SETSYSCALLFILTER
+
+  Set syscall filter setting
+
+  :argument: A read-only pointer to :c:struct:`note_filter_syscall_s`
+
+  :return: If success, 0 (``OK``) is returned and the given syscall filter 
mode is set as the current settings.
+    If failed, a negated ``errno`` is returned.
+
+.. c:macro:: NOTECTL_GETIRQFILTER
+
+  Get IRQ filter setting
+
+  :argument: A writable pointer to :c:struct:`note_filter_irq_s`
+
+  :return: If success, 0 (``OK``) is returned and current IRQ filter mode is 
stored into the given pointer.
+    If failed, a negated ``errno`` is returned.
+
+.. c:macro:: NOTECTL_SETIRQFILTER
+
+  Set IRQ filter setting
+
+  :argument: A read-only pointer to :c:struct:`note_filter_irq_s`
+
+  :return: If success, 0 (``OK``) is returned and the given IRQ filter mode is 
set as the current settings.
+    If failed, a negated ``errno`` is returned.
+
+
+.. _noteram:
+
+Noteram Device (``/dev/note``)
+==============================
+
+  ``/dev/note`` is the device to get the trace (instrumentation) data.
+  The device has read function to get the data and ioctl function to control 
the buffer mode.
+
+
+``/dev/note`` Header Files
+--------------------------
+
+  The header file ``include/nuttx/note/noteram_driver.h`` provides the 
interface definitions of the device.
+
+``/dev/note`` Ioctls
+--------------------
+
+.. c:macro:: NOTERAM_CLEAR
+
+  Clear all contents of the circular buffer
+
+  :argument: Ignored
+
+  :return: Always returns 0.
+
+.. c:macro:: NOTERAM_GETMODE
+
+  Get overwrite mode
+
+  :argument: A writable pointer to ``unsigned int``.
+    The overwrite mode takes one of the following values.
+
+    .. c:macro:: NOTERAM_MODE_OVERWRITE_DISABLE
+     
+      Overwrite mode is disabled. When the buffer is full, accepting the data 
will be stopped.
+
+    .. c:macro:: NOTERAM_MODE_OVERWRITE_ENABLE
+
+      Overwrite mode is enabled.
+
+    .. c:macro:: NOTERAM_MODE_OVERWRITE_OVERFLOW
+
+      Overwrite mode is disabled and the buffer is already full.
+
+  :return: If success, 0 (``OK``) is returned and current overwrite mode is 
stored into the given pointer.
+           If failed, a negated ``errno`` is returned.
+
+.. c:macro:: NOTERAM_SETMODE
+
+  Set overwrite mode
+
+  :argument: A read-only pointer to ``unsigned int``.
+
+  :return: If success, 0 (``OK``) is returned and the given overwriter mode is 
set as the current settings.
+    If failed, a negated ``errno`` is returned.
+
+Filter control APIs
+===================
+
+The following APIs are the functions to control note filters directly.
+These are kernel APIs and application can use them only in FLAT build.
+
+The header file ``include/nuttx/sched_note.h`` is needed to use the following 
APIs.
+
+API description
+---------------
+
+.. c:function:: void sched_note_filter_mode(struct note_filter_mode_s *oldm, 
struct note_filter_mode_s *newm);
+
+  Set and get note filter mode.
+  (Same as :c:macro:`NOTECTL_GETMODE` / :c:macro:`NOTECTL_SETMODE` ioctls)
+
+  :param oldm: A writable pointer to :c:struct:`note_filter_mode_s` to get 
current filter mode.
+    If 0, no data is written.
+  :param newm: A read-only pointer to :c:struct:`note_filter_mode_s` which 
holds the new filter mode.
+    If 0, the filter mode is not updated.
+
+  :return: None
+
+.. c:function:: void sched_note_filter_syscall(struct note_filter_syscall_s 
*oldf, struct note_filter_syscall_s *newf);
+
+  Set and get syscall filter setting.
+  (Same as :c:macro:`NOTECTL_GETSYSCALLFILTER` / 
:c:macro:`NOTECTL_SETSYSCALLFILTER` ioctls)
+
+  :param oldf: A writable pointer to :c:struct:`note_filter_syscall_s` to get 
current syscall filter setting.
+    If 0, no data is written.
+  :param newf: A read-only pointer to :c:struct:`note_filter_syscall_s` of the 
new syscall filter setting.
+    If 0, the setting is not updated.
+
+  :return: None
+
+.. c:function:: void sched_note_filter_irq(struct note_filter_irq_s *oldf, 
struct note_filter_irq_s *newf);
+
+  Set and get IRQ filter setting.
+  (Same as :c:macro:`NOTECTL_GETIRQFILTER` / :c:macro:`NOTECTL_SETIRQFILTER` 
ioctls)
+
+  :param oldf: A writable pointer to :c:struct:`note_filter_irq_s` to get 
current IRQ filter setting.
+    If 0, no data is written.
+  :param newf: A read-only pointer to :c:struct:`note_filter_irq_s` of the new 
IRQ filter setting.
+    If 0, the setting is not updated.
+
+  :return: None
diff --git a/content/docs/latest/genindex.html 
b/content/docs/latest/genindex.html
index c89646f..bad81f3 100644
--- a/content/docs/latest/genindex.html
+++ b/content/docs/latest/genindex.html
@@ -672,6 +672,58 @@
 </li>
       <li><a 
href="reference/os/arch.html#c.noreturn_function">noreturn_function (C 
macro)</a>
 </li>
+      <li><a 
href="reference/os/note.html#c.note_filter_irq_s">note_filter_irq_s (C 
struct)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.note_filter_irq_s.NOTE_FILTER_IRQMASK_CLR">note_filter_irq_s.NOTE_FILTER_IRQMASK_CLR
 (C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.note_filter_irq_s.NOTE_FILTER_IRQMASK_ISSET">note_filter_irq_s.NOTE_FILTER_IRQMASK_ISSET
 (C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.note_filter_irq_s.NOTE_FILTER_IRQMASK_SET">note_filter_irq_s.NOTE_FILTER_IRQMASK_SET
 (C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.note_filter_irq_s.NOTE_FILTER_IRQMASK_ZERO">note_filter_irq_s.NOTE_FILTER_IRQMASK_ZERO
 (C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.note_filter_mode_s">note_filter_mode_s (C 
struct)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.note_filter_mode_s.NOTE_FILTER_MODE_FLAG_ENABLE">note_filter_mode_s.NOTE_FILTER_MODE_FLAG_ENABLE
 (C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.note_filter_mode_s.NOTE_FILTER_MODE_FLAG_IRQ">note_filter_mode_s.NOTE_FILTER_MODE_FLAG_IRQ
 (C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.note_filter_mode_s.NOTE_FILTER_MODE_FLAG_SYSCALL">note_filter_mode_s.NOTE_FILTER_MODE_FLAG_SYSCALL
 (C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.note_filter_syscall_s">note_filter_syscall_s (C 
struct)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_CLR">note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_CLR
 (C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_ISSET">note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_ISSET
 (C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_SET">note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_SET
 (C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_ZERO">note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_ZERO
 (C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.NOTECTL_GETIRQFILTER">NOTECTL_GETIRQFILTER (C 
macro)</a>
+</li>
+      <li><a href="reference/os/note.html#c.NOTECTL_GETMODE">NOTECTL_GETMODE 
(C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.NOTECTL_GETSYSCALLFILTER">NOTECTL_GETSYSCALLFILTER
 (C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.NOTECTL_SETIRQFILTER">NOTECTL_SETIRQFILTER (C 
macro)</a>
+</li>
+      <li><a href="reference/os/note.html#c.NOTECTL_SETMODE">NOTECTL_SETMODE 
(C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.NOTECTL_SETSYSCALLFILTER">NOTECTL_SETSYSCALLFILTER
 (C macro)</a>
+</li>
+      <li><a href="reference/os/note.html#c.NOTERAM_CLEAR">NOTERAM_CLEAR (C 
macro)</a>
+</li>
+      <li><a href="reference/os/note.html#c.NOTERAM_GETMODE">NOTERAM_GETMODE 
(C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.NOTERAM_GETMODE.NOTERAM_MODE_OVERWRITE_DISABLE">NOTERAM_GETMODE.NOTERAM_MODE_OVERWRITE_DISABLE
 (C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.NOTERAM_GETMODE.NOTERAM_MODE_OVERWRITE_ENABLE">NOTERAM_GETMODE.NOTERAM_MODE_OVERWRITE_ENABLE
 (C macro)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.NOTERAM_GETMODE.NOTERAM_MODE_OVERWRITE_OVERFLOW">NOTERAM_GETMODE.NOTERAM_MODE_OVERWRITE_OVERFLOW
 (C macro)</a>
+</li>
+      <li><a href="reference/os/note.html#c.NOTERAM_SETMODE">NOTERAM_SETMODE 
(C macro)</a>
+</li>
       <li><a href="components/power.html#c.notify">notify (C var)</a>
 </li>
       <li><a href="glossary.html#term-NSH"><strong>NSH</strong></a>
@@ -764,6 +816,8 @@
 </li>
       <li><a 
href="components/nxgraphics/nxcursor.html#c.nxcursor_setimage">nxcursor_setimage
 (C function)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a 
href="components/nxgraphics/nxcursor.html#c.nxcursor_setposition">nxcursor_setposition
 (C function)</a>
 </li>
       <li><a 
href="components/nxgraphics/nxfonts.html#c.nxf_convert_16bpp">nxf_convert_16bpp 
(C function)</a>
@@ -790,8 +844,6 @@
 </li>
       <li><a 
href="components/nxgraphics/nxgl.html#c.nxgl_circletraps">nxgl_circletraps (C 
function)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a 
href="components/nxgraphics/nxgl.html#c.nxgl_colorcopy">nxgl_colorcopy (C 
function)</a>
 </li>
       <li><a 
href="components/nxgraphics/nxgl.html#c.nxgl_coord_t">nxgl_coord_t (C type)</a>
@@ -1218,6 +1270,12 @@
 </li>
       <li><a 
href="reference/user/03_task_control.html#c.sched_lockcount">sched_lockcount (C 
function)</a>
 </li>
+      <li><a 
href="reference/os/note.html#c.sched_note_filter_irq">sched_note_filter_irq (C 
function)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.sched_note_filter_mode">sched_note_filter_mode 
(C function)</a>
+</li>
+      <li><a 
href="reference/os/note.html#c.sched_note_filter_syscall">sched_note_filter_syscall
 (C function)</a>
+</li>
       <li><a href="reference/user/structures.html#c.sched_param">sched_param 
(C struct)</a>
 </li>
       <li><a 
href="reference/user/02_task_scheduling.html#c.sched_setparam">sched_setparam 
(C function)</a>
@@ -1282,10 +1340,10 @@
 </li>
       <li><a href="reference/user/12_shared_memory.html#c.shmat">shmat (C 
function)</a>
 </li>
-      <li><a href="reference/user/12_shared_memory.html#c.shmctl">shmctl (C 
function)</a>
-</li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/user/12_shared_memory.html#c.shmctl">shmctl (C 
function)</a>
+</li>
       <li><a href="reference/user/12_shared_memory.html#c.shmdt">shmdt (C 
function)</a>
 </li>
       <li><a href="reference/user/12_shared_memory.html#c.shmget">shmget (C 
function)</a>
diff --git a/content/docs/latest/guides/drivers.html 
b/content/docs/latest/guides/drivers.html
index a8f00a0..bf3abfa 100644
--- a/content/docs/latest/guides/drivers.html
+++ b/content/docs/latest/guides/drivers.html
@@ -62,7 +62,7 @@
     
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="Releases" href="../releases/index.html" />
+    <link rel="next" title="Task Trace" href="tasktrace.html" />
     <link rel="prev" title="Simulator" href="simulator.html" /> 
 </head>
 
@@ -137,6 +137,7 @@
 <li class="toctree-l3"><a class="reference internal" href="#dma-debugging">DMA 
Debugging</a></li>
 </ul>
 </li>
+<li class="toctree-l2"><a class="reference internal" 
href="tasktrace.html">Task Trace</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" 
href="../releases/index.html">Releases</a></li>
diff --git a/content/docs/latest/guides/index.html 
b/content/docs/latest/guides/index.html
index 1e9f918..30464da 100644
--- a/content/docs/latest/guides/index.html
+++ b/content/docs/latest/guides/index.html
@@ -63,7 +63,7 @@
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="NFS Client How-To" href="nfs.html" />
-    <link rel="prev" title="I/O Buffer Management" 
href="../reference/os/iob.html" /> 
+    <link rel="prev" title="Note Driver Interface" 
href="../reference/os/note.html" /> 
 </head>
 
 <body class="wy-body-for-nav">
@@ -130,6 +130,7 @@
 <li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB 
Device Trace</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="simulator.html">Simulator</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="drivers.html">Drivers</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="tasktrace.html">Task Trace</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" 
href="../releases/index.html">Releases</a></li>
@@ -231,6 +232,51 @@
 <li class="toctree-l2"><a class="reference internal" 
href="drivers.html#dma-debugging">DMA Debugging</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" 
href="tasktrace.html">Task Trace</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="tasktraceuser.html">Task Trace User Guide</a><ul>
+<li class="toctree-l3"><a class="reference internal" 
href="tasktraceuser.html#installation">Installation</a><ul>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceuser.html#install-trace-compass">Install Trace Compass</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceuser.html#nuttx-kernel-configuration">NuttX kernel 
configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" 
href="tasktraceuser.html#how-to-get-trace-data">How to get trace data</a><ul>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceuser.html#quick-guide">Quick Guide</a><ul>
+<li class="toctree-l5"><a class="reference internal" 
href="tasktraceuser.html#getting-the-trace">Getting the trace</a></li>
+<li class="toctree-l5"><a class="reference internal" 
href="tasktraceuser.html#displaying-the-trace-result">Displaying the trace 
result</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" 
href="tasktraceuser.html#trace-command-description">Trace command 
description</a><ul>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceuser.html#trace-start">trace start</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceuser.html#trace-stop">trace stop</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceuser.html#trace-cmd">trace cmd</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceuser.html#trace-dump">trace dump</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceuser.html#trace-mode">trace mode</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceuser.html#trace-syscall">trace syscall</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceuser.html#trace-irq">trace irq</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" 
href="tasktraceinternal.html">Task Trace Internals</a><ul>
+<li class="toctree-l3"><a class="reference internal" 
href="tasktraceinternal.html#overview">Overview</a><ul>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceinternal.html#nuttx-kernel-events-collection">NuttX kernel 
events collection</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceinternal.html#filter-logic-nuttx-sched-sched-note-c">Filter 
logic (<code class="docutils literal notranslate"><span 
class="pre">nuttx/sched/sched_note.c</span></code>)</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceinternal.html#noteram-device-driver-nuttx-drivers-note-noteram-driver-c">Noteram
 device driver (<code class="docutils literal notranslate"><span 
class="pre">nuttx/drivers/note/noteram_driver.c</span></code>)</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceinternal.html#notectl-device-driver-nuttx-drivers-note-notectl-driver-c">Notectl
 device driver (<code class="docutils literal notranslate"><span 
class="pre">nuttx/drivers/note/notectl_driver.c</span></code>)</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceinternal.html#trace-built-in-application-apps-system-trace-trace-c">“<code
 class="docutils literal notranslate"><span class="pre">trace</span></code>” 
Built-In Application (<code class="docutils literal notranslate"><span 
class="pre">apps/system/trace/trace.c</span></code>)</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" 
href="tasktraceinternal.html#getting-the-system-call-events">Getting the system 
call events</a><ul>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceinternal.html#flat-build">FLAT build</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="tasktraceinternal.html#protected-kernel-build">PROTECTED/KERNEL 
build</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </div>
 </div>
diff --git a/content/docs/latest/guides/nfs.html 
b/content/docs/latest/guides/nfs.html
index 31a9f1c..c6f6c20 100644
--- a/content/docs/latest/guides/nfs.html
+++ b/content/docs/latest/guides/nfs.html
@@ -136,6 +136,7 @@
 <li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB 
Device Trace</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="simulator.html">Simulator</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="drivers.html">Drivers</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="tasktrace.html">Task Trace</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" 
href="../releases/index.html">Releases</a></li>
diff --git a/content/docs/latest/guides/simulator.html 
b/content/docs/latest/guides/simulator.html
index 3eb80c1..eac18cb 100644
--- a/content/docs/latest/guides/simulator.html
+++ b/content/docs/latest/guides/simulator.html
@@ -136,6 +136,7 @@
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" 
href="drivers.html">Drivers</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="tasktrace.html">Task Trace</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" 
href="../releases/index.html">Releases</a></li>
diff --git a/content/docs/latest/releases/index.html 
b/content/docs/latest/guides/tasktrace.html
similarity index 72%
copy from content/docs/latest/releases/index.html
copy to content/docs/latest/guides/tasktrace.html
index 88bf416..439295b 100644
--- a/content/docs/latest/releases/index.html
+++ b/content/docs/latest/guides/tasktrace.html
@@ -26,7 +26,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Releases &mdash; NuttX latest documentation</title>
+  <title>Task Trace &mdash; NuttX latest documentation</title>
   
 
   
@@ -62,8 +62,8 @@
     
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="Contributing" href="../contributing/index.html" />
-    <link rel="prev" title="Drivers" href="../guides/drivers.html" /> 
+    <link rel="next" title="Task Trace User Guide" href="tasktraceuser.html" />
+    <link rel="prev" title="Drivers" href="drivers.html" /> 
 </head>
 
 <body class="wy-body-for-nav">
@@ -125,8 +125,19 @@
 <li class="toctree-l1"><a class="reference internal" 
href="../applications/index.html">Applications</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../boards/index.html">Supported Boards</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../reference/index.html">API Reference</a></li>
-<li class="toctree-l1"><a class="reference internal" 
href="../guides/index.html">Guides</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" 
href="#">Releases</a></li>
+<li class="toctree-l1 current"><a class="reference internal" 
href="index.html">Guides</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS 
Client How-To</a></li>
+<li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB 
Device Trace</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="simulator.html">Simulator</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="drivers.html">Drivers</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" 
href="#">Task Trace</a><ul>
+<li class="toctree-l3"><a class="reference internal" 
href="tasktraceuser.html">Task Trace User Guide</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="tasktraceinternal.html">Task Trace Internals</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="../releases/index.html">Releases</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../contributing/index.html">Contributing</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../glossary.html">Glossary</a></li>
 </ul>
@@ -175,13 +186,15 @@
     
       <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
         
-      <li>Releases</li>
+          <li><a href="index.html">Guides</a> &raquo;</li>
+        
+      <li>Task Trace</li>
     
     
       <li class="wy-breadcrumbs-aside">
         
             
-            <a href="../_sources/releases/index.rst.txt" rel="nofollow"> View 
page source</a>
+            <a href="../_sources/guides/tasktrace.rst.txt" rel="nofollow"> 
View page source</a>
           
         
       </li>
@@ -194,13 +207,25 @@
           <div role="main" class="document" itemscope="itemscope" 
itemtype="http://schema.org/Article";>
            <div itemprop="articleBody">
             
-  <div class="section" id="releases">
-<h1>Releases<a class="headerlink" href="#releases" title="Permalink to this 
headline">¶</a></h1>
-<div class="admonition-todo admonition" id="id1">
-<p class="admonition-title">Todo</p>
-<p>This should link (or include?) release notes. Maybe only show some recent 
ones and link
-older ones</p>
+  <div class="section" id="task-trace">
+<h1>Task Trace<a class="headerlink" href="#task-trace" title="Permalink to 
this headline">¶</a></h1>
+<p>Task Trace is the tool to collect the various events in the NuttX kernel 
and display the result graphically.</p>
+<p>It can collect the following events.</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>Task execution, termination, switching</p></li>
+<li><p>System call enter/leave</p></li>
+<li><p>Interrupt handler enter/leave</p></li>
+</ul>
+</div></blockquote>
+<div class="toctree-wrapper compound">
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" 
href="tasktraceuser.html">Task Trace User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="tasktraceinternal.html">Task Trace Internals</a></li>
+</ul>
 </div>
+<img alt="../_images/task-trace-overview.png" 
src="../_images/task-trace-overview.png" />
 </div>
 
 
diff --git a/content/docs/latest/guides/tasktraceinternal.html 
b/content/docs/latest/guides/tasktraceinternal.html
new file mode 100644
index 0000000..072c08f
--- /dev/null
+++ b/content/docs/latest/guides/tasktraceinternal.html
@@ -0,0 +1,350 @@
+<!--
+ Documentation/_templates/layout.html
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.  The
+ ASF licenses this file to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance with the
+ License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ License for the specific language governing permissions and limitations
+ under the License.
+-->
+
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>Task Trace Internals &mdash; NuttX latest documentation</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" 
href="../_static/sphinx_tabs/semantic-ui-2.4.1/segment.min.css" type="text/css" 
/>
+  <link rel="stylesheet" 
href="../_static/sphinx_tabs/semantic-ui-2.4.1/menu.min.css" type="text/css" />
+  <link rel="stylesheet" 
href="../_static/sphinx_tabs/semantic-ui-2.4.1/tab.min.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/sphinx_tabs/tabs.css" 
type="text/css" />
+  <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
+
+  
+  
+    <link rel="shortcut icon" href="../_static/favicon.ico"/>
+  
+  
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" 
data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+        <script src="../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Releases" href="../releases/index.html" />
+    <link rel="prev" title="Task Trace User Guide" href="tasktraceuser.html" 
/> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+  
+    <a href="../index.html" class="icon icon-home"> NuttX
+  
+
+  
+    
+    <img src="../_static/NuttX.png" class="logo" alt="Logo"/>
+  
+  </a>
+  
+  <!-- this version selector is quite ugly, should be probably replaced by 
something
+       more modern -->
+       
+  <div class="version-selector">
+    <select>
+    
+      <option value="latest" selected="selected">latest</option>
+    
+    </select>
+  </div>
+  
+  
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" 
method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" 
role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <p class="caption"><span class="caption-text">Table of 
Contents</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" 
href="../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../introduction/index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../introduction/inviolables.html">The Inviolable Principles of 
NuttX</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../quickstart/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../components/index.html">OS Components</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../applications/index.html">Applications</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../boards/index.html">Supported Boards</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../reference/index.html">API Reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" 
href="index.html">Guides</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS 
Client How-To</a></li>
+<li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB 
Device Trace</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="simulator.html">Simulator</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="drivers.html">Drivers</a></li>
+<li class="toctree-l2 current"><a class="reference internal" 
href="tasktrace.html">Task Trace</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" 
href="tasktraceuser.html">Task Trace User Guide</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" 
href="#">Task Trace Internals</a><ul>
+<li class="toctree-l4"><a class="reference internal" 
href="#overview">Overview</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="#getting-the-system-call-events">Getting the system call events</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="../releases/index.html">Releases</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../contributing/index.html">Contributing</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../glossary.html">Glossary</a></li>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">NuttX</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+          <li><a href="index.html">Guides</a> &raquo;</li>
+        
+          <li><a href="tasktrace.html">Task Trace</a> &raquo;</li>
+        
+      <li>Task Trace Internals</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/guides/tasktraceinternal.rst.txt" 
rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" 
itemtype="http://schema.org/Article";>
+           <div itemprop="articleBody">
+            
+  <div class="section" id="task-trace-internals">
+<h1>Task Trace Internals<a class="headerlink" href="#task-trace-internals" 
title="Permalink to this headline">¶</a></h1>
+<div class="section" id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this 
headline">¶</a></h2>
+<img alt="../_images/task-trace-internal.png" 
src="../_images/task-trace-internal.png" />
+<p>The Task Trace is constructed by the following functions.</p>
+<div class="section" id="nuttx-kernel-events-collection">
+<h3>NuttX kernel events collection<a class="headerlink" 
href="#nuttx-kernel-events-collection" title="Permalink to this 
headline">¶</a></h3>
+<p>The kernel events are collected by <code class="docutils literal 
notranslate"><span class="pre">sched_note_*()</span></code> API calls embedded 
in NuttX kernel.</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>For task switch events</p>
+<ul>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">sched_note_start()</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">sched_note_stop()</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">sched_note_suspend()</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">sched_note_resume()</span></code></p></li>
+</ul>
+</li>
+<li><p>For system call events</p>
+<ul>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">sched_note_syscall_enter()</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">sched_note_syscall_leave()</span></code></p></li>
+</ul>
+</li>
+<li><p>For interrupt event</p>
+<ul>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">sched_note_irqhandler()</span></code></p></li>
+</ul>
+</li>
+</ul>
+</div></blockquote>
+</div>
+<div class="section" id="filter-logic-nuttx-sched-sched-note-c">
+<h3>Filter logic (<code class="docutils literal notranslate"><span 
class="pre">nuttx/sched/sched_note.c</span></code>)<a class="headerlink" 
href="#filter-logic-nuttx-sched-sched-note-c" title="Permalink to this 
headline">¶</a></h3>
+<ul class="simple">
+<li><p>The <code class="docutils literal notranslate"><span 
class="pre">sched_note_*()</span></code> APIs are implemented here.</p></li>
+<li><p>Filter the notes and pass them to noteram driver by <code 
class="docutils literal notranslate"><span 
class="pre">sched_note_add()</span></code> API.</p></li>
+</ul>
+</div>
+<div class="section" 
id="noteram-device-driver-nuttx-drivers-note-noteram-driver-c">
+<h3>Noteram device driver (<code class="docutils literal notranslate"><span 
class="pre">nuttx/drivers/note/noteram_driver.c</span></code>)<a 
class="headerlink" 
href="#noteram-device-driver-nuttx-drivers-note-noteram-driver-c" 
title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li><p>Accumurate incoming note records into the buffer.</p></li>
+<li><p>Read the note records from the buffer by user requests.</p></li>
+<li><p>The notes are recorded in the binary format of <code class="docutils 
literal notranslate"><span class="pre">struct</span> <span 
class="pre">note_*_s</span></code>.</p></li>
+<li><p>The detail function is described in <a class="reference internal" 
href="../reference/os/note.html"><span class="doc">Note Driver 
Interface</span></a>.</p></li>
+</ul>
+</div>
+<div class="section" 
id="notectl-device-driver-nuttx-drivers-note-notectl-driver-c">
+<h3>Notectl device driver (<code class="docutils literal notranslate"><span 
class="pre">nuttx/drivers/note/notectl_driver.c</span></code>)<a 
class="headerlink" 
href="#notectl-device-driver-nuttx-drivers-note-notectl-driver-c" 
title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">/dev/notectl</span></code> device driver.</p></li>
+<li><p>Control the filter logic in <code class="docutils literal 
notranslate"><span class="pre">sched_note.c</span></code> by calling note 
filter APIs.</p></li>
+<li><p>The detail function is described in <a class="reference internal" 
href="../reference/os/note.html"><span class="doc">Note Driver 
Interface</span></a>.</p></li>
+</ul>
+</div>
+<div class="section" id="trace-built-in-application-apps-system-trace-trace-c">
+<h3>“<code class="docutils literal notranslate"><span 
class="pre">trace</span></code>” Built-In Application (<code class="docutils 
literal notranslate"><span 
class="pre">apps/system/trace/trace.c</span></code>)<a class="headerlink" 
href="#trace-built-in-application-apps-system-trace-trace-c" title="Permalink 
to this headline">¶</a></h3>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">trace</span></code> Built-In Application to control the trace 
function interactively.</p></li>
+<li><p>Read binary note records from <code class="docutils literal 
notranslate"><span class="pre">/dev/note</span></code> and convert into the 
ftrace text format which is acceptable by  <a class="reference external" 
href="https://www.eclipse.org/tracecompass/";>“Trace Compass”</a>.</p></li>
+<li><p>The command syntax is described in <a class="reference internal" 
href="tasktraceuser.html"><span class="doc">Task Trace User 
Guide</span></a>.</p></li>
+</ul>
+</div>
+</div>
+<div class="section" id="getting-the-system-call-events">
+<h2>Getting the system call events<a class="headerlink" 
href="#getting-the-system-call-events" title="Permalink to this 
headline">¶</a></h2>
+<p>To get the system call events, two different methods are used for FLAT 
build and PROTECTED/KERNEL build.</p>
+<div class="section" id="flat-build">
+<h3>FLAT build<a class="headerlink" href="#flat-build" title="Permalink to 
this headline">¶</a></h3>
+<p>In FLAT build, a system call is just a function call into the NuttX 
kernel.</p>
+<img alt="../_images/syscall-flat-before.png" 
src="../_images/syscall-flat-before.png" />
+<p>To get the system call events, <a class="reference external" 
href="https://sourceware.org/binutils/docs/ld/Options.html#index-_002d_002dwrap_003dsymbol";>wrapper
 function option</a>  of the GNU Linker is used.</p>
+<p>The mksyscall tool is fixed to generate the system call wrapper which call 
system call enter/leave hook.
+The wrapper supersedes the system call function call of the NuttX binary by 
passing <code class="docutils literal notranslate"><span 
class="pre">--wrap</span></code> linker option to the build system.
+The wrapper calls the system call hooks before and after calling the real 
system call function.</p>
+<img alt="../_images/syscall-flat-after.png" 
src="../_images/syscall-flat-after.png" />
+</div>
+<div class="section" id="protected-kernel-build">
+<h3>PROTECTED/KERNEL build<a class="headerlink" href="#protected-kernel-build" 
title="Permalink to this headline">¶</a></h3>
+<p>Different to FLAT build, in PROTECTED and KERNEL build, a system call is 
issued by an user space is handled as the following steps.</p>
+<ol class="arabic simple">
+<li><p>System call issued by an application code is handled by the system call 
proxy (automatically generated by mksyscall).</p></li>
+<li><p>System call proxy issues the supervisor call instruction to enter into 
the kernel space.</p></li>
+<li><p>System call handler in the kernel space calls the system call stub 
(automatically generated by mksyscall).</p></li>
+<li><p>System call stub calls the API implementation in the NuttX 
kernel.</p></li>
+</ol>
+<img alt="../_images/syscall-protected-before.png" 
src="../_images/syscall-protected-before.png" />
+<p>To get the system call events, the mksyscall tool is fixed to generate the 
system call wrapper which supersedes the system call function call in the 
system call stub.</p>
+<img alt="../_images/syscall-protected-after.png" 
src="../_images/syscall-protected-after.png" />
+</div>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        
+        &copy; Copyright 2020, The Apache Software Foundation
+
+    </p>
+  </div> 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/latest/guides/tasktraceuser.html 
b/content/docs/latest/guides/tasktraceuser.html
new file mode 100644
index 0000000..ef1014f
--- /dev/null
+++ b/content/docs/latest/guides/tasktraceuser.html
@@ -0,0 +1,528 @@
+<!--
+ Documentation/_templates/layout.html
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.  The
+ ASF licenses this file to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance with the
+ License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ License for the specific language governing permissions and limitations
+ under the License.
+-->
+
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>Task Trace User Guide &mdash; NuttX latest documentation</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" 
href="../_static/sphinx_tabs/semantic-ui-2.4.1/segment.min.css" type="text/css" 
/>
+  <link rel="stylesheet" 
href="../_static/sphinx_tabs/semantic-ui-2.4.1/menu.min.css" type="text/css" />
+  <link rel="stylesheet" 
href="../_static/sphinx_tabs/semantic-ui-2.4.1/tab.min.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/sphinx_tabs/tabs.css" 
type="text/css" />
+  <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
+
+  
+  
+    <link rel="shortcut icon" href="../_static/favicon.ico"/>
+  
+  
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" 
data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+        <script src="../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Task Trace Internals" 
href="tasktraceinternal.html" />
+    <link rel="prev" title="Task Trace" href="tasktrace.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+  
+    <a href="../index.html" class="icon icon-home"> NuttX
+  
+
+  
+    
+    <img src="../_static/NuttX.png" class="logo" alt="Logo"/>
+  
+  </a>
+  
+  <!-- this version selector is quite ugly, should be probably replaced by 
something
+       more modern -->
+       
+  <div class="version-selector">
+    <select>
+    
+      <option value="latest" selected="selected">latest</option>
+    
+    </select>
+  </div>
+  
+  
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" 
method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" 
role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <p class="caption"><span class="caption-text">Table of 
Contents</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" 
href="../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../introduction/index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../introduction/inviolables.html">The Inviolable Principles of 
NuttX</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../quickstart/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../components/index.html">OS Components</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../applications/index.html">Applications</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../boards/index.html">Supported Boards</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../reference/index.html">API Reference</a></li>
+<li class="toctree-l1 current"><a class="reference internal" 
href="index.html">Guides</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS 
Client How-To</a></li>
+<li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB 
Device Trace</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="simulator.html">Simulator</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="drivers.html">Drivers</a></li>
+<li class="toctree-l2 current"><a class="reference internal" 
href="tasktrace.html">Task Trace</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" 
href="#">Task Trace User Guide</a><ul>
+<li class="toctree-l4"><a class="reference internal" 
href="#installation">Installation</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="#how-to-get-trace-data">How to get trace data</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="#trace-command-description">Trace command description</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" 
href="tasktraceinternal.html">Task Trace Internals</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="../releases/index.html">Releases</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../contributing/index.html">Contributing</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../glossary.html">Glossary</a></li>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">NuttX</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+          <li><a href="index.html">Guides</a> &raquo;</li>
+        
+          <li><a href="tasktrace.html">Task Trace</a> &raquo;</li>
+        
+      <li>Task Trace User Guide</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../_sources/guides/tasktraceuser.rst.txt" rel="nofollow"> 
View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" 
itemtype="http://schema.org/Article";>
+           <div itemprop="articleBody">
+            
+  <div class="section" id="task-trace-user-guide">
+<h1>Task Trace User Guide<a class="headerlink" href="#task-trace-user-guide" 
title="Permalink to this headline">¶</a></h1>
+<div class="section" id="installation">
+<h2>Installation<a class="headerlink" href="#installation" title="Permalink to 
this headline">¶</a></h2>
+<div class="section" id="install-trace-compass">
+<h3>Install Trace Compass<a class="headerlink" href="#install-trace-compass" 
title="Permalink to this headline">¶</a></h3>
+<p>Task Trace uses the external tool <a class="reference external" 
href="https://www.eclipse.org/tracecompass/";>“Trace Compass”</a> to display the 
trace result.</p>
+<p>Download it from <a class="reference external" 
href="https://www.eclipse.org/tracecompass/";>https://www.eclipse.org/tracecompass/</a>
 and install into the host environment.
+After the installation, execute it and choose <code class="docutils literal 
notranslate"><span class="pre">Tools</span></code> -&gt; <code class="docutils 
literal notranslate"><span class="pre">add-ons</span></code> menu, then select 
<code class="docutils literal notranslate"><span class="pre">Install</span> 
<span class="pre">Extensions</span></code> to install the extension named 
“Trace Compass ftrace (Incubation)”.</p>
+</div>
+<div class="section" id="nuttx-kernel-configuration">
+<h3>NuttX kernel configuration<a class="headerlink" 
href="#nuttx-kernel-configuration" title="Permalink to this headline">¶</a></h3>
+<p>To enable the task trace function, the NuttX kernel configuration needs to 
be modified.</p>
+<p>The following configurations must be enabled.</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SCHED_INSTRUMENTATION</span></code> : Enables the feature of 
scheduler notes.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SCHED_INSTRUMENTATION_FILTER</span></code> : Enables the 
filter logic of the notes.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SCHED_INSTRUMENTATION_SYSCALL</span></code> : Enable system 
call instrumentation.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SCHED_INSTRUMENTATION_IRQHANDLER</span></code> : Enables IRQ 
instrumentation.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_DRIVER_NOTE</span></code> : Enables note driver 
support.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_DRIVER_NOTERAM</span></code> : Enables <code class="docutils 
literal notranslate"><span class="pre">/dev/note</span></code> in-memory 
buffering driver.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_DRIVER_NOTECTL</span></code> : Enables <code class="docutils 
literal notranslate"><span class="pre">/dev/notectl</span></code> filter 
control driver.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SYSTEM_TRACE</span></code> : Enables “<code class="docutils 
literal notranslate"><span class="pre">trace</span></code>” command</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SYSTEM_SYSTEM</span></code> : Enables “<code class="docutils 
literal notranslate"><span class="pre">system</span></code>” command (required 
by <a class="reference internal" href="#trace-cmd"><span class="std 
std-ref">trace cmd</span></a>)</p></li>
+</ul>
+<p>The following configurations are configurable parameters for trace.</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SCHED_INSTRUMENTATION_FILTER_DEFAULT_MODE</span></code></p>
+<ul>
+<li><p>Specify the default filter mode.
+If the following bits are set, the corresponding instrumentations are enabled 
on boot.</p>
+<ul>
+<li><p>Bit 0 = Enable instrumentation</p></li>
+<li><p>Bit 1 = Enable syscall instrumentation</p></li>
+<li><p>Bit 2 = Enable IRQ instrumentation</p></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SCHED_INSTRUMENTATION_NOTERAM_BUFSIZE</span></code></p>
+<ul>
+<li><p>Specify the note buffer size in bytes.
+Higher value can hold more note records, but consumes more kernel 
memory.</p></li>
+</ul>
+</li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SCHED_INSTRUMENTATION_NOTERAM_DEFAULT_NOOVERWRITE</span></code></p>
+<ul>
+<li><p>If enabled, stop overwriting old notes in the circular buffer when the 
buffer is full by default.
+This is useful to keep instrumentation data of the beginning of a system 
boot.</p></li>
+</ul>
+</li>
+</ul>
+<p>After the configuration, rebuild the NuttX kernel and application.</p>
+<p>If the trace function is enabled, “<code class="docutils literal 
notranslate"><span class="pre">trace</span></code>” <a class="reference 
internal" href="../components/nsh/builtin.html"><span class="doc">NSH 
“Built-In” Applications</span></a> will be available.</p>
+</div>
+</div>
+<div class="section" id="how-to-get-trace-data">
+<h2>How to get trace data<a class="headerlink" href="#how-to-get-trace-data" 
title="Permalink to this headline">¶</a></h2>
+<p>The trace function can be controlled by “<code class="docutils literal 
notranslate"><span class="pre">trace</span></code>” command.</p>
+<div class="section" id="quick-guide">
+<h3>Quick Guide<a class="headerlink" href="#quick-guide" title="Permalink to 
this headline">¶</a></h3>
+<div class="section" id="getting-the-trace">
+<h4>Getting the trace<a class="headerlink" href="#getting-the-trace" 
title="Permalink to this headline">¶</a></h4>
+<p>Trace is started by the following command.</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; trace start
+</pre></div>
+</div>
+<p>Trace is stopped by the following command.</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; trace stop
+</pre></div>
+</div>
+<p>If you want to get the trace while executing some command, the following 
command can be used.</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; trace cmd &lt;command&gt; 
[&lt;args&gt;...]
+</pre></div>
+</div>
+</div>
+<div class="section" id="displaying-the-trace-result">
+<h4>Displaying the trace result<a class="headerlink" 
href="#displaying-the-trace-result" title="Permalink to this 
headline">¶</a></h4>
+<p>The trace result is accumulated in the memory.
+After getting the trace, the following command displays the accumulated trace 
data to the console.</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; trace dump
+</pre></div>
+</div>
+<p>This will be get the trace results like the followings:</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>&lt;noname&gt;-1   [0]   7.640000000: 
sys_close()
+&lt;noname&gt;-1   [0]   7.640000000: sys_close -&gt; 0
+&lt;noname&gt;-1   [0]   7.640000000: sys_sched_lock()
+&lt;noname&gt;-1   [0]   7.640000000: sys_sched_lock -&gt; 0
+&lt;noname&gt;-1   [0]   7.640000000: sys_nxsched_get_stackinfo()
+&lt;noname&gt;-1   [0]   7.640000000: sys_nxsched_get_stackinfo -&gt; 0
+&lt;noname&gt;-1   [0]   7.640000000: sys_sched_unlock()
+&lt;noname&gt;-1   [0]   7.640000000: sys_sched_unlock -&gt; 0
+&lt;noname&gt;-1   [0]   7.640000000: sys_clock_nanosleep()
+&lt;noname&gt;-1   [0]   7.640000000: sched_switch: prev_comm=&lt;noname&gt; 
prev_pid=1 prev_state=S ==&gt; next_comm=&lt;noname&gt; next_pid=0
+&lt;noname&gt;-0   [0]   7.640000000: irq_handler_entry: irq=11
+&lt;noname&gt;-0   [0]   7.640000000: irq_handler_exit: irq=11
+&lt;noname&gt;-0   [0]   7.640000000: irq_handler_entry: irq=15
+&lt;noname&gt;-0   [0]   7.650000000: irq_handler_exit: irq=15
+&lt;noname&gt;-0   [0]   7.650000000: irq_handler_entry: irq=15
+    :
+</pre></div>
+</div>
+<p>By using the logging function of your terminal software, the trace result 
can be saved into the host environment and it can be used as the input for <a 
class="reference external" href="https://www.eclipse.org/tracecompass/";>“Trace 
Compass”</a>.</p>
+<p>If the target has a storage, the trace result can be stored into the file 
by using the following command.
+It also can be used as the input for “Trace Compass” by transferring the file 
in the target device to the host.</p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; trace dump &lt;file name&gt;
+</pre></div>
+</div>
+<p>To display the trace result by <a class="reference external" 
href="https://www.eclipse.org/tracecompass/";>“Trace Compass”</a>, choose <code 
class="docutils literal notranslate"><span class="pre">File</span></code> -&gt; 
<code class="docutils literal notranslate"><span class="pre">Open</span> <span 
class="pre">Trace</span></code> menu to specify the trace data file name.</p>
+<img alt="../_images/trace-compass-screenshot.png" 
src="../_images/trace-compass-screenshot.png" />
+</div>
+</div>
+</div>
+<div class="section" id="trace-command-description">
+<h2>Trace command description<a class="headerlink" 
href="#trace-command-description" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="trace-start">
+<span id="id3"></span><h3>trace start<a class="headerlink" href="#trace-start" 
title="Permalink to this headline">¶</a></h3>
+<p>Start task tracing</p>
+<p><strong>Command Syntax:</strong></p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>trace start [-c][&lt;duration&gt;]
+</pre></div>
+</div>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">-c</span></code> : Continue the previous trace.
+The trace data is not cleared before starting new trace.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">&lt;duration&gt;</span></code> : Specify the duration of the trace 
by seconds.
+Task tracing is stopped after the specified period.
+If not specified, the tracing continues until stopped by the command.</p></li>
+</ul>
+</div>
+<div class="section" id="trace-stop">
+<span id="id4"></span><h3>trace stop<a class="headerlink" href="#trace-stop" 
title="Permalink to this headline">¶</a></h3>
+<p>Stop task tracing</p>
+<p><strong>Command Syntax:</strong></p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>trace stop
+</pre></div>
+</div>
+</div>
+<div class="section" id="trace-cmd">
+<span id="id5"></span><h3>trace cmd<a class="headerlink" href="#trace-cmd" 
title="Permalink to this headline">¶</a></h3>
+<p>Get the trace while running the specified command.
+After the termination of the command, task tracing is stopped.
+To use this command, <code class="docutils literal notranslate"><span 
class="pre">CONFIG_SYSTEM_SYSTEM</span></code> needs to be enabled.</p>
+<p><strong>Command Syntax:</strong></p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>trace cmd [-c] &lt;command&gt; 
[&lt;args&gt;...]
+</pre></div>
+</div>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">-c</span></code> : Continue the previous trace.
+The trace data is not cleared before starting new trace.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">&lt;command&gt;</span></code> : Specify the command to get the task 
trace.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">&lt;args&gt;</span></code> : Arguments for the command.</p></li>
+</ul>
+<p><strong>Example:</strong></p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; trace cmd sleep 1
+</pre></div>
+</div>
+</div>
+<div class="section" id="trace-dump">
+<span id="id6"></span><h3>trace dump<a class="headerlink" href="#trace-dump" 
title="Permalink to this headline">¶</a></h3>
+<p>Output the trace result.
+If the task trace is running, it is stopped before the output.</p>
+<p><strong>Command Syntax:</strong></p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>trace dump [-c][&lt;filename&gt;]
+</pre></div>
+</div>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">-c</span></code> : Not stop tracing before the output.
+Because dumping trace itself is a task activity and new trace data is added 
while output, the dump will never stop.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">&lt;filename&gt;</span></code> : Specify the filename to save the 
trace result.
+If not specified, the trace result is displayed to console.</p></li>
+</ul>
+</div>
+<div class="section" id="trace-mode">
+<span id="id7"></span><h3>trace mode<a class="headerlink" href="#trace-mode" 
title="Permalink to this headline">¶</a></h3>
+<p>Set the task trace mode options.
+The default value is given by the kernel configuration <code class="docutils 
literal notranslate"><span 
class="pre">CONFIG_SCHED_INSTRUMENTATION_FILTER_DEFAULT_MODE</span></code>.</p>
+<p><strong>Command Syntax:</strong></p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>trace mode [{+|-}{o|s|i}...]
+</pre></div>
+</div>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">+o</span></code> : Enable overwrite mode.
+The trace buffer is a ring buffer and it can overwrite old data if no free 
space is available in the buffer.
+Enables this behavior.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">-o</span></code> : Disable overwrite mode.
+The new trace data will be disposed when the buffer is full.
+This is useful to keep the data of the beginning of the trace.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">+s</span></code> : Enable system call trace.
+It records the event of enter/leave system call which is issued by the 
application.
+All system calls are recorded by default. <code class="docutils literal 
notranslate"><span class="pre">trace</span> <span 
class="pre">syscall</span></code> command can filter the system calls to be 
recorded.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">-s</span></code> : Disable system call trace.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">+i</span></code> : Enable interrupt trace.
+It records the event of enter/leave interrupt handler which is occured while 
the tracing.
+All IRQs are recorded by default. <code class="docutils literal 
notranslate"><span class="pre">trace</span> <span class="pre">irq</span></code> 
command can filter the IRQs to be recorded.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">-i</span></code> : Disable interrupt trace.</p></li>
+</ul>
+<p>If no command parameters are specified, display the current mode as the 
follows.</p>
+<p><strong>Example:</strong></p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; trace mode
+Task trace mode:
+ Trace                   : enabled
+ Overwrite               : on  (+o)
+ Syscall trace           : on  (+s)
+  Filtered Syscalls      : 16
+ IRQ trace               : on  (+i)
+  Filtered IRQs          : 2
+</pre></div>
+</div>
+</div>
+<div class="section" id="trace-syscall">
+<span id="id8"></span><h3>trace syscall<a class="headerlink" 
href="#trace-syscall" title="Permalink to this headline">¶</a></h3>
+<p>Configure the filter of the system call trace.</p>
+<p><strong>Command Syntax:</strong></p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>trace syscall [{+|-}&lt;syscallname&gt;...]
+</pre></div>
+</div>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">+&lt;syscallname&gt;</span></code> : Add the specified system call 
name to the filter.
+The execution of the filtered system call is not recorded into the trace 
data.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">-&lt;syscallname&gt;</span></code> : Remove the specified system 
call name from the filter.</p></li>
+</ul>
+<p>Wildcard “<code class="docutils literal notranslate"><span 
class="pre">*</span></code>” can be used to specify the system call name.
+For example, “<code class="docutils literal notranslate"><span 
class="pre">trace</span> <span class="pre">syscall</span> <span 
class="pre">+sem_*</span></code>” filters the system calls begin with “<code 
class="docutils literal notranslate"><span class="pre">sem_</span></code>”, 
such as <code class="docutils literal notranslate"><span 
class="pre">sem_post()</span></code>, <code class="docutils literal 
notranslate"><span class="pre">sem_wait()</span></code>,…</p>
+<p>If no command parameters are specified, display the current filter settings 
as the follows.</p>
+<p><strong>Example:</strong></p>
+<div class="highlight-console notranslate"><div 
class="highlight"><pre><span></span><span class="go">nsh&gt; trace 
syscall</span>
+<span class="go">Filtered Syscalls: 16</span>
+<span class="go">  getpid</span>
+<span class="go">  sem_destroy</span>
+<span class="go">  sem_post</span>
+<span class="go">  sem_timedwait</span>
+<span class="go">  sem_trywait</span>
+<span class="go">  sem_wait</span>
+<span class="go">  mq_close</span>
+<span class="go">  mq_getattr</span>
+<span class="go">  mq_notify</span>
+<span class="go">  mq_open</span>
+<span class="go">  mq_receive</span>
+<span class="go">  mq_send</span>
+<span class="go">  mq_setattr</span>
+<span class="go">  mq_timedreceive</span>
+<span class="go">  mq_timedsend</span>
+<span class="go">  mq_unlink</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="trace-irq">
+<span id="id9"></span><h3>trace irq<a class="headerlink" href="#trace-irq" 
title="Permalink to this headline">¶</a></h3>
+<p>Configure the filter of the interrupt trace.</p>
+<p><strong>Command Syntax:</strong></p>
+<div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>trace irq [{+|-}&lt;irqnum&gt;...]
+</pre></div>
+</div>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">+&lt;irqnum&gt;</span></code> : Add the specified IRQ number to the 
filter.
+The execution of the filtered IRQ handler is not recorded into the trace 
data.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">-&lt;irqnum&gt;</span></code> : Remove the specified IRQ number 
from the filter.</p></li>
+</ul>
+<p>Wildcard “<code class="docutils literal notranslate"><span 
class="pre">*</span></code>” can be used to specify all IRQs.</p>
+<p>If no command parameters are specified, display the current filter settings 
as the follows.</p>
+<p><strong>Example:</strong></p>
+<div class="highlight-console notranslate"><div 
class="highlight"><pre><span></span><span class="go">nsh&gt; trace irq</span>
+<span class="go">Filtered IRQs: 2</span>
+<span class="go">  11</span>
+<span class="go">  15</span>
+</pre></div>
+</div>
+</div>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        
+        &copy; Copyright 2020, The Apache Software Foundation
+
+    </p>
+  </div> 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/latest/guides/usbtrace.html 
b/content/docs/latest/guides/usbtrace.html
index aad3b81..2838fc9 100644
--- a/content/docs/latest/guides/usbtrace.html
+++ b/content/docs/latest/guides/usbtrace.html
@@ -130,6 +130,7 @@
 <li class="toctree-l2 current"><a class="current reference internal" 
href="#">USB Device Trace</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="simulator.html">Simulator</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="drivers.html">Drivers</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="tasktrace.html">Task Trace</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" 
href="../releases/index.html">Releases</a></li>
diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html
index 670cdfe..5b7411a 100644
--- a/content/docs/latest/index.html
+++ b/content/docs/latest/index.html
@@ -207,7 +207,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" 
title="Permalink to this headline">¶</a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller 
environments, the primary governing standards in NuttX are Posix and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).</p>
-<p>Last Updated: 16 October 20 at 00:53</p>
+<p>Last Updated: 17 October 20 at 00:51</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
@@ -270,6 +270,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <li class="toctree-l2"><a class="reference internal" 
href="guides/usbtrace.html">USB Device Trace</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="guides/simulator.html">Simulator</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="guides/drivers.html">Drivers</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="guides/tasktrace.html">Task Trace</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" 
href="releases/index.html">Releases</a></li>
diff --git a/content/docs/latest/objects.inv b/content/docs/latest/objects.inv
index b58b73f..698c399 100644
Binary files a/content/docs/latest/objects.inv and 
b/content/docs/latest/objects.inv differ
diff --git a/content/docs/latest/reference/os/addrenv.html 
b/content/docs/latest/reference/os/addrenv.html
index b6a9e82..d6cda6a 100644
--- a/content/docs/latest/reference/os/addrenv.html
+++ b/content/docs/latest/reference/os/addrenv.html
@@ -141,6 +141,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED 
Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/app_vs_os.html 
b/content/docs/latest/reference/os/app_vs_os.html
index 502cf66..8d1bfc9 100644
--- a/content/docs/latest/reference/os/app_vs_os.html
+++ b/content/docs/latest/reference/os/app_vs_os.html
@@ -141,6 +141,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED 
Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/arch.html 
b/content/docs/latest/reference/os/arch.html
index 6adea07..fabdecb 100644
--- a/content/docs/latest/reference/os/arch.html
+++ b/content/docs/latest/reference/os/arch.html
@@ -141,6 +141,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED 
Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/board.html 
b/content/docs/latest/reference/os/board.html
index 1e19a96..0deecc7 100644
--- a/content/docs/latest/reference/os/board.html
+++ b/content/docs/latest/reference/os/board.html
@@ -141,6 +141,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED 
Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/boardctl.html 
b/content/docs/latest/reference/os/boardctl.html
index 17363b9..d6555fb 100644
--- a/content/docs/latest/reference/os/boardctl.html
+++ b/content/docs/latest/reference/os/boardctl.html
@@ -141,6 +141,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED 
Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/conventions.html 
b/content/docs/latest/reference/os/conventions.html
index 1f92224..8868da5 100644
--- a/content/docs/latest/reference/os/conventions.html
+++ b/content/docs/latest/reference/os/conventions.html
@@ -141,6 +141,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED 
Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/index.html 
b/content/docs/latest/reference/os/index.html
index 88cbca5..8ee551d 100644
--- a/content/docs/latest/reference/os/index.html
+++ b/content/docs/latest/reference/os/index.html
@@ -141,6 +141,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED 
Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
@@ -279,6 +280,24 @@ in other header files.</p>
 <li class="toctree-l2"><a class="reference internal" 
href="iob.html#public-function-prototypes">Public Function Prototypes</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="note.html">Note 
Driver Interface</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="note.html#notectl-device-dev-notectl">Notectl Device (<code 
class="docutils literal notranslate"><span 
class="pre">/dev/notectl</span></code>)</a><ul>
+<li class="toctree-l3"><a class="reference internal" 
href="note.html#dev-notectl-header-files"><code class="docutils literal 
notranslate"><span class="pre">/dev/notectl</span></code> Header Files</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="note.html#dev-notectl-data-structures"><code class="docutils literal 
notranslate"><span class="pre">/dev/notectl</span></code> Data 
Structures</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="note.html#dev-notectl-ioctls"><code class="docutils literal 
notranslate"><span class="pre">/dev/notectl</span></code> Ioctls</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" 
href="note.html#noteram-device-dev-note">Noteram Device (<code class="docutils 
literal notranslate"><span class="pre">/dev/note</span></code>)</a><ul>
+<li class="toctree-l3"><a class="reference internal" 
href="note.html#dev-note-header-files"><code class="docutils literal 
notranslate"><span class="pre">/dev/note</span></code> Header Files</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="note.html#dev-note-ioctls"><code class="docutils literal 
notranslate"><span class="pre">/dev/note</span></code> Ioctls</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" 
href="note.html#filter-control-apis">Filter control APIs</a><ul>
+<li class="toctree-l3"><a class="reference internal" 
href="note.html#api-description">API description</a></li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </div>
 </div>
diff --git a/content/docs/latest/reference/os/iob.html 
b/content/docs/latest/reference/os/iob.html
index 0e759b5..df652b7 100644
--- a/content/docs/latest/reference/os/iob.html
+++ b/content/docs/latest/reference/os/iob.html
@@ -62,7 +62,7 @@
     
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
-    <link rel="next" title="Guides" href="../../guides/index.html" />
+    <link rel="next" title="Note Driver Interface" href="note.html" />
     <link rel="prev" title="LED Support" href="led.html" /> 
 </head>
 
@@ -147,6 +147,7 @@
 <li class="toctree-l4"><a class="reference internal" 
href="#public-function-prototypes">Public Function Prototypes</a></li>
 </ul>
 </li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/led.html 
b/content/docs/latest/reference/os/led.html
index 965662a..5c4c380 100644
--- a/content/docs/latest/reference/os/led.html
+++ b/content/docs/latest/reference/os/led.html
@@ -146,6 +146,7 @@
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/note.html 
b/content/docs/latest/reference/os/note.html
new file mode 100644
index 0000000..6ae4c85
--- /dev/null
+++ b/content/docs/latest/reference/os/note.html
@@ -0,0 +1,650 @@
+<!--
+ Documentation/_templates/layout.html
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.  The
+ ASF licenses this file to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance with the
+ License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ License for the specific language governing permissions and limitations
+ under the License.
+-->
+
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>Note Driver Interface &mdash; NuttX latest documentation</title>
+  
+
+  
+  <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+  <link rel="stylesheet" 
href="../../_static/sphinx_tabs/semantic-ui-2.4.1/segment.min.css" 
type="text/css" />
+  <link rel="stylesheet" 
href="../../_static/sphinx_tabs/semantic-ui-2.4.1/menu.min.css" type="text/css" 
/>
+  <link rel="stylesheet" 
href="../../_static/sphinx_tabs/semantic-ui-2.4.1/tab.min.css" type="text/css" 
/>
+  <link rel="stylesheet" href="../../_static/sphinx_tabs/tabs.css" 
type="text/css" />
+  <link rel="stylesheet" href="../../_static/custom.css" type="text/css" />
+
+  
+  
+    <link rel="shortcut icon" href="../../_static/favicon.ico"/>
+  
+  
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" 
data-url_root="../../" src="../../_static/documentation_options.js"></script>
+        <script src="../../_static/jquery.js"></script>
+        <script src="../../_static/underscore.js"></script>
+        <script src="../../_static/doctools.js"></script>
+        <script src="../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Guides" href="../../guides/index.html" />
+    <link rel="prev" title="I/O Buffer Management" href="iob.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+  
+    <a href="../../index.html" class="icon icon-home"> NuttX
+  
+
+  
+    
+    <img src="../../_static/NuttX.png" class="logo" alt="Logo"/>
+  
+  </a>
+  
+  <!-- this version selector is quite ugly, should be probably replaced by 
something
+       more modern -->
+       
+  <div class="version-selector">
+    <select>
+    
+      <option value="latest" selected="selected">latest</option>
+    
+    </select>
+  </div>
+  
+  
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" 
method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" 
role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <p class="caption"><span class="caption-text">Table of 
Contents</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" 
href="../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../introduction/index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../introduction/inviolables.html">The Inviolable Principles of 
NuttX</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../quickstart/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../components/index.html">OS Components</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../applications/index.html">Applications</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../boards/index.html">Supported Boards</a></li>
+<li class="toctree-l1 current"><a class="reference internal" 
href="../index.html">API Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" 
href="../user/index.html">Userspace API</a></li>
+<li class="toctree-l2 current"><a class="reference internal" 
href="index.html">Architecture APIs</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" 
href="conventions.html">Naming and Header File Conventions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="arch.html">APIs 
Exported by Architecture-Specific Logic to NuttX</a></li>
+<li class="toctree-l3"><a class="reference internal" href="board.html">APIs 
Exported by Board-Specific Logic to NuttX</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="time_clock.html">System Time and Clock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="wqueue.html">Work 
Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="addrenv.html">Address Environments</a></li>
+<li class="toctree-l3"><a class="reference internal" href="nuttx.html">APIs 
Exported by NuttX to Architecture-Specific Logic</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="app_vs_os.html">Application OS vs. Internal OS Interfaces</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="boardctl.html"><code class="docutils literal notranslate"><span 
class="pre">boardctl()</span></code> Application Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="smp.html">Symmetric 
Multiprocessing (SMP) Application</a></li>
+<li class="toctree-l3"><a class="reference internal" href="shm.html">Shared 
Memory</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="paging.html">On-Demand Paging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="led.html">LED 
Support</a></li>
+<li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" 
href="#">Note Driver Interface</a><ul>
+<li class="toctree-l4"><a class="reference internal" 
href="#notectl-device-dev-notectl">Notectl Device (<code class="docutils 
literal notranslate"><span class="pre">/dev/notectl</span></code>)</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="#noteram-device-dev-note">Noteram Device (<code class="docutils literal 
notranslate"><span class="pre">/dev/note</span></code>)</a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="#filter-control-apis">Filter control APIs</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../guides/index.html">Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../releases/index.html">Releases</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../contributing/index.html">Contributing</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="../../glossary.html">Glossary</a></li>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">NuttX</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+          <li><a href="../index.html">API Reference</a> &raquo;</li>
+        
+          <li><a href="index.html">Architecture APIs</a> &raquo;</li>
+        
+      <li>Note Driver Interface</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../../_sources/reference/os/note.rst.txt" rel="nofollow"> 
View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" 
itemtype="http://schema.org/Article";>
+           <div itemprop="articleBody">
+            
+  <div class="section" id="note-driver-interface">
+<h1>Note Driver Interface<a class="headerlink" href="#note-driver-interface" 
title="Permalink to this headline">¶</a></h1>
+<p>Note driver is the interface to access the instrumentation data.
+The following devices are provided.</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#notectl"><span class="std 
std-ref">Notectl Device (/dev/notectl)</span></a></p></li>
+<li><p><a class="reference internal" href="#noteram"><span class="std 
std-ref">Noteram Device (/dev/note)</span></a></p></li>
+</ul>
+<div class="section" id="notectl-device-dev-notectl">
+<span id="notectl"></span><h2>Notectl Device (<code class="docutils literal 
notranslate"><span class="pre">/dev/notectl</span></code>)<a class="headerlink" 
href="#notectl-device-dev-notectl" title="Permalink to this headline">¶</a></h2>
+<blockquote>
+<div><p><code class="docutils literal notranslate"><span 
class="pre">/dev/notectl</span></code> is the device to control an 
instrumentation filter in NuttX kernel.
+The device has only ioctl function to control the filter.</p>
+</div></blockquote>
+<div class="section" id="dev-notectl-header-files">
+<h3><code class="docutils literal notranslate"><span 
class="pre">/dev/notectl</span></code> Header Files<a class="headerlink" 
href="#dev-notectl-header-files" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+<div><p>The header file <code class="docutils literal notranslate"><span 
class="pre">include/nuttx/note/notectl_driver.h</span></code> provides the 
interface definitions of the device.</p>
+</div></blockquote>
+</div>
+<div class="section" id="dev-notectl-data-structures">
+<h3><code class="docutils literal notranslate"><span 
class="pre">/dev/notectl</span></code> Data Structures<a class="headerlink" 
href="#dev-notectl-data-structures" title="Permalink to this 
headline">¶</a></h3>
+<dl class="c struct">
+<dt id="c.note_filter_mode_s">
+<em class="property">struct </em><code class="sig-name 
descname">note_filter_mode_s</code><a class="headerlink" 
href="#c.note_filter_mode_s" title="Permalink to this definition">¶</a><br 
/></dt>
+<dd><div class="highlight-c notranslate"><div 
class="highlight"><pre><span></span><span class="k">struct</span> <span 
class="n">note_filter_mode_s</span>
+<span class="p">{</span>
+  <span class="kt">unsigned</span> <span class="kt">int</span> <span 
class="n">flag</span><span class="p">;</span>          <span class="cm">/* 
Filter mode flag */</span>
+<span class="cp">#ifdef CONFIG_SMP</span>
+  <span class="kt">unsigned</span> <span class="kt">int</span> <span 
class="n">cpuset</span><span class="p">;</span>        <span class="cm">/* The 
set of monitored CPUs */</span>
+<span class="cp">#endif</span>
+<span class="p">};</span>
+</pre></div>
+</div>
+<ul>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">flag</span></code> : Filter mode flag. The bitwise OR of the 
following defines are available.</p>
+<dl class="c macro">
+<dt id="c.note_filter_mode_s.NOTE_FILTER_MODE_FLAG_ENABLE">
+<code class="sig-name descname">NOTE_FILTER_MODE_FLAG_ENABLE</code><a 
class="headerlink" href="#c.note_filter_mode_s.NOTE_FILTER_MODE_FLAG_ENABLE" 
title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>Enable instrumentation</p>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.note_filter_mode_s.NOTE_FILTER_MODE_FLAG_SYSCALL">
+<code class="sig-name descname">NOTE_FILTER_MODE_FLAG_SYSCALL</code><a 
class="headerlink" href="#c.note_filter_mode_s.NOTE_FILTER_MODE_FLAG_SYSCALL" 
title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>Enable syscall instrumentation</p>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.note_filter_mode_s.NOTE_FILTER_MODE_FLAG_IRQ">
+<code class="sig-name descname">NOTE_FILTER_MODE_FLAG_IRQ</code><a 
class="headerlink" href="#c.note_filter_mode_s.NOTE_FILTER_MODE_FLAG_IRQ" 
title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>Enable IRQ instrumentaiton</p>
+</dd></dl>
+
+</li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">cpuset</span></code> : (SMP only) Monitor only CPUs in the bitset. 
Bit 0=CPU0, Bit1=CPU1, etc.</p></li>
+</ul>
+</dd></dl>
+
+<dl class="c struct">
+<dt id="c.note_filter_syscall_s">
+<em class="property">struct </em><code class="sig-name 
descname">note_filter_syscall_s</code><a class="headerlink" 
href="#c.note_filter_syscall_s" title="Permalink to this definition">¶</a><br 
/></dt>
+<dd><div class="highlight-c notranslate"><div 
class="highlight"><pre><span></span><span class="k">struct</span> <span 
class="n">note_filter_syscall_s</span>
+<span class="p">{</span>
+  <span class="kt">uint8_t</span> <span class="n">syscall_mask</span><span 
class="p">[];</span>
+<span class="p">};</span>
+</pre></div>
+</div>
+<ul>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">syscall_mask</span></code> : A bitmap array of the syscall filter. 
If a bit is set, the corresponding syscall is not recorded.
+The following helper macros are available:</p>
+<dl class="c macro">
+<dt id="c.note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_SET">
+<code class="sig-name descname">NOTE_FILTER_SYSCALLMASK_SET</code><span 
class="sig-paren">(</span><em>nr</em>, <em>s</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#c.note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_SET" title="Permalink to 
this definition">¶</a><br /></dt>
+<dd><p>Set syscall number <cite>nr</cite> as masked. <cite>s</cite> specifies 
the variable of <cite>struct note_filter_syscall_s</cite></p>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_CLR">
+<code class="sig-name descname">NOTE_FILTER_SYSCALLMASK_CLR</code><span 
class="sig-paren">(</span><em>nr</em>, <em>s</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#c.note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_CLR" title="Permalink to 
this definition">¶</a><br /></dt>
+<dd><p>Set syscall number <cite>nr</cite> as unmasked.</p>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_ISSET">
+<code class="sig-name descname">NOTE_FILTER_SYSCALLMASK_ISSET</code><span 
class="sig-paren">(</span><em>nr</em>, <em>s</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#c.note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_ISSET" title="Permalink 
to this definition">¶</a><br /></dt>
+<dd><p>Check whether syscall number <cite>nr</cite> is masked or not. True if 
masked.</p>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_ZERO">
+<code class="sig-name descname">NOTE_FILTER_SYSCALLMASK_ZERO</code><span 
class="sig-paren">(</span><em>s</em><span class="sig-paren">)</span><a 
class="headerlink" href="#c.note_filter_syscall_s.NOTE_FILTER_SYSCALLMASK_ZERO" 
title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>Clear all masks.</p>
+</dd></dl>
+
+</li>
+</ul>
+</dd></dl>
+
+<dl class="c struct">
+<dt id="c.note_filter_irq_s">
+<em class="property">struct </em><code class="sig-name 
descname">note_filter_irq_s</code><a class="headerlink" 
href="#c.note_filter_irq_s" title="Permalink to this definition">¶</a><br 
/></dt>
+<dd><div class="highlight-c notranslate"><div 
class="highlight"><pre><span></span><span class="k">struct</span> <span 
class="n">note_filter_irq_s</span>
+<span class="p">{</span>
+  <span class="kt">uint8_t</span> <span class="n">irq_mask</span><span 
class="p">[];</span>
+<span class="p">};</span>
+</pre></div>
+</div>
+<ul>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">irq_mask</span></code> : A bitmap array of the IRQ filter. If a bit 
is set, the corresponding IRQ is not recorded.
+The following helper macros are available:</p>
+<dl class="c macro">
+<dt id="c.note_filter_irq_s.NOTE_FILTER_IRQMASK_SET">
+<code class="sig-name descname">NOTE_FILTER_IRQMASK_SET</code><span 
class="sig-paren">(</span><em>nr</em>, <em>s</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#c.note_filter_irq_s.NOTE_FILTER_IRQMASK_SET" title="Permalink to this 
definition">¶</a><br /></dt>
+<dd><p>Set IRQ number <cite>nr</cite> as masked. <cite>s</cite> specifies the 
variable of <cite>struct note_filter_irq_s</cite></p>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.note_filter_irq_s.NOTE_FILTER_IRQMASK_CLR">
+<code class="sig-name descname">NOTE_FILTER_IRQMASK_CLR</code><span 
class="sig-paren">(</span><em>nr</em>, <em>s</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#c.note_filter_irq_s.NOTE_FILTER_IRQMASK_CLR" title="Permalink to this 
definition">¶</a><br /></dt>
+<dd><p>Set IRQ number <cite>nr</cite> as unmasked.</p>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.note_filter_irq_s.NOTE_FILTER_IRQMASK_ISSET">
+<code class="sig-name descname">NOTE_FILTER_IRQMASK_ISSET</code><span 
class="sig-paren">(</span><em>nr</em>, <em>s</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#c.note_filter_irq_s.NOTE_FILTER_IRQMASK_ISSET" title="Permalink to this 
definition">¶</a><br /></dt>
+<dd><p>Check whether IRQ number <cite>nr</cite> is masked or not. True if 
masked.</p>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.note_filter_irq_s.NOTE_FILTER_IRQMASK_ZERO">
+<code class="sig-name descname">NOTE_FILTER_IRQMASK_ZERO</code><span 
class="sig-paren">(</span><em>s</em><span class="sig-paren">)</span><a 
class="headerlink" href="#c.note_filter_irq_s.NOTE_FILTER_IRQMASK_ZERO" 
title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>Clear all masks.</p>
+</dd></dl>
+
+</li>
+</ul>
+</dd></dl>
+
+</div>
+<div class="section" id="dev-notectl-ioctls">
+<h3><code class="docutils literal notranslate"><span 
class="pre">/dev/notectl</span></code> Ioctls<a class="headerlink" 
href="#dev-notectl-ioctls" title="Permalink to this headline">¶</a></h3>
+<dl class="c macro">
+<dt id="c.NOTECTL_GETMODE">
+<code class="sig-name descname">NOTECTL_GETMODE</code><a class="headerlink" 
href="#c.NOTECTL_GETMODE" title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>Get note filter mode</p>
+<dl class="field-list simple">
+<dt class="field-odd">Argument</dt>
+<dd class="field-odd"><p>A writable pointer to <a class="reference internal" 
href="#c.note_filter_mode_s" title="note_filter_mode_s"><code class="xref c 
c-struct docutils literal notranslate"><span 
class="pre">note_filter_mode_s</span></code></a></p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>If success, 0 (<code class="docutils literal 
notranslate"><span class="pre">OK</span></code>) is returned and current note 
filter mode is stored into the given pointer.
+If failed, a negated <code class="docutils literal notranslate"><span 
class="pre">errno</span></code> is returned.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.NOTECTL_SETMODE">
+<code class="sig-name descname">NOTECTL_SETMODE</code><a class="headerlink" 
href="#c.NOTECTL_SETMODE" title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>Set note filter mode</p>
+<dl class="field-list simple">
+<dt class="field-odd">Argument</dt>
+<dd class="field-odd"><p>A read-only pointer to <a class="reference internal" 
href="#c.note_filter_mode_s" title="note_filter_mode_s"><code class="xref c 
c-struct docutils literal notranslate"><span 
class="pre">note_filter_mode_s</span></code></a></p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>If success, 0 (<code class="docutils literal 
notranslate"><span class="pre">OK</span></code>) is returned and the given 
filter mode is set as the current settings.
+If failed, a negated <code class="docutils literal notranslate"><span 
class="pre">errno</span></code> is returned.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.NOTECTL_GETSYSCALLFILTER">
+<code class="sig-name descname">NOTECTL_GETSYSCALLFILTER</code><a 
class="headerlink" href="#c.NOTECTL_GETSYSCALLFILTER" title="Permalink to this 
definition">¶</a><br /></dt>
+<dd><p>Get syscall filter setting</p>
+<dl class="field-list simple">
+<dt class="field-odd">Argument</dt>
+<dd class="field-odd"><p>A writable pointer to <a class="reference internal" 
href="#c.note_filter_syscall_s" title="note_filter_syscall_s"><code class="xref 
c c-struct docutils literal notranslate"><span 
class="pre">note_filter_syscall_s</span></code></a></p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>If success, 0 (<code class="docutils literal 
notranslate"><span class="pre">OK</span></code>) is returned and current 
syscall filter mode is stored into the given pointer.
+If failed, a negated <code class="docutils literal notranslate"><span 
class="pre">errno</span></code> is returned.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.NOTECTL_SETSYSCALLFILTER">
+<code class="sig-name descname">NOTECTL_SETSYSCALLFILTER</code><a 
class="headerlink" href="#c.NOTECTL_SETSYSCALLFILTER" title="Permalink to this 
definition">¶</a><br /></dt>
+<dd><p>Set syscall filter setting</p>
+<dl class="field-list simple">
+<dt class="field-odd">Argument</dt>
+<dd class="field-odd"><p>A read-only pointer to <a class="reference internal" 
href="#c.note_filter_syscall_s" title="note_filter_syscall_s"><code class="xref 
c c-struct docutils literal notranslate"><span 
class="pre">note_filter_syscall_s</span></code></a></p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>If success, 0 (<code class="docutils literal 
notranslate"><span class="pre">OK</span></code>) is returned and the given 
syscall filter mode is set as the current settings.
+If failed, a negated <code class="docutils literal notranslate"><span 
class="pre">errno</span></code> is returned.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.NOTECTL_GETIRQFILTER">
+<code class="sig-name descname">NOTECTL_GETIRQFILTER</code><a 
class="headerlink" href="#c.NOTECTL_GETIRQFILTER" title="Permalink to this 
definition">¶</a><br /></dt>
+<dd><p>Get IRQ filter setting</p>
+<dl class="field-list simple">
+<dt class="field-odd">Argument</dt>
+<dd class="field-odd"><p>A writable pointer to <a class="reference internal" 
href="#c.note_filter_irq_s" title="note_filter_irq_s"><code class="xref c 
c-struct docutils literal notranslate"><span 
class="pre">note_filter_irq_s</span></code></a></p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>If success, 0 (<code class="docutils literal 
notranslate"><span class="pre">OK</span></code>) is returned and current IRQ 
filter mode is stored into the given pointer.
+If failed, a negated <code class="docutils literal notranslate"><span 
class="pre">errno</span></code> is returned.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.NOTECTL_SETIRQFILTER">
+<code class="sig-name descname">NOTECTL_SETIRQFILTER</code><a 
class="headerlink" href="#c.NOTECTL_SETIRQFILTER" title="Permalink to this 
definition">¶</a><br /></dt>
+<dd><p>Set IRQ filter setting</p>
+<dl class="field-list simple">
+<dt class="field-odd">Argument</dt>
+<dd class="field-odd"><p>A read-only pointer to <a class="reference internal" 
href="#c.note_filter_irq_s" title="note_filter_irq_s"><code class="xref c 
c-struct docutils literal notranslate"><span 
class="pre">note_filter_irq_s</span></code></a></p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>If success, 0 (<code class="docutils literal 
notranslate"><span class="pre">OK</span></code>) is returned and the given IRQ 
filter mode is set as the current settings.
+If failed, a negated <code class="docutils literal notranslate"><span 
class="pre">errno</span></code> is returned.</p>
+</dd>
+</dl>
+</dd></dl>
+
+</div>
+</div>
+<div class="section" id="noteram-device-dev-note">
+<span id="noteram"></span><h2>Noteram Device (<code class="docutils literal 
notranslate"><span class="pre">/dev/note</span></code>)<a class="headerlink" 
href="#noteram-device-dev-note" title="Permalink to this headline">¶</a></h2>
+<blockquote>
+<div><p><code class="docutils literal notranslate"><span 
class="pre">/dev/note</span></code> is the device to get the trace 
(instrumentation) data.
+The device has read function to get the data and ioctl function to control the 
buffer mode.</p>
+</div></blockquote>
+<div class="section" id="dev-note-header-files">
+<h3><code class="docutils literal notranslate"><span 
class="pre">/dev/note</span></code> Header Files<a class="headerlink" 
href="#dev-note-header-files" title="Permalink to this headline">¶</a></h3>
+<blockquote>
+<div><p>The header file <code class="docutils literal notranslate"><span 
class="pre">include/nuttx/note/noteram_driver.h</span></code> provides the 
interface definitions of the device.</p>
+</div></blockquote>
+</div>
+<div class="section" id="dev-note-ioctls">
+<h3><code class="docutils literal notranslate"><span 
class="pre">/dev/note</span></code> Ioctls<a class="headerlink" 
href="#dev-note-ioctls" title="Permalink to this headline">¶</a></h3>
+<dl class="c macro">
+<dt id="c.NOTERAM_CLEAR">
+<code class="sig-name descname">NOTERAM_CLEAR</code><a class="headerlink" 
href="#c.NOTERAM_CLEAR" title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>Clear all contents of the circular buffer</p>
+<dl class="field-list simple">
+<dt class="field-odd">Argument</dt>
+<dd class="field-odd"><p>Ignored</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Always returns 0.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.NOTERAM_GETMODE">
+<code class="sig-name descname">NOTERAM_GETMODE</code><a class="headerlink" 
href="#c.NOTERAM_GETMODE" title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>Get overwrite mode</p>
+<dl class="field-list">
+<dt class="field-odd">Argument</dt>
+<dd class="field-odd"><p>A writable pointer to <code class="docutils literal 
notranslate"><span class="pre">unsigned</span> <span 
class="pre">int</span></code>.
+The overwrite mode takes one of the following values.</p>
+<dl class="c macro">
+<dt id="c.NOTERAM_GETMODE.NOTERAM_MODE_OVERWRITE_DISABLE">
+<code class="sig-name descname">NOTERAM_MODE_OVERWRITE_DISABLE</code><a 
class="headerlink" href="#c.NOTERAM_GETMODE.NOTERAM_MODE_OVERWRITE_DISABLE" 
title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>Overwrite mode is disabled. When the buffer is full, accepting the data 
will be stopped.</p>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.NOTERAM_GETMODE.NOTERAM_MODE_OVERWRITE_ENABLE">
+<code class="sig-name descname">NOTERAM_MODE_OVERWRITE_ENABLE</code><a 
class="headerlink" href="#c.NOTERAM_GETMODE.NOTERAM_MODE_OVERWRITE_ENABLE" 
title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>Overwrite mode is enabled.</p>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.NOTERAM_GETMODE.NOTERAM_MODE_OVERWRITE_OVERFLOW">
+<code class="sig-name descname">NOTERAM_MODE_OVERWRITE_OVERFLOW</code><a 
class="headerlink" href="#c.NOTERAM_GETMODE.NOTERAM_MODE_OVERWRITE_OVERFLOW" 
title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>Overwrite mode is disabled and the buffer is already full.</p>
+</dd></dl>
+
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>If success, 0 (<code class="docutils literal 
notranslate"><span class="pre">OK</span></code>) is returned and current 
overwrite mode is stored into the given pointer.
+If failed, a negated <code class="docutils literal notranslate"><span 
class="pre">errno</span></code> is returned.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c macro">
+<dt id="c.NOTERAM_SETMODE">
+<code class="sig-name descname">NOTERAM_SETMODE</code><a class="headerlink" 
href="#c.NOTERAM_SETMODE" title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>Set overwrite mode</p>
+<dl class="field-list simple">
+<dt class="field-odd">Argument</dt>
+<dd class="field-odd"><p>A read-only pointer to <code class="docutils literal 
notranslate"><span class="pre">unsigned</span> <span 
class="pre">int</span></code>.</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>If success, 0 (<code class="docutils literal 
notranslate"><span class="pre">OK</span></code>) is returned and the given 
overwriter mode is set as the current settings.
+If failed, a negated <code class="docutils literal notranslate"><span 
class="pre">errno</span></code> is returned.</p>
+</dd>
+</dl>
+</dd></dl>
+
+</div>
+</div>
+<div class="section" id="filter-control-apis">
+<h2>Filter control APIs<a class="headerlink" href="#filter-control-apis" 
title="Permalink to this headline">¶</a></h2>
+<p>The following APIs are the functions to control note filters directly.
+These are kernel APIs and application can use them only in FLAT build.</p>
+<p>The header file <code class="docutils literal notranslate"><span 
class="pre">include/nuttx/sched_note.h</span></code> is needed to use the 
following APIs.</p>
+<div class="section" id="api-description">
+<h3>API description<a class="headerlink" href="#api-description" 
title="Permalink to this headline">¶</a></h3>
+<dl class="c function">
+<dt id="c.sched_note_filter_mode">
+void <code class="sig-name descname">sched_note_filter_mode</code><span 
class="sig-paren">(</span><em class="property">struct</em> <a class="reference 
internal" href="#c.note_filter_mode_s" 
title="note_filter_mode_s">note_filter_mode_s</a> *<em>oldm</em>, <em 
class="property">struct</em> <a class="reference internal" 
href="#c.note_filter_mode_s" title="note_filter_mode_s">note_filter_mode_s</a> 
*<em>newm</em><span class="sig-paren">)</span>;<a class="headerlink" 
href="#c.sched_note_filte [...]
+<dd><p>Set and get note filter mode.
+(Same as <a class="reference internal" href="#c.NOTECTL_GETMODE" 
title="NOTECTL_GETMODE"><code class="xref c c-macro docutils literal 
notranslate"><span class="pre">NOTECTL_GETMODE</span></code></a> / <a 
class="reference internal" href="#c.NOTECTL_SETMODE" 
title="NOTECTL_SETMODE"><code class="xref c c-macro docutils literal 
notranslate"><span class="pre">NOTECTL_SETMODE</span></code></a> ioctls)</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>oldm</strong> – A writable pointer to <a class="reference 
internal" href="#c.note_filter_mode_s" title="note_filter_mode_s"><code 
class="xref c c-struct docutils literal notranslate"><span 
class="pre">note_filter_mode_s</span></code></a> to get current filter mode.
+If 0, no data is written.</p></li>
+<li><p><strong>newm</strong> – A read-only pointer to <a class="reference 
internal" href="#c.note_filter_mode_s" title="note_filter_mode_s"><code 
class="xref c c-struct docutils literal notranslate"><span 
class="pre">note_filter_mode_s</span></code></a> which holds the new filter 
mode.
+If 0, the filter mode is not updated.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c function">
+<dt id="c.sched_note_filter_syscall">
+void <code class="sig-name descname">sched_note_filter_syscall</code><span 
class="sig-paren">(</span><em class="property">struct</em> <a class="reference 
internal" href="#c.note_filter_syscall_s" 
title="note_filter_syscall_s">note_filter_syscall_s</a> *<em>oldf</em>, <em 
class="property">struct</em> <a class="reference internal" 
href="#c.note_filter_syscall_s" 
title="note_filter_syscall_s">note_filter_syscall_s</a> *<em>newf</em><span 
class="sig-paren">)</span>;<a class="headerlink" href [...]
+<dd><p>Set and get syscall filter setting.
+(Same as <a class="reference internal" href="#c.NOTECTL_GETSYSCALLFILTER" 
title="NOTECTL_GETSYSCALLFILTER"><code class="xref c c-macro docutils literal 
notranslate"><span class="pre">NOTECTL_GETSYSCALLFILTER</span></code></a> / <a 
class="reference internal" href="#c.NOTECTL_SETSYSCALLFILTER" 
title="NOTECTL_SETSYSCALLFILTER"><code class="xref c c-macro docutils literal 
notranslate"><span class="pre">NOTECTL_SETSYSCALLFILTER</span></code></a> 
ioctls)</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>oldf</strong> – A writable pointer to <a class="reference 
internal" href="#c.note_filter_syscall_s" title="note_filter_syscall_s"><code 
class="xref c c-struct docutils literal notranslate"><span 
class="pre">note_filter_syscall_s</span></code></a> to get current syscall 
filter setting.
+If 0, no data is written.</p></li>
+<li><p><strong>newf</strong> – A read-only pointer to <a class="reference 
internal" href="#c.note_filter_syscall_s" title="note_filter_syscall_s"><code 
class="xref c c-struct docutils literal notranslate"><span 
class="pre">note_filter_syscall_s</span></code></a> of the new syscall filter 
setting.
+If 0, the setting is not updated.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c function">
+<dt id="c.sched_note_filter_irq">
+void <code class="sig-name descname">sched_note_filter_irq</code><span 
class="sig-paren">(</span><em class="property">struct</em> <a class="reference 
internal" href="#c.note_filter_irq_s" 
title="note_filter_irq_s">note_filter_irq_s</a> *<em>oldf</em>, <em 
class="property">struct</em> <a class="reference internal" 
href="#c.note_filter_irq_s" title="note_filter_irq_s">note_filter_irq_s</a> 
*<em>newf</em><span class="sig-paren">)</span>;<a class="headerlink" 
href="#c.sched_note_filter_irq"  [...]
+<dd><p>Set and get IRQ filter setting.
+(Same as <a class="reference internal" href="#c.NOTECTL_GETIRQFILTER" 
title="NOTECTL_GETIRQFILTER"><code class="xref c c-macro docutils literal 
notranslate"><span class="pre">NOTECTL_GETIRQFILTER</span></code></a> / <a 
class="reference internal" href="#c.NOTECTL_SETIRQFILTER" 
title="NOTECTL_SETIRQFILTER"><code class="xref c c-macro docutils literal 
notranslate"><span class="pre">NOTECTL_SETIRQFILTER</span></code></a> 
ioctls)</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>oldf</strong> – A writable pointer to <a class="reference 
internal" href="#c.note_filter_irq_s" title="note_filter_irq_s"><code 
class="xref c c-struct docutils literal notranslate"><span 
class="pre">note_filter_irq_s</span></code></a> to get current IRQ filter 
setting.
+If 0, no data is written.</p></li>
+<li><p><strong>newf</strong> – A read-only pointer to <a class="reference 
internal" href="#c.note_filter_irq_s" title="note_filter_irq_s"><code 
class="xref c c-struct docutils literal notranslate"><span 
class="pre">note_filter_irq_s</span></code></a> of the new IRQ filter setting.
+If 0, the setting is not updated.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>None</p>
+</dd>
+</dl>
+</dd></dl>
+
+</div>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        
+        &copy; Copyright 2020, The Apache Software Foundation
+
+    </p>
+  </div> 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/latest/reference/os/nuttx.html 
b/content/docs/latest/reference/os/nuttx.html
index 15927d8..4b3d3b4 100644
--- a/content/docs/latest/reference/os/nuttx.html
+++ b/content/docs/latest/reference/os/nuttx.html
@@ -144,6 +144,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED 
Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/paging.html 
b/content/docs/latest/reference/os/paging.html
index dc89514..8caae82 100644
--- a/content/docs/latest/reference/os/paging.html
+++ b/content/docs/latest/reference/os/paging.html
@@ -141,6 +141,7 @@
 <li class="toctree-l3 current"><a class="current reference internal" 
href="#">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED 
Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/shm.html 
b/content/docs/latest/reference/os/shm.html
index b266bff..2a95b01 100644
--- a/content/docs/latest/reference/os/shm.html
+++ b/content/docs/latest/reference/os/shm.html
@@ -141,6 +141,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED 
Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/smp.html 
b/content/docs/latest/reference/os/smp.html
index aa68c05..1ffcded 100644
--- a/content/docs/latest/reference/os/smp.html
+++ b/content/docs/latest/reference/os/smp.html
@@ -141,6 +141,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED 
Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/time_clock.html 
b/content/docs/latest/reference/os/time_clock.html
index 22f5d96..429dab7 100644
--- a/content/docs/latest/reference/os/time_clock.html
+++ b/content/docs/latest/reference/os/time_clock.html
@@ -148,6 +148,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED 
Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/reference/os/wqueue.html 
b/content/docs/latest/reference/os/wqueue.html
index 9fd8364..6840eac 100644
--- a/content/docs/latest/reference/os/wqueue.html
+++ b/content/docs/latest/reference/os/wqueue.html
@@ -145,6 +145,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="paging.html">On-Demand Paging</a></li>
 <li class="toctree-l3"><a class="reference internal" href="led.html">LED 
Support</a></li>
 <li class="toctree-l3"><a class="reference internal" href="iob.html">I/O 
Buffer Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="note.html">Note 
Driver Interface</a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/releases/index.html 
b/content/docs/latest/releases/index.html
index 88bf416..a76e7bf 100644
--- a/content/docs/latest/releases/index.html
+++ b/content/docs/latest/releases/index.html
@@ -63,7 +63,7 @@
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Contributing" href="../contributing/index.html" />
-    <link rel="prev" title="Drivers" href="../guides/drivers.html" /> 
+    <link rel="prev" title="Task Trace Internals" 
href="../guides/tasktraceinternal.html" /> 
 </head>
 
 <body class="wy-body-for-nav">
diff --git a/content/docs/latest/searchindex.js 
b/content/docs/latest/searchindex.js
index 1bc98a0..6c54758 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen
 [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen
 [...]
\ No newline at end of file
diff --git a/content/feed.xml b/content/feed.xml
index c71528a..310f4c0 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -5,8 +5,8 @@
     <description></description>
     <link>/</link>
     <atom:link href="/feed.xml" rel="self" type="application/rss+xml"/>
-    <pubDate>Fri, 16 Oct 2020 00:54:58 +0000</pubDate>
-    <lastBuildDate>Fri, 16 Oct 2020 00:54:58 +0000</lastBuildDate>
+    <pubDate>Sat, 17 Oct 2020 00:53:41 +0000</pubDate>
+    <lastBuildDate>Sat, 17 Oct 2020 00:53:41 +0000</lastBuildDate>
     <generator>Jekyll v3.8.5</generator>
     
       <item>

Reply via email to