Skip to content

Commit

Permalink
Deploying to gh-pages from @ 2f51832 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
fanghuaqi committed Aug 30, 2024
1 parent 5575f64 commit 40678dd
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 27 deletions.
59 changes: 35 additions & 24 deletions 16-incomplete_data_output_when_using_profiling_function/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -108,16 +108,22 @@
<li class="toctree-l1 current"><a class="reference internal current" href="#">使用 Profiling 功能时可能遇到的一些问题</a>
<ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#1-gprofgcov">问题1:日志打印中报片上内存不足,没有充足内存来存放 gprof/gcov 数据</a>
<ul>
<li class="toctree-l3"><a class="reference internal" href="#_1">解决方案</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#_1">解决方案</a>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#2console-terminal">问题2:Console 或 Terminal 收集的数据不全导致数据解析时失败</a>
<ul>
<li class="toctree-l3"><a class="reference internal" href="#_2">解决方案</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#_2">解决方案</a>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#3-gmonout-no-files-have-been-generated">问题3:删掉 gmon.out 文件,再次解析,弹出 No files have been generated 错误弹框</a>
<ul>
<li class="toctree-l3"><a class="reference internal" href="#_3">解决方案</a>
</li>
<li class="toctree-l2"><a class="reference internal" href="#_3">解决方案</a>
</ul>
</li>
</ul>
</li>
Expand Down Expand Up @@ -155,17 +161,19 @@
<div class="section" itemprop="articleBody">

<h1 id="profiling">使用 Profiling 功能时可能遇到的一些问题<a class="headerlink" href="#profiling" title="Permanent link">&para;</a></h1>
<p>目前使用 Profiling 功能可能遇到一些问题,记录如下:<br />
<em> </em><em>问题1</em><em>:日志打印中报片上内存不足,没有充足内存来存放 gprof/gcov 数据
* </em><em>问题2</em><em>:采用串口输出的方式收集数据,打印被冲掉,Console 或 Terminal 收集的数据不全,导致数据解析失败,弹出 No files have been generated 错误弹框<br />
</em> <strong>问题3</strong>:删掉 <code>gmon.out</code> 文件,再次解析时,弹出 No files have been generated 错误弹框</p>
<h3 id="1-gprofgcov">问题1:日志打印中报片上内存不足,没有充足内存来存放 gprof/gcov 数据<a class="headerlink" href="#1-gprofgcov" title="Permanent link">&para;</a></h3>
<p>目前使用 Profiling 功能可能遇到一些问题,记录如下: </p>
<ul>
<li><strong>问题1</strong>:日志打印中报片上内存不足,没有充足内存来存放 gprof/gcov 数据</li>
<li><strong>问题2</strong>:采用串口输出的方式收集数据,打印被冲掉,Console 或 Terminal 收集的数据不全,导致数据解析失败,弹出 <code>No files have been generated</code> 错误弹框 </li>
<li><strong>问题3</strong>:删掉 <code>gmon.out</code> 文件,再次解析时,弹出 <code>No files have been generated</code> 错误弹框</li>
</ul>
<h2 id="1-gprofgcov">问题1:日志打印中报片上内存不足,没有充足内存来存放 gprof/gcov 数据<a class="headerlink" href="#1-gprofgcov" title="Permanent link">&para;</a></h2>
<p>gprof/gcov data 需要存到片上内存上,占用内存的大小与用例规模有关(几十到几百KB不等),需要确保片上内存足够大。</p>
<p><img alt="Alt text" src="../asserts/images/16/overflow.png" /></p>
<h3 id="_1">解决方案<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h3>
<p>首先需要确认软件配置的内存大小与硬件实际大小相匹配(ilm/sram/flash/ddr/),否则需要适配软件链接脚本内存布局: <br />
比如,如果是 <code>DOWNLOAD=ilm</code> 模式下载,可以按硬件的 ilm 与 dlm 大小适配。
对于 nuclei sdk 0.6.0 版本,修改的文件为<code>nuclei-sdk/SoC/evalsoc/Board/nuclei_fpga_eval/Source/GCC/gcc_evalsoc_ilm.ld</code></p>
对于 <code>nuclei sdk 0.6.0</code> 版本,修改的文件为<code>nuclei-sdk/SoC/evalsoc/Board/nuclei_fpga_eval/Source/GCC/gcc_evalsoc_ilm.ld</code></p>
<pre><code class="language-c">INCLUDE evalsoc.memory

MEMORY
Expand All @@ -175,29 +183,32 @@ <h3 id="_1">解决方案<a class="headerlink" href="#_1" title="Permanent link">
}
</code></pre>
<p>如果 <code>DOWNLOAD=ilm</code> 模式内存不足,可以使用内存大一点的下载方式(如 <code>DOWNLOAD=ddr</code>)。</p>
<h3 id="2console-terminal">问题2:Console 或 Terminal 收集的数据不全导致数据解析时失败<a class="headerlink" href="#2console-terminal" title="Permanent link">&para;</a></h3>
<p>在 NucleiStudio 2024.06 中,当选择使用串口输出的方式使用 Profiling 功能时,可能使用 <code>Parse and Generate Hexdump</code> 解析数据时弹出 No files have been generated 错误弹框,最后没有生成对应的 <code>gmon.out</code> 文件或者 <code>*.gcno</code> 文件。这可能是因为串口数据被冲掉,导致数据不完整从而解析失败
<img alt="generated_fail" src="../asserts/images/16/generated_fail.png" /></p>
<p><strong>确认方法:</strong><br />
需确保串口开始时的打印没有被冲掉,参考<a href="../17-an_example_to_demonstrate_the_use_of_profiling_and_code_coverage/">一个例子用来展示Profiling以及Code coverage功能</a></p>
<h2 id="2console-terminal">问题2:Console 或 Terminal 收集的数据不全导致数据解析时失败<a class="headerlink" href="#2console-terminal" title="Permanent link">&para;</a></h2>
<p>在 NucleiStudio 2024.06 中,当选择使用串口输出的方式使用 Profiling 功能时,可能使用 <code>Parse and Generate Hexdump</code> 解析数据时
弹出 <code>No files have been generated</code> 错误弹框,最后没有生成对应的 <code>gmon.out</code> 文件或者 <code>*.gcno</code> 文件。这可能是因为串口数据被冲掉,导致数据不完整从而解析失败</p>
<p><img alt="generated_fail" src="../asserts/images/16/generated_fail.png" /></p>
<p><strong>确认方法:</strong> </p>
<p>需确保串口开始时的打印没有被冲掉,参考<a href="../17-an_example_to_demonstrate_the_use_of_profiling_and_code_coverage/">Nuclei Studio使用Profiling功能进行性能调优举例</a></p>
<p><img alt="parse_profiling_fail" src="../asserts/images/16/parse_profiling_fail.png" /></p>
<h3 id="_2">解决方案<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h3>
<p>因为在Console或者Terminal中,对输出的内容条数有限制,当输出的内容长度超过限制时,前面的内容会被冲掉,导致内容不完整,这样会解析失败。</p>
<p>需要调节 Console 或 Terminal 输出大小限制,确保数据没有被冲掉。 <br />
* 建议将Console中输出内容条限修改为不受限制。<br />
Window-&gt;Preference 进入如下界面:
<img alt="config_console_limit" src="../asserts/images/16/config_console_limit.png" /></p>
<p>需要调节 Console 或 Terminal 输出大小限制,确保数据没有被冲掉。 </p>
<ul>
<li>建议将Console中输出内容条限修改为不受限制。</li>
</ul>
<p><code>Window-&gt;Preference</code> 进入如下界面:</p>
<p><img alt="config_console_limit" src="../asserts/images/16/config_console_limit.png" /></p>
<ul>
<li>建议将Terminal中输出内容条限修改为一个较大的值。<br />
Window-&gt;Preference 进入如下界面:
<img alt="config_terminal_limit" src="../asserts/images/16/config_terminal_limit.png" /></li>
<li>建议将Terminal中输出内容条限修改为一个较大的值。</li>
</ul>
<h3 id="3-gmonout-no-files-have-been-generated">问题3:删掉 gmon.out 文件,再次解析,弹出 No files have been generated 错误弹框<a class="headerlink" href="#3-gmonout-no-files-have-been-generated" title="Permanent link">&para;</a></h3>
<p><code>Window-&gt;Preference</code> 进入如下界面:</p>
<p><img alt="config_terminal_limit" src="../asserts/images/16/config_terminal_limit.png" /></p>
<h2 id="3-gmonout-no-files-have-been-generated">问题3:删掉 gmon.out 文件,再次解析,弹出 No files have been generated 错误弹框<a class="headerlink" href="#3-gmonout-no-files-have-been-generated" title="Permanent link">&para;</a></h2>
<p>手动删掉工程文件夹下的 gmon.out 文件,再次解析时出现 <code>No files have been generated</code> 的错误弹框</p>
<p><img alt="generated_fail" src="../asserts/images/16/generated_fail.png" /></p>
<h3 id="_3">解决方案<a class="headerlink" href="#_3" title="Permanent link">&para;</a></h3>
<p>手动删掉 gmon.out 文件后,需要手动刷新一下工程。<br />
<img alt="refresh_project" src="../asserts/images/16/refresh_project.png" /></p>
<p>手动删掉 gmon.out 文件后,需要手动刷新一下工程。 </p>
<p><img alt="refresh_project" src="../asserts/images/16/refresh_project.png" /></p>

</div>
</div><footer>
Expand Down
4 changes: 2 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ <h1 id="nuclei-studio-supply-documents">Nuclei Studio Supply Documents<a class="
</blockquote>
<h2 id="documents">Documents<a class="headerlink" href="#documents" title="Permanent link">&para;</a></h2>
<blockquote>
<p>Generated by <code>python3 update.py</code> @ 2024-08-30 10:21:16</p>
<p>Generated by <code>python3 update.py</code> @ 2024-08-30 10:46:15</p>
</blockquote>
<table>
<thead>
Expand Down Expand Up @@ -302,5 +302,5 @@ <h2 id="documents">Documents<a class="headerlink" href="#documents" title="Perma

<!--
MkDocs version : 1.6.0
Build Date UTC : 2024-08-30 10:21:16.617417+00:00
Build Date UTC : 2024-08-30 10:46:15.848581+00:00
-->
2 changes: 1 addition & 1 deletion search/search_index.json

Large diffs are not rendered by default.

0 comments on commit 40678dd

Please sign in to comment.