blob: dc91eb2c0a3d9e0f197b17f27ea9193f233899e2 [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.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>smartl-c906 &mdash; NuttX latest documentation</title>
<link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../../../../_static/copybutton.css" type="text/css" />
<link rel="stylesheet" href="../../../../../_static/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 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/js/theme.js"></script>
<link rel="index" title="Index" href="../../../../../genindex.html" />
<link rel="search" title="Search" href="../../../../../search.html" />
<link rel="next" title="Espressif ESP32-C3" href="../../../esp32c3/index.html" />
<link rel="prev" title="THEAD C906" href="../../index.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>
</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 current"><a class="reference internal" href="../../../../index.html">Supported Platforms</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../../../arm/index.html">ARM</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../arm64/index.html">ARM64</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../avr/index.html">Microchip AVR</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../ceva/index.html">CEVA</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../hc/index.html">HC</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../mips/index.html">MIPS</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../misco/index.html">Misoc</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../or1k/index.html">OpenRISC</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../renesas/index.html">Renesas</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../../../index.html">RISC-V</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../../../bl602/index.html">Bouffalo Lab BL602</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../bl808/index.html">Bouffalo Lab BL808</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="../../index.html">THEAD C906</a><ul class="current">
<li class="toctree-l4 current"><a class="reference internal" href="../../index.html#supported-boards">Supported Boards</a><ul class="current">
<li class="toctree-l5 current"><a class="current reference internal" href="#">smartl-c906</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../esp32c3/index.html">Espressif ESP32-C3</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../esp32c6/index.html">Espressif ESP32-C6</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../fe310/index.html">SiFive FE310</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../hpm6750/index.html">Hpmicro HPM6750</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../jh7110/index.html">StarFive JH7110</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../k210/index.html">Kendryte K210</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../k230/index.html">Kendryte K230</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../litex/index.html">Enjoy Digital LiteX FPGA’s</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../mpfs/index.html">Microchip PolarFire® SoC FPGA’s (MPFS)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../qemu-rv/index.html">QEMU Generic RV32/RV64</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../rv32m1/index.html">NXP RV32M1</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../../../sim/index.html">Simulators</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../sparc/index.html">SPARC</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../x86/index.html">Intel 80x86</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../x86_64/index.html">Intel 80x86_64</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../xtensa/index.html">Xtensa</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../z16/index.html">Z16</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../z80/index.html">Z80</a></li>
</ul>
</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"><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>
</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">Supported Platforms</a></li>
<li class="breadcrumb-item"><a href="../../../index.html">RISC-V</a></li>
<li class="breadcrumb-item"><a href="../../index.html">THEAD C906</a></li>
<li class="breadcrumb-item active">smartl-c906</li>
<li class="wy-breadcrumbs-aside">
<a href="../../../../../_sources/platforms/risc-v/c906/boards/smartl-c906/index.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">
<section id="smartl-c906">
<h1>smartl-c906<a class="headerlink" href="#smartl-c906" title="Permalink to this heading"></a></h1>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>1. Download and install toolchain
https://occ.t-head.cn/community/download
2. Download and install qemu
https://occ.t-head.cn/community/download
3. Modify defconfig
4. Configure and build NuttX
$ make distclean
$ ./tools/configure.sh smartl-c906:nsh
$ make -j
5. Run the nuttx by downloading elf to RAM via HW debugger
6. TODO
Support FPU
Support ELF based file applications
Support RISC-V User mode
</pre></div>
</div>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>1. Download and install toolchain
https://occ.t-head.cn/community/download
2. Download and install qemu
https://occ.t-head.cn/community/download
3. Modify defconfig
CONFIG_C906_WITH_QEMU=y
4. Configure and build NuttX
$ make distclean
$ ./tools/configure.sh smartl-c906:nsh
$ make -j
5. Run the nuttx with qemu
Modify the soc config file &quot;smarth_906_cfg.xml&quot;, enlarge the RAM size.
- &lt;mem name=&quot;smart_inst_mem&quot; addr=&quot;0x0&quot; size =&quot;0x00020000&quot; attr =&quot;MEM_RAM&quot;&gt;&lt;/mem&gt;
+ &lt;mem name=&quot;smart_inst_mem&quot; addr=&quot;0x0&quot; size =&quot;0x00400000&quot; attr =&quot;MEM_RAM&quot;&gt;&lt;/mem&gt;
...
- smart_inst_mem, Start: 0x0, Length: 0x20000
+ smart_inst_mem, Start: 0x0, Length: 0x400000
Then launch QEMU:
$ ./cskysim -soc $PATH_TO_SOCCFG/smarth_906_cfg.xml -nographic -kernel $PATH_TO_NUTTX_BUILD_DIR/nuttx
6. TODO
Support protect mode via PMP
Support RISC-V User mode
</pre></div>
</div>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="../../index.html" class="btn btn-neutral float-left" title="THEAD C906" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../../../esp32c3/index.html" class="btn btn-neutral float-right" title="Espressif ESP32-C3" 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>