http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/bootloader/bootloader/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/bootloader/bootloader/index.html b/develop/os/modules/bootloader/bootloader/index.html index 6e1a0bb..d30d8e4 100644 --- a/develop/os/modules/bootloader/bootloader/index.html +++ b/develop/os/modules/bootloader/bootloader/index.html @@ -602,14 +602,6 @@ characteristics:</p> <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">ih_key_id</span>; <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">_pad1</span>; <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">ih_hdr_s<</span> <span style="color: #000000">bok@bok</span>.<span style="color: #000000">net</span> -<span style="color: #1C01CE">35</span><span style="color: #000000">d33</span> -<span style="color: #000000"><</span> <span style="color: #000000">ericmanganaro@gmail</span>.<span style="color: #000000">com</span> -<span style="color: #1C01CE">42</span><span style="color: #000000">d39</span> -<span style="color: #000000"><</span> <span style="color: #000000">tam@proxy</span>.<span style="color: #000000">co</span> -<span style="color: #1C01CE">55</span><span style="color: #000000">d51</span> -<span style="color: #000000"><</span> <span style="color: #000000">nathan@natb1</span>.<span style="color: #000000">com</span> -<span style="color: #1C01CE">110</span><span style="color: #000000">d105</span> -<span style="color: #000000"><</span> <span style="color: #000000">rvs@apache</span>.<span style="color: #000000">orgize</span>; <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">_pad2</span>; <span style="color: #A90D91">uint32_t</span> <span style="color: #000000">ih_img_size</span>; <span style="color: #177500">/* Does not include header. */</span> <span style="color: #A90D91">uint32_t</span> <span style="color: #000000">ih_flags</span>;
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/drivers/driver/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/drivers/driver/index.html b/develop/os/modules/drivers/driver/index.html index 96701da..bb0beec 100644 --- a/develop/os/modules/drivers/driver/index.html +++ b/develop/os/modules/drivers/driver/index.html @@ -343,6 +343,19 @@ + + + + + <li><a href=" + ../flash/ +">Supported Drivers</a> + + + </li> + + + </ul> </li> @@ -596,6 +609,46 @@ <h3 id="example">Example</h3> <p>The Mynewt core repo includes an example of a driver using the HAL to provide extra functionality - the UART driver. It uses HAL GPIO and UART to provide multiple serial ports on the NRF52 (but allowed on other platforms too.)</p> <p>The gist of the driver design is that there is an API for the driver (for use by applications), and then sub-packages to that driver that implement that driver API using the HAL and BSP APIs.</p> +<h3 id="implemented-drivers">Implemented drivers</h3> +<p>Drivers live under <code>hw/drivers</code>. The current list of supported drivers includes:</p> +<table> +<thead> +<tr> +<th>Driver</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td><a href="adc.md">adc</a></td> +<td>TODO: ADC driver.</td> +</tr> +<tr> +<td><a href="../flash/">flash</a></td> +<td>SPI/I2C flash drivers.</td> +</tr> +<tr> +<td><a href="lwip.md">lwip</a></td> +<td>TODO: LWIP.</td> +</tr> +<tr> +<td><a href="../mmc/">mmc</a></td> +<td>MMC/SD card driver.</td> +</tr> +<tr> +<td><a href="../../../../network/ble/ble_intro/">nimble</a></td> +<td>NIMBLE.</td> +</tr> +<tr> +<td><a href="sensors.md">sensors</a></td> +<td>TODO: sensors.</td> +</tr> +<tr> +<td><a href="uart.md">uart</a></td> +<td>TODO: UART driver.</td> +</tr> +</tbody> +</table> <div class="row"> @@ -613,8 +666,8 @@ </li> <li class="pull-right"> - <a href=../../testutil/testutil/> - Next: Test Utilities + <a href=../flash/> + Next: flash <span class="fa fa-arrow-right"></span> </a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/drivers/flash/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/drivers/flash/index.html b/develop/os/modules/drivers/flash/index.html new file mode 100644 index 0000000..9ec7b45 --- /dev/null +++ b/develop/os/modules/drivers/flash/index.html @@ -0,0 +1,744 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + + <!-- This is broken by doc revisioning. + <link rel="canonical" href="http://mynewt.apache.org/os/modules/drivers/flash/"> --> + <link rel="shortcut icon" href="../../../../img/favicon.ico"> + + <title>flash - Apache Mynewt</title> + + <link href="../../../../css/bootstrap-3.0.3.min.css" rel="stylesheet"> + <link rel="stylesheet" href="../../../../css/highlight.css"> + <link href="../../../../css/base.css" rel="stylesheet"> + <link href="../../../../css/custom.css" rel="stylesheet"> + <link href="../../../../css/v2.css" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet"> + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> + <link href="../../../../extra.css" rel="stylesheet"> + + <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> + <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> + <![endif]--> + + + <script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-72162311-1', 'auto'); + ga('send', 'pageview'); + </script> + + </head> + + + <body class="flash"> + + + <div class="container"> + <div class="row v2-main-banner"> + <a class="logo-cell" href="/"> + <img class="logo" src="/img/logo.png"> + </a> + <div class="tagline-cell"> + <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4> + </div> + <div class="news-cell"> + <div class="well"> + <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.0.0-b2</a> released (Feb 15, 2017) + </div> + </div> + </div> +</div> + + + + + + + + +<nav id="navbar" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="150" role="navigation"> + <div class="container"> + <!-- Collapsed navigation --> + <div class="navbar-header"> + <!-- Expander button --> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + + </div> + + <!-- Expanded navigation --> + <div class="navbar-collapse collapse"> + <!-- Main navigation --> + <ul class="nav navbar-nav navbar-right"> + <li + class="" +> + <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a> + </li> + <li + class="important" +> + <a href="/quick-start/">Quick Start</a> + </li> + <li + class="" +> + <a href="/about/">About</a> + </li> + <li + class="" +> + <a href="/talks/">Talks</a> + </li> + <li + class="active" +> + <a href="/latest/os/introduction">Documentation</a> + </li> + <li + class="" +> + <a href="/download/">Download</a> + </li> + <li + class="" +> + <a href="/community/">Community</a> + </li> + <li + class="" +> + <a href="/events/">Events</a> + </li> + </ul> + + <!-- Search, Navigation and Repo links --> + <ul class="nav navbar-nav navbar-right"> + + </ul> + </div> + </div> +</nav> + + + + <div class="container"> + + <div class="row"> + <div class="col-md-3 v2-sidebar sidebar-container"><div id="docSidebar" class="hidden-print" role="complementary"> + <div class="top"> + <div role="search"> + <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get"> + <div class="form-group"> + <input type="text" name="q" class="form-control" placeholder="Search documentation" /> + </div> + </form> + </div> + </div> + <ul class="toc-nav"> + <li class="doc-version"> +<select class="form-control" onchange="if (this.value) window.location.href=this.value"> + + <option + value="/develop/os/introduction" + selected="selected" + > + Version: develop (latest) + </option> + + <option + value="/v0_9_0/os/introduction" + + > + Version: 0.9.0 + </option> + +</select> +</li> + + + + + + + + + + + + + + + + + + + + + + <li ><a href="../../../introduction/">Mynewt Documentation</a> + + + <ul> + + + + + + + + <li ><a href="../../../get_started/get_started/">Basic Setup</a> + + + </li> + + + + + + <li > + <a href="../../../get_started/vocabulary/">Concepts</a> + </li> + + + + + + + + <li ><a href="../../../tutorials/tutorials/">Tutorials</a> + + + </li> + + + + + + + + <li ><a href="../../../os_user_guide/">OS User Guide</a> + + + <ul> + + + + + + + + <li ><a href="../../../core_os/mynewt_os/">OS Core</a> + + + </li> + + + + + + + + <li ><a href="../../../core_os/porting/port_os/">Porting to your Platform</a> + + + </li> + + + + + + + + <li ><a href="../../console/console/">Console</a> + + + </li> + + + + + + + + <li ><a href="../../shell/shell/">Shell</a> + + + </li> + + + + + + + + <li ><a href="../../split/split/">Split Images</a> + + + </li> + + + + + + + + <li ><a href="../../bootloader/bootloader/">Bootloader</a> + + + </li> + + + + + + + + <li><a href=" + + + ../../fs/fs/fs/ + +">File System</a> + + + </li> + + + + + + + + <li ><a href="../../hal/hal/">Hardware Abstraction Layer</a> + + + </li> + + + + + + + + <li ><a href="../driver/">Drivers</a> + + + <ul> + + + + + + + + <li><a href=" + ./ +">Supported Drivers</a> + + + <ul> + + + + <li class="active"> + <a href="./">flash</a> + </li> + + + + + + <li > + <a href="../mmc/">mmc</a> + </li> + + + + + + <li > + <a href="../../../../network/ble/ble_intro/">nimBLE</a> + </li> + + + + </ul> + + </li> + + + + </ul> + + </li> + + + + + + + + <li ><a href="../../testutil/testutil/">Test Utilities</a> + + + </li> + + + + + + + + <li ><a href="../../devmgmt/newtmgr/">Device Management with Newt Manager</a> + + + </li> + + + + + + + + <li ><a href="../../imgmgr/imgmgr/">Image Manager</a> + + + </li> + + + + + + <li > + <a href="../../baselibc/">Baselibc library</a> + </li> + + + + + + + + <li ><a href="../../elua/elua/">Embedded Lua</a> + + + </li> + + + + + + + + <li ><a href="../../json/json/">JSON</a> + + + </li> + + + + + + + + <li ><a href="../../fcb/fcb/">Flash Circular Buffer</a> + + + </li> + + + + + + + + <li ><a href="../../stats/stats/">Stats</a> + + + </li> + + + + + + + + <li ><a href="../../logs/logs/">Logs</a> + + + </li> + + + + + + + + <li ><a href="../../sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + + </ul> + + </li> + + + + + + + + <li><a href=" + ../../../../network/ble/ble_intro/ +">BLE User Guide</a> + + + </li> + + + + + + + + <li ><a href="../../../../newt/newt_intro/">Newt Tool Guide</a> + + + </li> + + + + + + + + <li ><a href="../../../../newtmgr/overview/">Newt Manager Guide</a> + + + </li> + + + + </ul> + + </li> + + + + + + + + <li><a href=" + ../../../../faq/how_to_edit_docs/ +">Appendix</a> + + + </li> + + + + </ul> +</div></div> + + <div class="col-md-9" role="main"> + <div class="doc-header"> + <div role="navigation" aria-label="breadcrumbs navigation"> + <ul class="wy-breadcrumbs pull-right"> + <li><a href="/develop/os/introduction">Docs</a></li> + + + + <li>» <a href="../driver/">Drivers</a></li> + + + + <li>» Supported Drivers</li> + + + + <li>» flash</li> + + + + </ul> +</div> + </div> + + <h2 id="flash"><font color="#F2853F" style="font-size:24pt">flash</font></h2> +<p>The flash driver subsystem is a work in progress which aims at supporting +common external SPI/I2C flash/eeprom memory chips. This is equivalent +to what Linux calls <code>MTD</code> for <code>Memory Technology Devices</code>.</p> +<p>At the moment the only <code>flash</code> device that is already supported is the +AT45DBxxx SPI flash family with the <code>at45db</code> driver.</p> +<p>The flash driver aims for full compatibility with the <code>hal_flash</code> API, +which means initialization and usage can be performed by any <code>fs</code> that +supports the <code>hal_flash</code> interface.</p> +<h4 id="initialization">Initialization</h4> +<p>To be compatible with the standard <code>hal_flash</code> interface, the <code>at45db</code> driver +embeds a <code>struct hal_flash</code> to its own <code>struct at45db_dev</code>. The whole <code>at45db_dev</code> +struct is shown below.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">struct</span> <span style="color: #000000">at45db_dev</span> { + <span style="color: #A90D91">struct</span> <span style="color: #000000">hal_flash</span> <span style="color: #000000">hal</span>; + <span style="color: #A90D91">struct</span> <span style="color: #000000">hal_spi_settings</span> <span style="color: #000000">*settings</span>; + <span style="color: #A90D91">int</span> <span style="color: #000000">spi_num</span>; + <span style="color: #A90D91">void</span> <span style="color: #000000">*spi_cfg</span>; <span style="color: #177500">/** Low-level MCU SPI config */</span> + <span style="color: #A90D91">int</span> <span style="color: #000000">ss_pin</span>; + <span style="color: #A90D91">uint32_t</span> <span style="color: #000000">baudrate</span>; + <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">page_size</span>; <span style="color: #177500">/** Page size to be used, valid: 512 and 528 */</span> + <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">disable_auto_erase</span>; <span style="color: #177500">/** Reads and writes auto-erase by default */</span> +}; +</pre></div> + + +<p>To ease with initialization a helper function <code>at45db_default_config</code> was added. +It returns an already initialized <code>struct at45db_dev</code> leaving the user with just +having to provide the SPI related config.</p> +<p>To initialize the device, pass the <code>at45db_dev</code> struct to <code>at45db_init</code>.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span> <span style="color: #000000">at45db_init</span>(<span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #000000">hal_flash</span> <span style="color: #000000">*dev</span>); +</pre></div> + + +<p>For low-level access to the device the following functions are provided:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span> <span style="color: #000000">at45db_read</span>(<span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #000000">hal_flash</span> <span style="color: #000000">*dev</span>, <span style="color: #A90D91">uint32_t</span> <span style="color: #000000">addr</span>, <span style="color: #A90D91">void</span> <span style="color: #000000">*buf</span>, + <span style="color: #A90D91">uint32_t</span> <span style="color: #000000">len</span>); +<span style="color: #A90D91">int</span> <span style="color: #000000">at45db_write</span>(<span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #000000">hal_flash</span> <span style="color: #000000">*dev</span>, <span style="color: #A90D91">uint32_t</span> <span style="color: #000000">addr</span>, <span style="color: #A90D91">const</span> <span style="color: #A90D91">void</span> <span style="color: #000000">*buf</span>, + <span style="color: #A90D91">uint32_t</span> <span style="color: #000000">len</span>); +<span style="color: #A90D91">int</span> <span style="color: #000000">at45db_erase_sector</span>(<span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #000000">hal_flash</span> <span style="color: #000000">*dev</span>, <span style="color: #A90D91">uint32_t</span> <span style="color: #000000">sector_address</span>); +<span style="color: #A90D91">int</span> <span style="color: #000000">at45db_sector_info</span>(<span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #000000">hal_flash</span> <span style="color: #000000">*dev</span>, <span style="color: #A90D91">int</span> <span style="color: #000000">idx</span>, <span style="color: #A90D91">uint32_t</span> <span style="color: #000000">*address</span>, + <span style="color: #A90D91">uint32_t</span> <span style="color: #000000">*sz</span>); +</pre></div> + + +<p>Also, <code>nffs</code> is able to run on the device due to the fact that standard <code>hal_flash</code> +interface compatibility is provided. Due to current limitations of <code>nffs</code>, it can +only run on <code>at45db</code> if the internal flash of the MCU is not being used.</p> +<h4 id="dependencies">Dependencies</h4> +<p>To include the <code>at45db</code> driver on a project, just include it as a dependency in your +pkg.yml:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">pkg.deps: + - hw/drivers/flash/at45db +</pre></div> + + +<h4 id="header-file">Header file</h4> +<p>The <code>at45db</code> SPI flash follows the standard <code>hal_flash</code> interface but requires +that a special struct </p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #633820">#include <at45db/at45db.h></span> +</pre></div> + + +<h4 id="example">Example</h4> +<p>This following examples assume that the <code>at45db</code> is being used on a STM32F4 MCU.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">static</span> <span style="color: #A90D91">const</span> <span style="color: #A90D91">int</span> <span style="color: #000000">SPI_SS_PIN</span> <span style="color: #000000">=</span> <span style="color: #000000">MCU_GPIO_PORTA</span>(<span style="color: #1C01CE">4</span>); +<span style="color: #A90D91">static</span> <span style="color: #A90D91">const</span> <span style="color: #A90D91">int</span> <span style="color: #000000">SPI_SCK_PIN</span> <span style="color: #000000">=</span> <span style="color: #000000">MCU_GPIO_PORTA</span>(<span style="color: #1C01CE">5</span>); +<span style="color: #A90D91">static</span> <span style="color: #A90D91">const</span> <span style="color: #A90D91">int</span> <span style="color: #000000">SPI_MISO_PIN</span> <span style="color: #000000">=</span> <span style="color: #000000">MCU_GPIO_PORTA</span>(<span style="color: #1C01CE">6</span>); +<span style="color: #A90D91">static</span> <span style="color: #A90D91">const</span> <span style="color: #A90D91">int</span> <span style="color: #000000">SPI_MOSI_PIN</span> <span style="color: #000000">=</span> <span style="color: #000000">MCU_GPIO_PORTA</span>(<span style="color: #1C01CE">7</span>); + +<span style="color: #A90D91">struct</span> <span style="color: #000000">stm32f4_hal_spi_cfg</span> <span style="color: #000000">spi_cfg</span> <span style="color: #000000">=</span> { + .<span style="color: #000000">ss_pin</span> <span style="color: #000000">=</span> <span style="color: #000000">SPI_SS_PIN</span>, + .<span style="color: #000000">sck_pin</span> <span style="color: #000000">=</span> <span style="color: #000000">SPI_SCK_PIN</span>, + .<span style="color: #000000">miso_pin</span> <span style="color: #000000">=</span> <span style="color: #000000">SPI_MISO_PIN</span>, + .<span style="color: #000000">mosi_pin</span> <span style="color: #000000">=</span> <span style="color: #000000">SPI_MOSI_PIN</span>, + .<span style="color: #000000">irq_prio</span> <span style="color: #000000">=</span> <span style="color: #1C01CE">2</span> +}; + +<span style="color: #A90D91">struct</span> <span style="color: #000000">at45db_dev</span> <span style="color: #000000">*my_at45db_dev</span> <span style="color: #000000">=</span> <span style="color: #A90D91">NULL</span>; + +<span style="color: #000000">my_at45db_dev</span> <span style="color: #000000">=</span> <span style="color: #000000">at45db_default_config</span>(); +<span style="color: #000000">my_at45db_dev->spi_num</span> <span style="color: #000000">=</span> <span style="color: #1C01CE">0</span>; +<span style="color: #000000">my_at45db_dev->spi_cfg</span> <span style="color: #000000">=</span> <span style="color: #000000">&spi_cfg</span>; +<span style="color: #000000">my_at45db_dev->ss_pin</span> <span style="color: #000000">=</span> <span style="color: #000000">spi_cfg</span>.<span style="color: #000000">ss_pin</span>; + +<span style="color: #000000">rc</span> <span style="color: #000000">=</span> <span style="color: #000000">at45db_init</span>((<span style="color: #A90D91">struct</span> <span style="color: #000000">hal_flash</span> <span style="color: #000000">*</span>) <span style="color: #000000">my_at45db_dev</span>); +<span style="color: #A90D91">if</span> (<span style="color: #000000">rc</span>) { + <span style="color: #177500">/* XXX: error handling */</span> +} +</pre></div> + + +<p>The enable <code>nffs</code> to run on the <code>at45db</code>, the <code>flash_id</code> 0 needs to map to +provide a mapping from 0 to this struct.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #000000">hal_flash</span> <span style="color: #000000">*</span> +<span style="color: #000000">hal_bsp_flash_dev</span>(<span style="color: #A90D91">uint8_t</span> <span style="color: #000000">id</span>) +{ + <span style="color: #A90D91">if</span> (<span style="color: #000000">id</span> <span style="color: #000000">!=</span> <span style="color: #1C01CE">0</span>) { + <span style="color: #A90D91">return</span> <span style="color: #A90D91">NULL</span>; + } + <span style="color: #A90D91">return</span> <span style="color: #000000">&my_at45db_dev</span>; +} +</pre></div> + + <div class="row"> + + + + +<ul class="nav nav-pills" style="margin-bottom: 10px"> + <li> + + <a href=../driver/> + <span class="fa fa-arrow-left"></span> + Previous: Drivers + </a> + + </li> + <li class="pull-right"> + + <a href=../mmc/> + Next: mmc + <span class="fa fa-arrow-right"></span> + </a> + + </li> +</ul> + </div> + <footer class="row"> + <div class="col-xs-12"> + + <p class="copyright">Apache Mynewt (incubating) is available under Apache License, version 2.0.</p> + + </div> + <div class="col-xs-12"> + <div class="logos"> + <img src="/img/asf_logo_wide_small.png" alt="Apache" title="Apache"> + <small class="footnote"> + MyNewt is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. + </small> + <img src="/img/egg-logo2.png" alt="Apache Incubator" title="Apache Incubator"> + </div> + </div> +</footer> + </div> + </div> + + + </div> + + <script src="../../../../js/jquery-1.10.2.min.js"></script> + <script src="../../../../js/bootstrap-3.0.3.min.js"></script> + <script src="../../../../js/highlight.pack.js"></script> + <script src="../../../../js/base.js"></script> + <script src="../../../../js/custom.js"></script> + + </body> +</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/drivers/mmc/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/drivers/mmc/index.html b/develop/os/modules/drivers/mmc/index.html new file mode 100644 index 0000000..b3d5fcf --- /dev/null +++ b/develop/os/modules/drivers/mmc/index.html @@ -0,0 +1,761 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + + <!-- This is broken by doc revisioning. + <link rel="canonical" href="http://mynewt.apache.org/os/modules/drivers/mmc/"> --> + <link rel="shortcut icon" href="../../../../img/favicon.ico"> + + <title>mmc - Apache Mynewt</title> + + <link href="../../../../css/bootstrap-3.0.3.min.css" rel="stylesheet"> + <link rel="stylesheet" href="../../../../css/highlight.css"> + <link href="../../../../css/base.css" rel="stylesheet"> + <link href="../../../../css/custom.css" rel="stylesheet"> + <link href="../../../../css/v2.css" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet"> + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> + <link href="../../../../extra.css" rel="stylesheet"> + + <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> + <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> + <![endif]--> + + + <script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-72162311-1', 'auto'); + ga('send', 'pageview'); + </script> + + </head> + + + <body class="mmc"> + + + <div class="container"> + <div class="row v2-main-banner"> + <a class="logo-cell" href="/"> + <img class="logo" src="/img/logo.png"> + </a> + <div class="tagline-cell"> + <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4> + </div> + <div class="news-cell"> + <div class="well"> + <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.0.0-b2</a> released (Feb 15, 2017) + </div> + </div> + </div> +</div> + + + + + + + + +<nav id="navbar" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="150" role="navigation"> + <div class="container"> + <!-- Collapsed navigation --> + <div class="navbar-header"> + <!-- Expander button --> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + + </div> + + <!-- Expanded navigation --> + <div class="navbar-collapse collapse"> + <!-- Main navigation --> + <ul class="nav navbar-nav navbar-right"> + <li + class="" +> + <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a> + </li> + <li + class="important" +> + <a href="/quick-start/">Quick Start</a> + </li> + <li + class="" +> + <a href="/about/">About</a> + </li> + <li + class="" +> + <a href="/talks/">Talks</a> + </li> + <li + class="active" +> + <a href="/latest/os/introduction">Documentation</a> + </li> + <li + class="" +> + <a href="/download/">Download</a> + </li> + <li + class="" +> + <a href="/community/">Community</a> + </li> + <li + class="" +> + <a href="/events/">Events</a> + </li> + </ul> + + <!-- Search, Navigation and Repo links --> + <ul class="nav navbar-nav navbar-right"> + + </ul> + </div> + </div> +</nav> + + + + <div class="container"> + + <div class="row"> + <div class="col-md-3 v2-sidebar sidebar-container"><div id="docSidebar" class="hidden-print" role="complementary"> + <div class="top"> + <div role="search"> + <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get"> + <div class="form-group"> + <input type="text" name="q" class="form-control" placeholder="Search documentation" /> + </div> + </form> + </div> + </div> + <ul class="toc-nav"> + <li class="doc-version"> +<select class="form-control" onchange="if (this.value) window.location.href=this.value"> + + <option + value="/develop/os/introduction" + selected="selected" + > + Version: develop (latest) + </option> + + <option + value="/v0_9_0/os/introduction" + + > + Version: 0.9.0 + </option> + +</select> +</li> + + + + + + + + + + + + + + + + + + + + + + <li ><a href="../../../introduction/">Mynewt Documentation</a> + + + <ul> + + + + + + + + <li ><a href="../../../get_started/get_started/">Basic Setup</a> + + + </li> + + + + + + <li > + <a href="../../../get_started/vocabulary/">Concepts</a> + </li> + + + + + + + + <li ><a href="../../../tutorials/tutorials/">Tutorials</a> + + + </li> + + + + + + + + <li ><a href="../../../os_user_guide/">OS User Guide</a> + + + <ul> + + + + + + + + <li ><a href="../../../core_os/mynewt_os/">OS Core</a> + + + </li> + + + + + + + + <li ><a href="../../../core_os/porting/port_os/">Porting to your Platform</a> + + + </li> + + + + + + + + <li ><a href="../../console/console/">Console</a> + + + </li> + + + + + + + + <li ><a href="../../shell/shell/">Shell</a> + + + </li> + + + + + + + + <li ><a href="../../split/split/">Split Images</a> + + + </li> + + + + + + + + <li ><a href="../../bootloader/bootloader/">Bootloader</a> + + + </li> + + + + + + + + <li><a href=" + + + ../../fs/fs/fs/ + +">File System</a> + + + </li> + + + + + + + + <li ><a href="../../hal/hal/">Hardware Abstraction Layer</a> + + + </li> + + + + + + + + <li ><a href="../driver/">Drivers</a> + + + <ul> + + + + + + + + <li><a href=" + ../flash/ +">Supported Drivers</a> + + + <ul> + + + + <li > + <a href="../flash/">flash</a> + </li> + + + + + + <li class="active"> + <a href="./">mmc</a> + </li> + + + + + + <li > + <a href="../../../../network/ble/ble_intro/">nimBLE</a> + </li> + + + + </ul> + + </li> + + + + </ul> + + </li> + + + + + + + + <li ><a href="../../testutil/testutil/">Test Utilities</a> + + + </li> + + + + + + + + <li ><a href="../../devmgmt/newtmgr/">Device Management with Newt Manager</a> + + + </li> + + + + + + + + <li ><a href="../../imgmgr/imgmgr/">Image Manager</a> + + + </li> + + + + + + <li > + <a href="../../baselibc/">Baselibc library</a> + </li> + + + + + + + + <li ><a href="../../elua/elua/">Embedded Lua</a> + + + </li> + + + + + + + + <li ><a href="../../json/json/">JSON</a> + + + </li> + + + + + + + + <li ><a href="../../fcb/fcb/">Flash Circular Buffer</a> + + + </li> + + + + + + + + <li ><a href="../../stats/stats/">Stats</a> + + + </li> + + + + + + + + <li ><a href="../../logs/logs/">Logs</a> + + + </li> + + + + + + + + <li ><a href="../../sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + + </ul> + + </li> + + + + + + + + <li><a href=" + ../../../../network/ble/ble_intro/ +">BLE User Guide</a> + + + </li> + + + + + + + + <li ><a href="../../../../newt/newt_intro/">Newt Tool Guide</a> + + + </li> + + + + + + + + <li ><a href="../../../../newtmgr/overview/">Newt Manager Guide</a> + + + </li> + + + + </ul> + + </li> + + + + + + + + <li><a href=" + ../../../../faq/how_to_edit_docs/ +">Appendix</a> + + + </li> + + + + </ul> +</div></div> + + <div class="col-md-9" role="main"> + <div class="doc-header"> + <div role="navigation" aria-label="breadcrumbs navigation"> + <ul class="wy-breadcrumbs pull-right"> + <li><a href="/develop/os/introduction">Docs</a></li> + + + + <li>» <a href="../driver/">Drivers</a></li> + + + + <li>» <a href="../flash/">Supported Drivers</a></li> + + + + <li>» mmc</li> + + + + </ul> +</div> + </div> + + <h2 id="mmc"><font color="#F2853F" style="font-size:24pt">mmc</font></h2> +<p>The MMC driver provides support for SPI based MMC/SDcard interfaces. It exports +a <code>disk_ops</code> struct that can be used by any FS. Currently only <code>fatfs</code> can run +over MMC.</p> +<h4 id="initialization">Initialization</h4> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span> <span style="color: #000000">mmc_init</span>(<span style="color: #A90D91">int</span> <span style="color: #000000">spi_num</span>, <span style="color: #A90D91">void</span> <span style="color: #000000">*spi_cfg</span>, <span style="color: #A90D91">int</span> <span style="color: #000000">ss_pin</span>) +</pre></div> + + +<p>Initializes the mmc driver to be used by a FS.</p> +<p>MMC uses the <code>hal_gpio</code> interface to access the SPI <code>ss_pin</code> and the <code>hal_spi</code> +interface for the communication with the card. <code>spi_cfg</code> must be a hw dependent +structure used by <code>hal_spi_init</code> to initialize the SPI subsystem.</p> +<h4 id="dependencies">Dependencies</h4> +<p>To include the <code>mmc</code> driver on a project, just include it as a dependency in your +pkg.yml:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">pkg.deps: + - hw/drivers/mmc +</pre></div> + + +<h4 id="returned-values">Returned values</h4> +<p>MMC functions return one of the following status codes:</p> +<table> +<thead> +<tr> +<th>Return code</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td>MMC_OK</td> +<td>Success.</td> +</tr> +<tr> +<td>MMC_CARD_ERROR</td> +<td>General failure on the card.</td> +</tr> +<tr> +<td>MMC_READ_ERROR</td> +<td>Error reading from the card.</td> +</tr> +<tr> +<td>MMC_WRITE_ERROR</td> +<td>Error writing to the card.</td> +</tr> +<tr> +<td>MMC_TIMEOUT</td> +<td>Timed out waiting for the execution of a command.</td> +</tr> +<tr> +<td>MMC_PARAM_ERROR</td> +<td>An invalid parameter was given to a function.</td> +</tr> +<tr> +<td>MMC_CRC_ERROR</td> +<td>CRC error reading card.</td> +</tr> +<tr> +<td>MMC_DEVICE_ERROR</td> +<td>Tried to use an invalid device.</td> +</tr> +<tr> +<td>MMC_RESPONSE_ERROR</td> +<td>A command received an invalid response.</td> +</tr> +<tr> +<td>MMC_VOLTAGE_ERROR</td> +<td>The interface doesn't support the requested voltage.</td> +</tr> +<tr> +<td>MMC_INVALID_COMMAND</td> +<td>The interface haven't accepted some command.</td> +</tr> +<tr> +<td>MMC_ERASE_ERROR</td> +<td>Error erasing the current card.</td> +</tr> +<tr> +<td>MMC_ADDR_ERROR</td> +<td>Tried to access an invalid address.</td> +</tr> +</tbody> +</table> +<h4 id="header-file">Header file</h4> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #633820">#include "mmc/mmc.h"</span> +</pre></div> + + +<h4 id="example"><a name="Example"></a>Example</h4> +<p>This example runs on the STM32F4-Discovery and prints out a listing of +the root directory on the currently installed card.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #177500">// NOTE: error handling removed for clarity!</span> + +<span style="color: #A90D91">struct</span> <span style="color: #000000">stm32f4_hal_spi_cfg</span> <span style="color: #000000">spi_cfg</span> <span style="color: #000000">=</span> { + .<span style="color: #000000">ss_pin</span> <span style="color: #000000">=</span> <span style="color: #000000">SPI_SS_PIN</span>, + .<span style="color: #000000">sck_pin</span> <span style="color: #000000">=</span> <span style="color: #000000">SPI_SCK_PIN</span>, + .<span style="color: #000000">miso_pin</span> <span style="color: #000000">=</span> <span style="color: #000000">SPI_MISO_PIN</span>, + .<span style="color: #000000">mosi_pin</span> <span style="color: #000000">=</span> <span style="color: #000000">SPI_MOSI_PIN</span>, + .<span style="color: #000000">irq_prio</span> <span style="color: #000000">=</span> <span style="color: #1C01CE">2</span> +}; + +<span style="color: #000000">mmc_init</span>(<span style="color: #1C01CE">0</span>, <span style="color: #000000">&spi_cfg</span>, <span style="color: #000000">spi_cfg</span>.<span style="color: #000000">ss_pin</span>); +<span style="color: #000000">disk_register</span>(<span style="color: #C41A16">"mmc0"</span>, <span style="color: #C41A16">"fatfs"</span>, <span style="color: #000000">&mmc_ops</span>); + +<span style="color: #000000">fs_opendir</span>(<span style="color: #C41A16">"mmc0:/"</span>, <span style="color: #000000">&dir</span>); + +<span style="color: #A90D91">while</span> (<span style="color: #1C01CE">1</span>) { + <span style="color: #000000">rc</span> <span style="color: #000000">=</span> <span style="color: #000000">fs_readdir</span>(<span style="color: #000000">dir</span>, <span style="color: #000000">&dirent</span>); + <span style="color: #A90D91">if</span> (<span style="color: #000000">rc</span> <span style="color: #000000">==</span> <span style="color: #000000">FS_ENOENT</span>) { + <span style="color: #A90D91">break</span>; + } + + <span style="color: #000000">fs_dirent_name</span>(<span style="color: #000000">dirent</span>, <span style="color: #A90D91">sizeof</span>(<span style="color: #000000">out_name</span>), <span style="color: #000000">out_name</span>, <span style="color: #000000">&u8_len</span>); + <span style="color: #000000">printf</span>(<span style="color: #C41A16">"%s\n"</span>, <span style="color: #000000">out_name</span>); +} + +<span style="color: #000000">fs_closedir</span>(<span style="color: #000000">dir</span>); +</pre></div> + + <div class="row"> + + + + +<ul class="nav nav-pills" style="margin-bottom: 10px"> + <li> + + <a href=../flash/> + <span class="fa fa-arrow-left"></span> + Previous: flash + </a> + + </li> + <li class="pull-right"> + + <a href=../../../../network/ble/ble_intro/> + Next: nimBLE + <span class="fa fa-arrow-right"></span> + </a> + + </li> +</ul> + </div> + <footer class="row"> + <div class="col-xs-12"> + + <p class="copyright">Apache Mynewt (incubating) is available under Apache License, version 2.0.</p> + + </div> + <div class="col-xs-12"> + <div class="logos"> + <img src="/img/asf_logo_wide_small.png" alt="Apache" title="Apache"> + <small class="footnote"> + MyNewt is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. + </small> + <img src="/img/egg-logo2.png" alt="Apache Incubator" title="Apache Incubator"> + </div> + </div> +</footer> + </div> + </div> + + + </div> + + <script src="../../../../js/jquery-1.10.2.min.js"></script> + <script src="../../../../js/bootstrap-3.0.3.min.js"></script> + <script src="../../../../js/highlight.pack.js"></script> + <script src="../../../../js/base.js"></script> + <script src="../../../../js/custom.js"></script> + + </body> +</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fatfs/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fatfs/index.html b/develop/os/modules/fs/fatfs/index.html new file mode 100644 index 0000000..b32c4f2 --- /dev/null +++ b/develop/os/modules/fs/fatfs/index.html @@ -0,0 +1,673 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + + <!-- This is broken by doc revisioning. + <link rel="canonical" href="http://mynewt.apache.org/os/modules/fs/fatfs/"> --> + <link rel="shortcut icon" href="../../../../img/favicon.ico"> + + <title>FAT File System - Apache Mynewt</title> + + <link href="../../../../css/bootstrap-3.0.3.min.css" rel="stylesheet"> + <link rel="stylesheet" href="../../../../css/highlight.css"> + <link href="../../../../css/base.css" rel="stylesheet"> + <link href="../../../../css/custom.css" rel="stylesheet"> + <link href="../../../../css/v2.css" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet"> + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> + <link href="../../../../extra.css" rel="stylesheet"> + + <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> + <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> + <![endif]--> + + + <script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-72162311-1', 'auto'); + ga('send', 'pageview'); + </script> + + </head> + + + <body class="FAT File System"> + + + <div class="container"> + <div class="row v2-main-banner"> + <a class="logo-cell" href="/"> + <img class="logo" src="/img/logo.png"> + </a> + <div class="tagline-cell"> + <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4> + </div> + <div class="news-cell"> + <div class="well"> + <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.0.0-b2</a> released (Feb 15, 2017) + </div> + </div> + </div> +</div> + + + + + + + + +<nav id="navbar" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="150" role="navigation"> + <div class="container"> + <!-- Collapsed navigation --> + <div class="navbar-header"> + <!-- Expander button --> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + + </div> + + <!-- Expanded navigation --> + <div class="navbar-collapse collapse"> + <!-- Main navigation --> + <ul class="nav navbar-nav navbar-right"> + <li + class="" +> + <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a> + </li> + <li + class="important" +> + <a href="/quick-start/">Quick Start</a> + </li> + <li + class="" +> + <a href="/about/">About</a> + </li> + <li + class="" +> + <a href="/talks/">Talks</a> + </li> + <li + class="active" +> + <a href="/latest/os/introduction">Documentation</a> + </li> + <li + class="" +> + <a href="/download/">Download</a> + </li> + <li + class="" +> + <a href="/community/">Community</a> + </li> + <li + class="" +> + <a href="/events/">Events</a> + </li> + </ul> + + <!-- Search, Navigation and Repo links --> + <ul class="nav navbar-nav navbar-right"> + + </ul> + </div> + </div> +</nav> + + + + <div class="container"> + + <div class="row"> + <div class="col-md-3 v2-sidebar sidebar-container"><div id="docSidebar" class="hidden-print" role="complementary"> + <div class="top"> + <div role="search"> + <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get"> + <div class="form-group"> + <input type="text" name="q" class="form-control" placeholder="Search documentation" /> + </div> + </form> + </div> + </div> + <ul class="toc-nav"> + <li class="doc-version"> +<select class="form-control" onchange="if (this.value) window.location.href=this.value"> + + <option + value="/develop/os/introduction" + selected="selected" + > + Version: develop (latest) + </option> + + <option + value="/v0_9_0/os/introduction" + + > + Version: 0.9.0 + </option> + +</select> +</li> + + + + + + + + + + + + + + + + + + + + + + <li ><a href="../../../introduction/">Mynewt Documentation</a> + + + <ul> + + + + + + + + <li ><a href="../../../get_started/get_started/">Basic Setup</a> + + + </li> + + + + + + <li > + <a href="../../../get_started/vocabulary/">Concepts</a> + </li> + + + + + + + + <li ><a href="../../../tutorials/tutorials/">Tutorials</a> + + + </li> + + + + + + + + <li ><a href="../../../os_user_guide/">OS User Guide</a> + + + <ul> + + + + + + + + <li ><a href="../../../core_os/mynewt_os/">OS Core</a> + + + </li> + + + + + + + + <li ><a href="../../../core_os/porting/port_os/">Porting to your Platform</a> + + + </li> + + + + + + + + <li ><a href="../../console/console/">Console</a> + + + </li> + + + + + + + + <li ><a href="../../shell/shell/">Shell</a> + + + </li> + + + + + + + + <li ><a href="../../split/split/">Split Images</a> + + + </li> + + + + + + + + <li ><a href="../../bootloader/bootloader/">Bootloader</a> + + + </li> + + + + + + + + <li><a href=" + + + ../fs/fs/ + +">File System</a> + + + <ul> + + + + + + <li ><a href="../fs/fs/">File System Abstraction</a> + + + </li> + + + + + + <li class="active"> + <a href="./">FAT File System</a> + </li> + + + + + + + + <li ><a href="../nffs/nffs/">Newtron Flash File System</a> + + + </li> + + + + + + <li > + <a href="../otherfs/">Other File Systems</a> + </li> + + + + </ul> + + </li> + + + + + + + + <li ><a href="../../hal/hal/">Hardware Abstraction Layer</a> + + + </li> + + + + + + + + <li ><a href="../../drivers/driver/">Drivers</a> + + + </li> + + + + + + + + <li ><a href="../../testutil/testutil/">Test Utilities</a> + + + </li> + + + + + + + + <li ><a href="../../devmgmt/newtmgr/">Device Management with Newt Manager</a> + + + </li> + + + + + + + + <li ><a href="../../imgmgr/imgmgr/">Image Manager</a> + + + </li> + + + + + + <li > + <a href="../../baselibc/">Baselibc library</a> + </li> + + + + + + + + <li ><a href="../../elua/elua/">Embedded Lua</a> + + + </li> + + + + + + + + <li ><a href="../../json/json/">JSON</a> + + + </li> + + + + + + + + <li ><a href="../../fcb/fcb/">Flash Circular Buffer</a> + + + </li> + + + + + + + + <li ><a href="../../stats/stats/">Stats</a> + + + </li> + + + + + + + + <li ><a href="../../logs/logs/">Logs</a> + + + </li> + + + + + + + + <li ><a href="../../sysinitconfig/sysinitconfig/">System Configuration And Initialization</a> + + + </li> + + + + </ul> + + </li> + + + + + + + + <li><a href=" + ../../../../network/ble/ble_intro/ +">BLE User Guide</a> + + + </li> + + + + + + + + <li ><a href="../../../../newt/newt_intro/">Newt Tool Guide</a> + + + </li> + + + + + + + + <li ><a href="../../../../newtmgr/overview/">Newt Manager Guide</a> + + + </li> + + + + </ul> + + </li> + + + + + + + + <li><a href=" + ../../../../faq/how_to_edit_docs/ +">Appendix</a> + + + </li> + + + + </ul> +</div></div> + + <div class="col-md-9" role="main"> + <div class="doc-header"> + <div role="navigation" aria-label="breadcrumbs navigation"> + <ul class="wy-breadcrumbs pull-right"> + <li><a href="/develop/os/introduction">Docs</a></li> + + + + <li>» <a href="../../../os_user_guide/">OS User Guide</a></li> + + + + <li>» File System</li> + + + + <li>» FAT File System</li> + + + + </ul> +</div> + </div> + + <h1 id="the-fat-file-system">The FAT File System</h1> +<p>Mynewt provides an implementation of the FAT filesystem which is currently +supported on MMC/SD cards.</p> +<h3 id="description">Description</h3> +<blockquote> +<p>File Allocation Table (FAT) is a computer file system architecture and a family +of industry-standard file systems utilizing it. The FAT file system is a legacy +file system which is simple and robust. It offers good performance even in +lightweight implementations, but cannot deliver the same performance, reliability +and scalability as some modern file systems.</p> +</blockquote> +<h3 id="configuration">Configuration</h3> +<p><code>fatfs</code> configuration can be tweaked by editing <code>fs/fatfs/include/fatfs/ffconf.h</code>. +The current configuraton was chosen to minimize memory use and some options address +limitations existing in the OS:</p> +<ul> +<li>Write support is enabled by default (can be disabled to minimize memory use).</li> +<li>Long filename (up to 255) support is disabled.</li> +<li>When writing files, time/dates are not persisted due to current lack of a + standard <code>hal_rtc</code> interface.</li> +<li>No unicode support. Vanilla config uses standard US codepage 437.</li> +<li>Formatting of new volumes is disabled.</li> +<li>Default number of volumes is configured to 1.</li> +</ul> +<h3 id="api">API</h3> +<p>To include <code>fatfs</code> on a project just include it as a dependency in your +project:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">pkg.deps: + - fs/fatfs +</pre></div> + + +<p>It can now be used through the standard file system abstraction functions as +described in <a href="../../../../os/modules/fs/fs/fs#API">FS API</a>.</p> +<h4 id="example">Example</h4> +<p>An example of using <code>fatfs</code> on a MMC card is provided on the +<a href="../../../../os/modules/drivers/mmc#Example">MMC</a> documentation.</p> + + <div class="row"> + + + + +<ul class="nav nav-pills" style="margin-bottom: 10px"> + <li> + + <a href=../fs/fsutil_write_file/> + <span class="fa fa-arrow-left"></span> + Previous: fsutil_write_file + </a> + + </li> + <li class="pull-right"> + + <a href=../nffs/nffs/> + Next: Newtron Flash File System + <span class="fa fa-arrow-right"></span> + </a> + + </li> +</ul> + </div> + <footer class="row"> + <div class="col-xs-12"> + + <p class="copyright">Apache Mynewt (incubating) is available under Apache License, version 2.0.</p> + + </div> + <div class="col-xs-12"> + <div class="logos"> + <img src="/img/asf_logo_wide_small.png" alt="Apache" title="Apache"> + <small class="footnote"> + MyNewt is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. + </small> + <img src="/img/egg-logo2.png" alt="Apache Incubator" title="Apache Incubator"> + </div> + </div> +</footer> + </div> + </div> + + + </div> + + <script src="../../../../js/jquery-1.10.2.min.js"></script> + <script src="../../../../js/bootstrap-3.0.3.min.js"></script> + <script src="../../../../js/highlight.pack.js"></script> + <script src="../../../../js/base.js"></script> + <script src="../../../../js/custom.js"></script> + + </body> +</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs/index.html b/develop/os/modules/fs/fs/fs/index.html index 678544f..bc3ca2b 100644 --- a/develop/os/modules/fs/fs/fs/index.html +++ b/develop/os/modules/fs/fs/fs/index.html @@ -372,6 +372,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> @@ -651,6 +659,40 @@ pkg.deps: <p>The <code>libs/imgmgr</code> package uses the <code>fs/fs</code> API for all file system operations.</p> +<h3 id="support-for-multiple-filesystems">Support for multiple filesystems</h3> +<p>When using a single filesystem/disk, it is valid to provide paths in the standard +unix way, eg, <code>/<dir-name>/<file-name></code>. When trying to run more than one filesystem +or a single filesystem in multiple devices simultaneosly, an extra name has to be +given to the disk that is being used. The abstraction for that was added as the +<code>fs/disk</code> package which is a dependency of <code>fs/fs</code>. It adds the following extra +user function:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span> <span style="color: #000000">disk_register</span>(<span style="color: #A90D91">const</span> <span style="color: #A90D91">char</span> <span style="color: #000000">*disk_name</span>, <span style="color: #A90D91">const</span> <span style="color: #A90D91">char</span> <span style="color: #000000">*fs_name</span>, <span style="color: #A90D91">struct</span> <span style="color: #000000">disk_ops</span> <span style="color: #000000">*dops</span>) +</pre></div> + + +<p>As an example os usage:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #000000">disk_register</span>(<span style="color: #C41A16">"mmc0"</span>, <span style="color: #C41A16">"fatfs"</span>, <span style="color: #000000">&mmc_ops</span>); +<span style="color: #000000">disk_register</span>(<span style="color: #C41A16">"flash0"</span>, <span style="color: #C41A16">"nffs"</span>, <span style="color: #A90D91">NULL</span>); +</pre></div> + + +<p>This registers the name <code>mmc0</code> to use <code>fatfs</code> as the filesystem and <code>mmc_ops</code> for +the low-level disk driver and also registers <code>flash0</code> to use <code>nffs</code>. <code>nffs</code> is +currently strongly bound to the <code>hal_flash</code> interface, ignoring any other possible +<code>disk_ops</code> given.</p> +<h4 id="struct-disk_ops">struct disk_ops</h4> +<p>To support a new low-level disk interface, the <code>struct disk_ops</code> interface must +be implemented by the low-level driver. Currently only <code>read</code> and <code>write</code> are +effectively used (by <code>fatfs</code>).</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">struct</span> <span style="color: #000000">disk_ops</span> { + <span style="color: #A90D91">int</span> (<span style="color: #000000">*read</span>)(<span style="color: #A90D91">uint8_t</span>, <span style="color: #A90D91">uint32_t</span>, <span style="color: #A90D91">void</span> <span style="color: #000000">*</span>, <span style="color: #A90D91">uint32_t</span>); + <span style="color: #A90D91">int</span> (<span style="color: #000000">*write</span>)(<span style="color: #A90D91">uint8_t</span>, <span style="color: #A90D91">uint32_t</span>, <span style="color: #A90D91">const</span> <span style="color: #A90D91">void</span> <span style="color: #000000">*</span>, <span style="color: #A90D91">uint32_t</span>); + <span style="color: #A90D91">int</span> (<span style="color: #000000">*ioctl</span>)(<span style="color: #A90D91">uint8_t</span>, <span style="color: #A90D91">uint32_t</span>, <span style="color: #A90D91">void</span> <span style="color: #000000">*</span>); + <span style="color: #000000">SLIST_ENTRY</span>(<span style="color: #000000">disk_ops</span>) <span style="color: #000000">sc_next</span>; +} +</pre></div> + + <h3 id="thread-safety">Thread Safety</h3> <p>All <code>fs/fs</code> functions are thread safe.</p> <h3 id="header-files">Header Files</h3> @@ -667,7 +709,7 @@ pkg.deps: </pre></div> -<h3 id="api">API</h3> +<h3 id="api"><a name="API"></a>API</h3> <p>Functions in <code>fs/fs</code> that indicate success or failure do so with the following set of return codes:</p> <ul> <li><a href="../fs_return_codes/">Return Codes</a></li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_close/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_close/index.html b/develop/os/modules/fs/fs/fs_close/index.html index fd21454..a1fc0ed 100644 --- a/develop/os/modules/fs/fs/fs_close/index.html +++ b/develop/os/modules/fs/fs/fs_close/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_closedir/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_closedir/index.html b/develop/os/modules/fs/fs/fs_closedir/index.html index 648d2a8..3a11077 100644 --- a/develop/os/modules/fs/fs/fs_closedir/index.html +++ b/develop/os/modules/fs/fs/fs_closedir/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_dirent_is_dir/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_dirent_is_dir/index.html b/develop/os/modules/fs/fs/fs_dirent_is_dir/index.html index 140c738..7efa6ee 100644 --- a/develop/os/modules/fs/fs/fs_dirent_is_dir/index.html +++ b/develop/os/modules/fs/fs/fs_dirent_is_dir/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_dirent_name/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_dirent_name/index.html b/develop/os/modules/fs/fs/fs_dirent_name/index.html index 3b3419a..c51b350 100644 --- a/develop/os/modules/fs/fs/fs_dirent_name/index.html +++ b/develop/os/modules/fs/fs/fs_dirent_name/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_filelen/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_filelen/index.html b/develop/os/modules/fs/fs/fs_filelen/index.html index 2fe8112..1bc09c5 100644 --- a/develop/os/modules/fs/fs/fs_filelen/index.html +++ b/develop/os/modules/fs/fs/fs_filelen/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_getpos/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_getpos/index.html b/develop/os/modules/fs/fs/fs_getpos/index.html index adc89cb..70d8858 100644 --- a/develop/os/modules/fs/fs/fs_getpos/index.html +++ b/develop/os/modules/fs/fs/fs_getpos/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_mkdir/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_mkdir/index.html b/develop/os/modules/fs/fs/fs_mkdir/index.html index d670d22..9f9e57c 100644 --- a/develop/os/modules/fs/fs/fs_mkdir/index.html +++ b/develop/os/modules/fs/fs/fs_mkdir/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_open/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_open/index.html b/develop/os/modules/fs/fs/fs_open/index.html index dd5f5ba..e56886c 100644 --- a/develop/os/modules/fs/fs/fs_open/index.html +++ b/develop/os/modules/fs/fs/fs_open/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_opendir/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_opendir/index.html b/develop/os/modules/fs/fs/fs_opendir/index.html index 1cdbe50..48c3d92 100644 --- a/develop/os/modules/fs/fs/fs_opendir/index.html +++ b/develop/os/modules/fs/fs/fs_opendir/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_ops/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_ops/index.html b/develop/os/modules/fs/fs/fs_ops/index.html index cb51c0d..78dd942 100644 --- a/develop/os/modules/fs/fs/fs_ops/index.html +++ b/develop/os/modules/fs/fs/fs_ops/index.html @@ -384,6 +384,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_read/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_read/index.html b/develop/os/modules/fs/fs/fs_read/index.html index d265289..77e6702 100644 --- a/develop/os/modules/fs/fs/fs_read/index.html +++ b/develop/os/modules/fs/fs/fs_read/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_readdir/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_readdir/index.html b/develop/os/modules/fs/fs/fs_readdir/index.html index 152840b..6738a1a 100644 --- a/develop/os/modules/fs/fs/fs_readdir/index.html +++ b/develop/os/modules/fs/fs/fs_readdir/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_register/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_register/index.html b/develop/os/modules/fs/fs/fs_register/index.html index 365cc23..50a9d4a 100644 --- a/develop/os/modules/fs/fs/fs_register/index.html +++ b/develop/os/modules/fs/fs/fs_register/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_rename/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_rename/index.html b/develop/os/modules/fs/fs/fs_rename/index.html index 17b11c0..8134320 100644 --- a/develop/os/modules/fs/fs/fs_rename/index.html +++ b/develop/os/modules/fs/fs/fs_rename/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_return_codes/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_return_codes/index.html b/develop/os/modules/fs/fs/fs_return_codes/index.html index 21c1839..0bb7bb9 100644 --- a/develop/os/modules/fs/fs/fs_return_codes/index.html +++ b/develop/os/modules/fs/fs/fs_return_codes/index.html @@ -372,6 +372,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_seek/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_seek/index.html b/develop/os/modules/fs/fs/fs_seek/index.html index bf2e989..ca7f802 100644 --- a/develop/os/modules/fs/fs/fs_seek/index.html +++ b/develop/os/modules/fs/fs/fs_seek/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_unlink/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_unlink/index.html b/develop/os/modules/fs/fs/fs_unlink/index.html index 30807c4..de330dc 100644 --- a/develop/os/modules/fs/fs/fs_unlink/index.html +++ b/develop/os/modules/fs/fs/fs_unlink/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fs_write/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fs_write/index.html b/develop/os/modules/fs/fs/fs_write/index.html index 1ced861..16c81eb 100644 --- a/develop/os/modules/fs/fs/fs_write/index.html +++ b/develop/os/modules/fs/fs/fs_write/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fsutil_read_file/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fsutil_read_file/index.html b/develop/os/modules/fs/fs/fsutil_read_file/index.html index 91b28ab..170e40e 100644 --- a/develop/os/modules/fs/fs/fsutil_read_file/index.html +++ b/develop/os/modules/fs/fs/fsutil_read_file/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/fs/fsutil_write_file/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/fs/fsutil_write_file/index.html b/develop/os/modules/fs/fs/fsutil_write_file/index.html index 3b562f0..305d5a3 100644 --- a/develop/os/modules/fs/fs/fsutil_write_file/index.html +++ b/develop/os/modules/fs/fs/fsutil_write_file/index.html @@ -520,6 +520,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../../nffs/nffs/">Newtron Flash File System</a> @@ -837,8 +845,8 @@ </li> <li class="pull-right"> - <a href=../../nffs/nffs/> - Next: Newtron Flash File System + <a href=../../fatfs/> + Next: FAT File System <span class="fa fa-arrow-right"></span> </a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/nffs/nffs/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/nffs/nffs/index.html b/develop/os/modules/fs/nffs/nffs/index.html index 9e9cb59..9ef1cfa 100644 --- a/develop/os/modules/fs/nffs/nffs/index.html +++ b/develop/os/modules/fs/nffs/nffs/index.html @@ -332,6 +332,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li class="active"><a href="./">Newtron Flash File System</a> @@ -720,9 +728,9 @@ <ul class="nav nav-pills" style="margin-bottom: 10px"> <li> - <a href=../../fs/fsutil_write_file/> + <a href=../../fatfs/> <span class="fa fa-arrow-left"></span> - Previous: fsutil_write_file + Previous: FAT File System </a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/nffs/nffs_area_desc/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/nffs/nffs_area_desc/index.html b/develop/os/modules/fs/nffs/nffs_area_desc/index.html index 494e01a..b60744a 100644 --- a/develop/os/modules/fs/nffs/nffs_area_desc/index.html +++ b/develop/os/modules/fs/nffs/nffs_area_desc/index.html @@ -332,6 +332,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/nffs/nffs_config/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/nffs/nffs_config/index.html b/develop/os/modules/fs/nffs/nffs_config/index.html index 12a280b..d3e6fa9 100644 --- a/develop/os/modules/fs/nffs/nffs_config/index.html +++ b/develop/os/modules/fs/nffs/nffs_config/index.html @@ -332,6 +332,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/nffs/nffs_detect/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/nffs/nffs_detect/index.html b/develop/os/modules/fs/nffs/nffs_detect/index.html index f33b4f4..bb6a846 100644 --- a/develop/os/modules/fs/nffs/nffs_detect/index.html +++ b/develop/os/modules/fs/nffs/nffs_detect/index.html @@ -332,6 +332,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/nffs/nffs_format/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/nffs/nffs_format/index.html b/develop/os/modules/fs/nffs/nffs_format/index.html index c86fce4..e529859 100644 --- a/develop/os/modules/fs/nffs/nffs_format/index.html +++ b/develop/os/modules/fs/nffs/nffs_format/index.html @@ -332,6 +332,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/nffs/nffs_init/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/nffs/nffs_init/index.html b/develop/os/modules/fs/nffs/nffs_init/index.html index 856135e..51511d2 100644 --- a/develop/os/modules/fs/nffs/nffs_init/index.html +++ b/develop/os/modules/fs/nffs/nffs_init/index.html @@ -332,6 +332,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../nffs/">Newtron Flash File System</a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/86a27381/develop/os/modules/fs/nffs/nffs_internals/index.html ---------------------------------------------------------------------- diff --git a/develop/os/modules/fs/nffs/nffs_internals/index.html b/develop/os/modules/fs/nffs/nffs_internals/index.html index e8f6b67..6c6a966 100644 --- a/develop/os/modules/fs/nffs/nffs_internals/index.html +++ b/develop/os/modules/fs/nffs/nffs_internals/index.html @@ -332,6 +332,14 @@ + <li > + <a href="../../fatfs/">FAT File System</a> + </li> + + + + + <li ><a href="../nffs/">Newtron Flash File System</a>
