blob: 57630907949a3ae9abf1bd68328e6f63180104de [file] [log] [blame]
<!--
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="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>irqinfo &mdash; NuttX latest documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css" />
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
<link rel="stylesheet" type="text/css" href="../../_static/custom.css" />
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/sphinx_highlight.js"></script>
<script src="../../_static/clipboard.min.js"></script>
<script src="../../_static/copybutton.js"></script>
<script src="../../_static/design-tabs.js"></script>
<script 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="How to debug NuttX using QEMU and GDB" href="../qemugdb.html" />
<link rel="prev" title="GDB with Python" href="../gdbwithpython.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
</a>
<!-- this version selector is quite ugly, should be probably replaced by something
more modern -->
<div class="version-selector">
<select onchange="javascript:location.href = this.value;">
<option value="../../../latest" selected="selected">latest</option>
<option value="../../../10.0.0" >10.0.0</option>
<option value="../../../10.0.1" >10.0.1</option>
<option value="../../../10.1.0" >10.1.0</option>
<option value="../../../10.2.0" >10.2.0</option>
<option value="../../../10.3.0" >10.3.0</option>
<option value="../../../11.0.0" >11.0.0</option>
<option value="../../../12.0.0" >12.0.0</option>
<option value="../../../12.1.0" >12.1.0</option>
<option value="../../../12.2.0" >12.2.0</option>
<option value="../../../12.2.1" >12.2.1</option>
<option value="../../../12.3.0" >12.3.0</option>
<option value="../../../12.4.0" >12.4.0</option>
<option value="../../../12.5.0" >12.5.0</option>
<option value="../../../12.5.1" >12.5.1</option>
<option value="../../../12.6.0" >12.6.0</option>
<option value="../../../12.7.0" >12.7.0</option>
<option value="../../../12.8.0" >12.8.0</option>
<option value="../../../12.9.0" >12.9.0</option>
<option value="../../../12.10.0" >12.10.0</option>
<option value="../../../12.11.0" >12.11.0</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" aria-label="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="Navigation menu">
<p class="caption" role="heading"><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="../../quickstart/index.html">Getting Started</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="../../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../platforms/index.html">Supported Platforms</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="../../implementation/index.html">Implementation Details</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="../../faq/index.html">FAQ</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Debugging</a><ul class="current">
<li class="toctree-l2 current"><a class="reference internal" href="../gdbwithpython.html">GDB with Python</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../gdbwithpython.html#introduction">Introduction</a></li>
<li class="toctree-l3"><a class="reference internal" href="../gdbwithpython.html#usage">Usage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../gdbwithpython.html#how-to-write-a-gdb-python-script">How to write a GDB python script</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="../gdbwithpython.html#requirements">Requirements</a><ul class="current">
<li class="toctree-l4 current"><a class="current reference internal" href="#">irqinfo</a><ul>
<li class="toctree-l5"><a class="reference internal" href="#syntax">Syntax</a></li>
<li class="toctree-l5"><a class="reference internal" href="#example">Example</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../qemugdb.html">How to debug NuttX using QEMU and GDB</a></li>
<li class="toctree-l2"><a class="reference internal" href="../gdbserver.html">gdbserver</a></li>
<li class="toctree-l2"><a class="reference internal" href="../debugging_elf_loadable_modules.html">Debugging ELF Loadable Modules</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tasktrace.html">Task Trace</a></li>
<li class="toctree-l2"><a class="reference internal" href="../kasan.html">The Kernel Address Sanitizer (KASAN)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../coredump.html">Core Dump</a></li>
<li class="toctree-l2"><a class="reference internal" href="../coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
<li class="toctree-l2"><a class="reference internal" href="../stackcheck.html">Stack Overflow Check</a></li>
<li class="toctree-l2"><a class="reference internal" href="../stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="../disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
<li class="toctree-l2"><a class="reference internal" href="../debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
<li class="toctree-l2"><a class="reference internal" href="../mte.html">ATM64 MTE extension</a></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="../../glossary.html">Glossary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../logos/index.html">NuttX Logos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../_tags/tagsindex.html">Tags</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<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="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html">Debugging</a></li>
<li class="breadcrumb-item"><a href="../gdbwithpython.html">GDB with Python</a></li>
<li class="breadcrumb-item active">irqinfo</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/apache/nuttx/blob/master/Documentation/debugging/gdb/irqinfo.rst" class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="irqinfo">
<h1>irqinfo<a class="headerlink" href="#irqinfo" title="Permalink to this heading"></a></h1>
<p><code class="docutils literal notranslate"><span class="pre">irqinfo</span></code> is a custom GDB command that prints information about the IRQs in the system.
The output includes the IRQ number, the number of times the IRQ has been triggered,
the total time spent in the IRQ handler, the rate of the IRQ, the IRQ handler function,
and the handler’s argument.</p>
<p>The argument is displayed as function if possible.</p>
<p>It’s similar to nsh command <code class="docutils literal notranslate"><span class="pre">irqinfo</span></code> but works in GDB. See <a class="reference internal" href="../../applications/nsh/commands.html#cmdirqinfo"><span class="std std-ref">irqinfo Show Interrupt Status</span></a> for more information.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">RATE</span></code> column is not available.</p>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>To show the <code class="docutils literal notranslate"><span class="pre">COUNT</span></code> column, you need to enable the <code class="docutils literal notranslate"><span class="pre">CONFIG_SCHED_IRQMONITOR</span></code> option in the NuttX configuration.</p>
</div>
<section id="syntax">
<h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this heading"></a></h2>
<blockquote>
<div><p><code class="docutils literal notranslate"><span class="pre">irqinfo</span></code></p>
</div></blockquote>
</section>
<section id="example">
<h2>Example<a class="headerlink" href="#example" title="Permalink to this heading"></a></h2>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">(</span>gdb<span class="o">)</span><span class="w"> </span>irqinfo
IRQ<span class="w"> </span>COUNT<span class="w"> </span>TIME<span class="w"> </span>RATE<span class="w"> </span>HANDLER<span class="w"> </span>ARGUMENT
<span class="m">0</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">0</span><span class="w"> </span>N/A<span class="w"> </span>mps_reserved<span class="w"> </span>0x0<span class="w"> </span>&lt;sensor_unregister&gt;
<span class="m">2</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">0</span><span class="w"> </span>N/A<span class="w"> </span>mps_nmi<span class="w"> </span>0x0<span class="w"> </span>&lt;sensor_unregister&gt;
<span class="m">3</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">0</span><span class="w"> </span>N/A<span class="w"> </span>arm_hardfault<span class="w"> </span>0x0<span class="w"> </span>&lt;sensor_unregister&gt;
<span class="m">4</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">0</span><span class="w"> </span>N/A<span class="w"> </span>arm_memfault<span class="w"> </span>0x0<span class="w"> </span>&lt;sensor_unregister&gt;
<span class="m">5</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">0</span><span class="w"> </span>N/A<span class="w"> </span>arm_busfault<span class="w"> </span>0x0<span class="w"> </span>&lt;sensor_unregister&gt;
<span class="m">6</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">0</span><span class="w"> </span>N/A<span class="w"> </span>arm_usagefault<span class="w"> </span>0x0<span class="w"> </span>&lt;sensor_unregister&gt;
<span class="m">11</span><span class="w"> </span><span class="m">1</span><span class="w"> </span><span class="m">0</span><span class="w"> </span>N/A<span class="w"> </span>arm_svcall<span class="w"> </span>0x0<span class="w"> </span>&lt;sensor_unregister&gt;
<span class="m">12</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">0</span><span class="w"> </span>N/A<span class="w"> </span>arm_dbgmonitor<span class="w"> </span>0x0<span class="w"> </span>&lt;up_debugpoint_remove&gt;
<span class="m">14</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">0</span><span class="w"> </span>N/A<span class="w"> </span>mps_pendsv<span class="w"> </span>0x0<span class="w"> </span>&lt;up_debugpoint_remove&gt;
<span class="m">15</span><span class="w"> </span><span class="m">6581421</span><span class="w"> </span><span class="m">0</span><span class="w"> </span>N/A<span class="w"> </span>systick_interrupt<span class="w"> </span>0x100010c<span class="w"> </span>&lt;g_systick_lower&gt;
<span class="m">49</span><span class="w"> </span><span class="m">2</span><span class="w"> </span><span class="m">0</span><span class="w"> </span>N/A<span class="w"> </span>uart_cmsdk_tx_interrupt<span class="w"> </span>0x1000010<span class="w"> </span>&lt;g_uart0port&gt;
<span class="m">50</span><span class="w"> </span><span class="m">0</span><span class="w"> </span><span class="m">0</span><span class="w"> </span>N/A<span class="w"> </span>uart_cmsdk_rx_interrupt<span class="w"> </span>0x1000010<span class="w"> </span>&lt;g_uart0port&gt;
<span class="m">59</span><span class="w"> </span><span class="m">2</span><span class="w"> </span><span class="m">0</span><span class="w"> </span>N/A<span class="w"> </span>uart_cmsdk_ov_interrupt<span class="w"> </span>0x1000010<span class="w"> </span>&lt;g_uart0port&gt;
<span class="o">(</span>gdb<span class="o">)</span>
</pre></div>
</div>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="../gdbwithpython.html" class="btn btn-neutral float-left" title="GDB with Python" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../qemugdb.html" class="btn btn-neutral float-right" title="How to debug NuttX using QEMU and GDB" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2023, The Apache Software Foundation.</p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>