You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by bt...@apache.org on 2020/01/26 19:32:33 UTC
[incubator-nuttx-website] branch asf-site updated: Publishing from
3f1569275a9d1307b2202028163a2146ab98051a
This is an automated email from the ASF dual-hosted git repository.
btashton pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 6b33a2a Publishing from 3f1569275a9d1307b2202028163a2146ab98051a
6b33a2a is described below
commit 6b33a2a3eba9faecb3c0023e21fba2a744b389cb
Author: Brennan Ashton <ba...@brennanashton.com>
AuthorDate: Sun Jan 26 11:31:46 2020 -0800
Publishing from 3f1569275a9d1307b2202028163a2146ab98051a
---
content/download/index.html | 278 +++++--
content/feed.xml | 4 +-
content/helpers/syncbbrelease.py | 125 +++
content/releases/7.13/index.html | 424 ++++++++++
content/releases/7.14/index.html | 403 ++++++++++
content/releases/7.15/index.html | 415 ++++++++++
content/releases/7.16/index.html | 516 ++++++++++++
content/releases/7.17/index.html | 843 ++++++++++++++++++++
content/releases/7.18/index.html | 666 ++++++++++++++++
content/releases/7.19/index.html | 938 ++++++++++++++++++++++
content/releases/7.20/index.html | 608 +++++++++++++++
content/releases/7.21/index.html | 1134 +++++++++++++++++++++++++++
content/releases/7.22/index.html | 1213 +++++++++++++++++++++++++++++
content/releases/7.23/index.html | 1250 +++++++++++++++++++++++++++++
content/releases/7.24/index.html | 892 +++++++++++++++++++++
content/releases/7.25/index.html | 916 ++++++++++++++++++++++
content/releases/7.26/index.html | 1602 ++++++++++++++++++++++++++++++++++++++
content/releases/7.27/index.html | 1145 +++++++++++++++++++++++++++
content/releases/7.28/index.html | 1247 +++++++++++++++++++++++++++++
content/releases/7.29/index.html | 1242 +++++++++++++++++++++++++++++
content/releases/7.30/index.html | 756 ++++++++++++++++++
content/releases/7.31/index.html | 1142 +++++++++++++++++++++++++++
content/releases/8.1/index.html | 1305 +++++++++++++++++++++++++++++++
content/releases/8.2/index.html | 1119 ++++++++++++++++++++++++++
24 files changed, 20134 insertions(+), 49 deletions(-)
diff --git a/content/download/index.html b/content/download/index.html
index bbc8d6d..3efabc7 100644
--- a/content/download/index.html
+++ b/content/download/index.html
@@ -91,58 +91,242 @@
<h2 id="apache-nuttx-downloads">Apache NuttX Downloads</h2>
-<p>Apache NuttX is released as a source artifact, and also through Maven.</p>
+<p>Apache NuttX is released as two source artifacts one for the OS
+and another for the integrated Apps.</p>
<h3 id="release-artifacts">Release Artifacts</h3>
-<table class="table table-hover sortable">
- <thead>
- <tr>
- <th><b>Name</b></th>
- <th><b>Archive</b></th>
- <th><b>SHA-512</b></th>
- <th><b>Signature</b></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>Apache NuttX 8.2 (tar.gz)</td>
- <td><a href="http://www.apache.org/dyn/closer.lua/incubator/nuttx/8.2/nuxxt/nuxxt-8.2-bin.tar.gz">tar.gz</a></td>
- <td><a href="http://www.apache.org/dist/incubator/nuttx/8.2/nuxxt/nuxxt-8.2-bin.tar.gz.sha512">SHA-512</a></td>
- <td><a href="http://www.apache.org/dist/incubator/nuttx/8.2/nuxxt/nuxxt-8.2-bin.tar.gz.asc">ASC</a></td>
- </tr>
- <tr>
- <td>Apache NuttX 8.2 (source tar.gz)</td>
- <td><a href="http://www.apache.org/dyn/closer.lua/incubator/nuttx/8.2/nuxxt/nuxxt-8.2-src.tar.gz">tar.gz</a></td>
- <td><a href="http://www.apache.org/dist/incubator/nuttx/8.2/nuxxt/nuxxt-8.2-src.tar.gz.sha512">SHA-512</a></td>
- <td><a href="http://www.apache.org/dist/incubator/nuttx/8.2/nuxxt/nuxxt-8.2-src.tar.gz.asc">ASC</a></td>
- </tr>
- <!--tr>
- <td>Release Notes</td>
- <td><a href="/releases/spark/8.2/release-notes">8.2</a></td>
- <td></td>
- <td></td>
- <td></td>
- </tr-->
- </tbody>
-</table>
-
-<p>Choose a source distribution in either <em>tar</em> or <em>zip</em> format,
-and <a href="http://www.apache.org/dyn/closer.cgi#verify">verify</a>
-using the corresponding <em>pgp</em> signature (using the committer file in
-<a href="http://www.apache.org/dist/incubator/nuttx/KEYS">KEYS</a>).
-If you cannot do that, the <em>md5</em> hash file may be used to check that the
-download has completed OK.</p>
-
-<p>For fast downloads, current source distributions are hosted on mirror servers;
-older source distributions are in the
-<a href="http://archive.apache.org/dist/incubator/nuttx/">archive</a>.
-If a download from a mirror fails, retry, and the second download will likely
-succeed.</p>
+<div class="alert alert-warning">
+No official Apache releases have been made yet!
+</div>
-<p>For security, hash and signature files are always hosted at
-<a href="https://www.apache.org/dist">Apache</a>.</p>
+<div class="alert alert-warning">
+ All releases below are from prior to Apache NuttX's acceptance into the
+ Incubator. They are not Apache Software Foundation releases, and are
+ licensed primarily under the
+ <a href="https://opensource.org/licenses/BSD-3-Clause">BSD-3-Clause license </a>.
+ See COPYING file for more details on a specific releases licensing.
+</div>
+<table class="table">
+ <tr>
+ <th class="col-md-1">Version</th>
+ <th>Summary</th>
+ <th class="col-md-1 text-right">Archive</th>
+ <th class="col-md-2 text-right">Release Date</th>
+ </tr>
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/8.2/">8.2</a></td>
+ <td style="vertical-align: middle;">Release v8.2
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-8.2.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-8.2.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2019-11-16</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/8.1/">8.1</a></td>
+ <td style="vertical-align: middle;">Release v8.1
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-8.1.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-8.1.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2019-09-25</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.31/">7.31</a></td>
+ <td style="vertical-align: middle;">Release v7.31
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.31.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.31.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2019-07-27</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.30/">7.3</a></td>
+ <td style="vertical-align: middle;">Release v7.30
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.30.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.30.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2019-05-23</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.29/">7.29</a></td>
+ <td style="vertical-align: middle;">Release v7.29
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.29.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.29.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2019-04-26</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.28/">7.28</a></td>
+ <td style="vertical-align: middle;">Release v7.28
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.28.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.28.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2019-02-25</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.27/">7.27</a></td>
+ <td style="vertical-align: middle;">Release v7.27
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.27.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.27.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2019-01-08</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.26/">7.26</a></td>
+ <td style="vertical-align: middle;">Release v7.26
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.26.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.26.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2019-01-08</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.25/">7.25</a></td>
+ <td style="vertical-align: middle;">Release v7.25
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.25.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.25.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2018-06-28</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.24/">7.24</a></td>
+ <td style="vertical-align: middle;">Release v7.24
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.24.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.24.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2018-03-04</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.23/">7.23</a></td>
+ <td style="vertical-align: middle;">Release v7.23
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.23.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.23.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2018-01-01</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.22/">7.22</a></td>
+ <td style="vertical-align: middle;">Release v7.22
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.22.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.22.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2017-09-20</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.21/">7.21</a></td>
+ <td style="vertical-align: middle;">Release v7.21
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.21.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.21.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2017-06-16</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.20/">7.2</a></td>
+ <td style="vertical-align: middle;">Release v7.20
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.20.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.20.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2017-03-09</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.19/">7.19</a></td>
+ <td style="vertical-align: middle;">Release v7.19
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.19.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.19.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2017-02-02</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.18/">7.18</a></td>
+ <td style="vertical-align: middle;">Release v7.18
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.18.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.18.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2016-10-08</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.17/">7.17</a></td>
+ <td style="vertical-align: middle;">Release v7.17
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.17.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.17.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2016-08-27</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.16/">7.16</a></td>
+ <td style="vertical-align: middle;">Release v7.16
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.16.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.16.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2016-06-01</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.15/">7.15</a></td>
+ <td style="vertical-align: middle;">Release v7.15
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.15.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.15.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2016-03-26</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.14/">7.14</a></td>
+ <td style="vertical-align: middle;">Release v7.14
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.14.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.14.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2016-01-28</td>
+ </tr>
+
+
+
+ <tr>
+ <td style="vertical-align: middle; line-height: 2.5em;" class="col-md-1"><a href="/releases/7.13/">7.13</a></td>
+ <td style="vertical-align: middle;">Release v7.13
+</td>
+ <td style="vertical-align: middle;" class="col-md-1 text-right"><a href="https://bitbucket.org/nuttx/nuttx/downloads/nuttx-7.13.tar.gz">OS</a>/<a href="https://bitbucket.org/nuttx/nuttx/downloads/apps-7.13.tar.gz">Apps</a></td>
+ <td style="vertical-align: middle;" class="col-md-2 text-right">2016-01-28</td>
+ </tr>
+
+
+</table>
</div>
</div>
diff --git a/content/feed.xml b/content/feed.xml
index cf7ca2f..8356e4b 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -5,8 +5,8 @@
<description></description>
<link>/</link>
<atom:link href="/feed.xml" rel="self" type="application/rss+xml"/>
- <pubDate>Sun, 05 Jan 2020 19:56:54 -0800</pubDate>
- <lastBuildDate>Sun, 05 Jan 2020 19:56:54 -0800</lastBuildDate>
+ <pubDate>Sun, 26 Jan 2020 11:31:45 -0800</pubDate>
+ <lastBuildDate>Sun, 26 Jan 2020 11:31:45 -0800</lastBuildDate>
<generator>Jekyll v3.8.5</generator>
<item>
diff --git a/content/helpers/syncbbrelease.py b/content/helpers/syncbbrelease.py
new file mode 100644
index 0000000..21b9b25
--- /dev/null
+++ b/content/helpers/syncbbrelease.py
@@ -0,0 +1,125 @@
+'''
+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.
+'''
+
+import requests
+
+RELEASES = [
+ ('7.13', '2016-01-28'),
+ ('7.14', '2016-01-28'),
+ ('7.15', '2016-03-26'),
+ ('7.16', '2016-06-01'),
+ ('7.17', '2016-08-27'),
+ ('7.18', '2016-10-08'),
+ ('7.19', '2017-02-02'),
+ ('7.20', '2017-03-09'),
+ ('7.21', '2017-06-16'),
+ ('7.22', '2017-09-20'),
+ ('7.23', '2018-01-01'),
+ ('7.24', '2018-03-04'),
+ ('7.25', '2018-06-28'),
+ ('7.26', '2019-01-08'),
+ ('7.27', '2019-01-08'),
+ ('7.28', '2019-02-25'),
+ ('7.29', '2019-04-26'),
+ ('7.30', '2019-05-23'),
+ ('7.31', '2019-07-27'),
+ ('8.1', '2019-09-25'),
+ ('8.2', '2019-11-16'),
+]
+
+BB_DL_BASE_URL = 'https://bitbucket.org/nuttx/nuttx/downloads/'
+
+RELEASE_HEADER = '''---
+layout: page
+released: true
+apache: false
+title: {version}
+date: {date}
+summary: >
+ {summary}
+
+artifact-root: "{artifactroot}"
+checksum-root: "{checksumroot}"
+key-file: "{keyfile}"
+
+source-os-dist:
+ - "{osfile}"
+source-app-dist:
+ - "{appsfile}"
+
+---
+'''
+
+SITE_HEADER = '''
+<!--
+{% comment %}
+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.
+{% endcomment %}
+-->
+
+{% include JB/setup %}
+'''
+
+
+def fetch_readme(release):
+ readme_fn = 'nuttx-' + release.replace('.', '_') + '-README.txt'
+ readme = requests.get(BB_DL_BASE_URL+readme_fn)
+ readme.raise_for_status()
+ body = readme.text
+ return body
+
+
+def format_release(release):
+ release_dict = {
+ 'version': release[0],
+ 'summary': f'Release v{release[0]}',
+ 'date': release[1],
+ 'artifactroot': BB_DL_BASE_URL,
+ 'checksumroot': '',
+ 'keyfile': '',
+ 'osfile': f'nuttx-{release[0]}.tar.gz',
+ 'appsfile': f'apps-{release[0]}.tar.gz',
+ }
+ header = RELEASE_HEADER.format(**release_dict)
+ readme = fetch_readme(release[0])
+ page = header+'\n'+SITE_HEADER+'\n'+readme
+ return page
+
+
+def main():
+ for release in RELEASES:
+ page = format_release(release)
+ with open(f'output/{release[0]}.md', 'w') as rpage:
+ rpage.write(page)
+
+if __name__ == '__main__':
+ main()
diff --git a/content/releases/7.13/index.html b/content/releases/7.13/index.html
new file mode 100644
index 0000000..d646d0d
--- /dev/null
+++ b/content/releases/7.13/index.html
@@ -0,0 +1,424 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>7.13</title>
+
+ <meta name="author" content="">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le styles -->
+ <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+ -->
+
+ </head>
+
+ <body>
+
+ <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <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>
+ <a class="navbar-brand" href="/">
+ <img src="/assets/themes/apache/img/logo.png" width="30">
+ Apache NuttX
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav navbar-right">
+ <li id="community">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
+ <ul class="dropdown-menu dropdown-left">
+ <li><a href="/community">Get Involved</a></li>
+ <li><a href="/community-members">Who we are</a></li>
+ </ul>
+ </li>
+ <li><a href="https://github.com/apache/incubator-nuttx">GitHub</a></li>
+ <li id="apache">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ <li><a href="http://www.apache.org/events/current-event">Events</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+
+ <div class="container">
+
+
+<!--<div class="hero-unit 7.13">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <!--
+
+-->
+
+<h2 id="nuttx-713-release-notes">NuttX-7.13 Release Notes</h2>
+
+<p>The 113th release of NuttX, Version 7.13, was made on December 5, 2015,
+and is available for download from the Bitbucket.org website. Note
+that release consists of two tarballs: nuttx-7.13.tar.gz and
+apps-7.13.tar.gz. These are available from:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://bitbucket.org/patacongo/nuttx/downloads
+https://bitbucket.org/nuttx/apps/downloads
+</code></pre></div></div>
+
+<p>Both may be needed (see the top-level nuttx/README.txt file for build
+information).</p>
+
+<p>Additional new features and extended functionality:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - External RTC: Added OS support for external RTC chips.
+ - boardctl(): Add a command to the boardctl() interface to obtain a
+ board unique ID.
+
+* File Systems:
+
+ - TMPFS: Add support for a new TMPFS, RAM file system. The TMPFS
+ file system does not require any significant amount of memory
+ itself. It will grow dynamically as files are added and shrink back
+ when files are deleted. A very low overhead way to retain temporary
+ files.
+ - VFS: The VFS was extended to support standard file operations on
+ block drivers (open, close, read, write, etc.). The open() interface
+ accomplishes this by creating a temporary characer driver to mediate
+ the character oriented accesses to tje block driver.
+ - HOSTFS: Added a HOSTFS file system for use with the simulator. The
+ HOSTFS file system mounts in the simulated Nuttx context by provides
+ proxied access to the file system on the host PC. This is useful for
+ providing file system content and nonvolatile storage of files in the
+ simulation environment. From Ken Pettit.
+ - MTD/PROCFS: Add an interface to un-register an MTD procfs entry.
+ From Ken Pettit.
+ - filemtd: A new MTD conversion layer that will convert a regular file
+ (or driver file) to an MTD device. This is useful for testing on the
+ simulation using the HOSTFS. From Ken Pettit.
+ - PROCFS: Extended to include networking entries in the procfs. Device
+ status, device statistics, and network statistics are now available
+ from the PROCFS.
+ - PROCFS: The PROCFS file system can now be configured so that it
+ supports runtime registration of PROCFS entries with
+ CONFIG_FS_PROCFS_REGISTER=y.
+
+* Graphics/Graphic Drivers:
+
+ - ST7565 Driver: Extend to include support for the ERC12864-3. From
+ Pierre-noel Bouteville.
+
+* Common Device Drivers:
+
+ - User buttons: Added a character driver to support application access
+ to board buttons. Supports notification of button activity via
+ signals.
+ - User LEDs: Added a character driver to support application access
+ to on-board LEDs.
+ - Zero Cross: Added a Zero Cross device driver support. From Alan
+ Carvalho de Assis.
+ - MAX6675: Added support to Thermocouple-to-Digital converter MAX6675.
+ From Alan Carvalho de Assis.
+ - BCH: Block-to-character (BCH) driver should forward ioctl() calls
+ to the contained block driver.
+ - S25FL1xx: Added a S25FL1xx QuadSPI FLASH driver.
+ - On-Chip FLASH: Added an upper half MTD device that can use the
+ interfaces defined in included/nuttx/progmem.h to provide a
+ standard MTD driver.
+ - Serial: Implemented high level DMA infrastructure for serial
+ devices. From Max Neklyudov.
+ - AT24XX: Add support for multiple AT24xx EEPROM parts, each with
+ unique I2C addresses, but otherwise identical.
+ - External RTC: Added drivers for external I2C RTC chips: DS3102,
+ DS1307, DS3231, DS3232, and NXP PCF85263.
+ - W25: Added support for byte write mode to the W25 FLASH driver. From
+ Ken Pettit.
+ - dev/loop: Added a loop character device. losetup() and loteardown()
+ should not be called directory from applications. Rather, these
+ functions are now available as IOCTL commands to the loop driver.
+ - dev/smart: Added support for a /dev/smart loop device. From Ken
+ Pettit.
+
+* Networking:
+
+ - Driver Statistics: Most network drivers do not support statistics.
+ Those that do only supported them when DEBUG is enabled. Each
+ driver collected an architecture specific set of statistics and
+ there was no common mechanism to view those statistics. Thus,
+ the driver feature was mostly useless. This release standardizes
+ the driver statistics and puts the definition in the common network
+ device structure defined in netdev.h where they can be accessed by
+ network applications. All Ethernet drivers that collect statistics
+ have been adapted to use these common statistics.
+
+* Simulation Platform:
+
+ - W25 FLASH: Added support for W25 FLASH simulation. From Ken Pettit.
+ - HOSTFS: Added support for the HOSTFS file system (see "File Systems",
+ above).
+
+* Atmel SAMV7:
+
+ - SAME70: Added support for the SAME70 family of chips.
+ - Tickless: SAMV7 now supports the tickless mode of operation.
+
+* Atmel SAMV7 Drivers:
+
+ - MPU: Added MPU and protected build support.
+ - QSPI: Added a QuadSPI FLASH driver. This driver operates in the
+ memory-mapped, Serial Memory Mode (SMM).
+ - FLASH: Added support to write on-chip FLASH.
+ - Timer/Counter: TC driver ported to SAMV7 from the SAMA5. Free-running
+ and one-short timer logic also ported.
+ - PCK: Brought programmable clock (PCK) logic from SAMA5 into SAMV7.
+ - Timer/Counter: Support PCK6 as an optional source for the timer/
+ counter clock.
+
+* Atmel SAMV7 Boards:
+
+ - SAME70-Xplained: Add NSH and networking configurations for the
+ SAME70 Xplained board. Includes verified support for serial console,
+ LEDs, buttons, SDRAM, HSMCI SD card, and networking.
+ - SAMV7-XULT and SAME70-Xplained: If Tickless mode is selected then
+ enable PCK6 as a timer/counter clock source
+
+* STMicro STM32:
+
+ - CCM PROCFS: Is no longer a part of the 'base' procfs entries and can
+ now only be supported via run time registration with
+ CONFIG_FS_PROCFS_REGISTER=y.
+
+* STMicro STM32 Drivers:
+
+ - Timers: Add a compatible lower-half timer driver for use with the
+ common timer upper-half driver. From Wail Khemir.
+
+* STMicro STM32 Boards:
+
+ - STM32F4-Discovery: Add low level support for the Zero Cross driver
+ for the STM32F4-Discovery. From Alan Carvalho de Assis.
+ - STM32F4-Discovery: Add board config to support for the MAX6675. From
+ Alan Carvalho de Assis.
+
+* C Library/Header Files:
+
+ - bsearch(): Added the bsearch() function from NetBSD.
+ - freopen(): Added support for freopen().
+ - strftime(): Added day-of-week support (when avaialable).
+
+* Tools:
+
+ - nxstyle: Add crappy style checking tool nxstyle.c. See thee tools/
+ README file for more info.
+
+* Applications: NSH
+
+ - mksmartfs command: Add configuration option to supported multiple
+ rootdirectories. From Ken Pettit.
+ - Add support for 'basename' and 'dirname' commands.
+ - set command: Like bash, NSH set command now strips off any leading
+ or trailing whitespace.
+ - mount command: The mount commands now accepts mount options
+ (currently needed only for the hostfs file system). From Ken
+ Pettit.
+ - losetup command: NSH no longer calls losetup() and loteardown
+ directly. Now it opens /dev/loop and accomplishes these things
+ using ioctl() calls.
+ - ifconfig command: If CONFIG_NETDEV_STATISTICS=y, then print the
+ network driver statistics in the ifconfig.
+ - ifconfig, ifup, and ifdown: These commands now uses /proc/net/<dev>
+ to view network device configuration and status and /proc/net/stat
+ to show network statistics. A consequence of this is that you
+ cannot view this network information if the procfs is not enabled
+ and mounted at /proc.
+ - losmart command: Added a new NSH losmart command. losmart setups
+ up a loop device for the smart MTD driver similar to losetup but
+ with different syntax. From Ken Pettit.
+ - ps command: The 'ps' command now uses /proc/<pid>/ to obtain task
+ status information. A consequence of this is that you cannot use
+ the 'ps' command if the procfs is not enabled and mounted at /proc.
+
+* Applications: apps/system:
+
+ - apps/system/hexed: Port the hexed command line hexadeciamal editor
+ to Nuttx. See http://apps.venomdev.net/hexed/.
+
+* Applications: apps/fsutils:
+
+ - apps/fsutils/smartfs: Move into apps/fsutils from kernel, now uses
+ only open and ioctl. From Ken Pettit.
+
+* Applications: apps/examples:
+
+ - apps/examples/fstest: Add a generic file system test. This is
+ essentially the same as examples/smart, but has all of the SmartFS
+ specific logic ripped out. This was created for testing the new
+ TMPFS.
+ - apps/examples/zerocross: Add a Zero Cross application example. From
+ Alan Carvalho de Assis.
+ - apps/examples/media: Add a simple test for access of media via a
+ block driver or MTD driver.
+</code></pre></div></div>
+
+<p>Bugfixes. Only the most critical bugfixes are listed here (see the
+ChangeLog for the complete list of bugfixes and for additional, more
+detailed bugfix information):</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - Fixed an error in clock_timespec_subtract(). Found by Lok.
+ - pthreads: CRITICAL BUGFIX: Logic was wiping out the indication that
+ of the type of a pthread. Hence, it could be confused as a task.
+ Found because this was causing a crash when /proc/nnn/cmdline was
+ printed.
+
+* File System/Block Drivers:
+
+ - SMART MTD: Fix some Smart wear-leveling bugs. Fixed SmartFS wear
+ level error that occurs when the logical sector size is too small to
+ save all wear level status bytes in a single sector. Logical
+ sectors 1 and 2 were simply not being allocated and then the
+ read_sector and write_sector routines were failing. From Ken
+ Pettit.
+
+* Graphics/Graphic Drivers:
+
+ - ILI9432: Fixed errors in orientation. Portrait, RPortrait, and
+ Landscript should work correly now. They were displayed mirrored.
+ From Marco Krahl.
+
+* Common Drivers:
+
+ - CAN: Fix a problem in the CAN upper-half driver that occurs only
+ for CAN hardware that support a H/W FIFO of outgoing CAN messages.
+ In this case, there can be a hang condition if both the H/W and
+ S/W FIFOs are both full. In that case, there may be no event to
+ awaken the upper half driver. Add a new (conditional) CAN upper
+ half interface called can_txready() that can be used by the lower
+ half driver to avoid this hang condition.
+ - MS58xx: Fix some issues with initialization and with CRC
+ calculation. From Karim Keddam.
+ - W25: Fixed W25 FLASH driver page read/write logic. From Ken Pettit.
+
+* Atmel SAMV7 Drivers:
+
+ - USART1 pin configuration: Reconfigure System I/O when using USART1.
+ From Frank Benkert.
+ - MCAN: Added a call to can_txready() to the MCAN driver.
+
+* STMicro STM32 Drivers:
+
+ - stm32 F4: Fix some TIM12 pin mappings. From Max Kriegleder.
+
+* STMicro STM32 Boards:
+
+ - STM32F429i-Disco: Calculated partition boundries based on page
+ block sizes but mtd_partition() is expecting calculations based on
+ erase block size. From Alan Carvalho de Assis.
+
+* C Library/Header Files:
+
+ - sys/types.h: When building on a 64-bit machine, the size of size_t
+ should be 64-bits. In general, I believe that sizeof(size_t) should
+ be the same as sizeof(uinptr_t). mmsize_t should always be 32-bits
+ in any event. The last change to stddef has been backed out. With
+ these changes, the simulator builds without errors or warnings an a
+ 64-bit machine.
+
+* Applications: apps/nshlib:
+
+ - The I/O buffer, g_iobuffer, should not be a global buffer. That
+ will not work in an environment where there are multiple NSH
+ sessions. The I/O buffer must, instead, be a part part of the
+ session-specific data defined in nsh_console.h.
+</code></pre></div></div>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2020 </p>-->
+ <footer class="site-footer">
+ <div class="wrapper">
+ <div class="footer-col-wrapper">
+
+ Apache NuttX is an effort undergoing <a href="https://incubator.apache.org/index.html">Incubation</a>
+ at The Apache Software Foundation (ASF), sponsored by the 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.
+ <hr>
+
+ <div style="text-align:center;">
+
+ <div style="margin-top: 20px; margin-bottom: 20px;">
+ <a href="http://incubator.apache.org"><img src="/assets/themes/apache/img/egg-logo.png"
+ alt="Apache Incubator"/></a>
+ </div>
+
+ <div>
+ Copyright © 2019 <a href="http://www.apache.org">The Apache Software Foundation</a>.
+ Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
+ 2.0</a>.
+ <br>
+
+ Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+ Software Foundation.
+
+ </div>
+ </div>
+ </div>
+ </div>
+</footer>
+
+ </footer>
+ </div>
+
+
+ <script src="/assets/themes/apache/jquery/jquery-2.1.1.min.js"></script>
+
+ <script src="/assets/themes/apache/bootstrap/js/bootstrap.min.js"></script>
+
+
+ </body>
+</html>
+
diff --git a/content/releases/7.14/index.html b/content/releases/7.14/index.html
new file mode 100644
index 0000000..2b08e99
--- /dev/null
+++ b/content/releases/7.14/index.html
@@ -0,0 +1,403 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>7.14</title>
+
+ <meta name="author" content="">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le styles -->
+ <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+ -->
+
+ </head>
+
+ <body>
+
+ <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <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>
+ <a class="navbar-brand" href="/">
+ <img src="/assets/themes/apache/img/logo.png" width="30">
+ Apache NuttX
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav navbar-right">
+ <li id="community">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
+ <ul class="dropdown-menu dropdown-left">
+ <li><a href="/community">Get Involved</a></li>
+ <li><a href="/community-members">Who we are</a></li>
+ </ul>
+ </li>
+ <li><a href="https://github.com/apache/incubator-nuttx">GitHub</a></li>
+ <li id="apache">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ <li><a href="http://www.apache.org/events/current-event">Events</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+
+ <div class="container">
+
+
+<!--<div class="hero-unit 7.14">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <!--
+
+-->
+
+<h2 id="nuttx-714-release-notes">NuttX-7.14 Release Notes</h2>
+
+<p>The 114th release of NuttX, Version 7.14, was made on January 28, 2016,
+and is available for download from the Bitbucket.org website. Note
+that release consists of two tarballs: nuttx-7.14.tar.gz and
+apps-7.14.tar.gz. These are available from:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://bitbucket.org/patacongo/nuttx/downloads
+https://bitbucket.org/nuttx/apps/downloads
+</code></pre></div></div>
+
+<p>Both may be needed (see the top-level nuttx/README.txt file for build
+information).</p>
+
+<p>Additional new features and extended functionality:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - modules: Add support for kernel modules: insmod, rmmod, support
+ functions. procfs support for user lsmod functioniality.
+ - SIGEV_THREAD: Add support for the SIGEV_THREAD notification method
+ in struct sigevent. This initial implementation will only work in
+ the FLAT build since it utilizes the work queue for signal
+ callbacks. See the top-level TODO file for additional details.
+ - 64-Bit Timer: If the 64-bit timer is selected, then use it whenever
+ clock_systimer() is called rather then chopping the 64-bit timer
+ down to 32-bits. Add a new type, systime_t to represent the 32- or
+ 64-bit system timer. This eliminates clock_systimer32() and
+ clock_systime64(); there is now only clock_systimer().
+
+* Common Device Drivers:
+
+ - Telnet Driver: Move the Telnet driver from apps/ to
+ nuttx/drivers/net. It is a driver a belongs in the OS. Now works
+ like the loop device: A new interface called telnet_initialize()
+ registers a telnet session "factory" device at /dev/telnet. Via
+ ioctl, the factory device can create instances of the telnet
+ character devices at /dev/telnetN to support Telnet sessions.
+ - PCA9635PW: Add a driver for the PCA9635PW I2C LED driver IC which
+ can be used to control the intensity of up to 16 LEDs. From
+ Alexander Entinger.
+ - MCP9844: Driver for the MCP9844 I2C digital temperature sensor with
+ a selectable resolution. From Alexander Entinger.
+ - PN532: Add driver for the NXP PN532 NFC-chip. From Janne Rosberg
+ and others at Offcode Ltd.
+ - LSM9DS1: Add driver for the STMicro LSM9DS1 chip. The LSM9DS1 is a
+ system-in-package featuring a 3D digital linear acceleration sensor,
+ a 3D digital angular rate sensor, and a 3D digital magnetic sensor.
+ From Paul Alexander Patience.
+ - CAN Interface: Add more extensive error reporting capaibility to
+ the CAN interface definitions. From Frank Benkert.
+ - SPI Interface: Add an optional hwfeatures() method to the SPI
+ interface.
+
+* Simulation Platform:
+
+ - NSH configuration uses the custom start up scriptwith a read-only
+ passwd file. Includes hooks for an MOTD message.
+
+* ARMv7-R
+
+ - ARMv7-R: Add basic architecture support for the ARMv7-R processor
+ family.
+
+* Atmel AVR:
+
+ - Atmega2560: Add support for the Atmega2560. From Dimitry Kloper.
+ - debug.h: Add an AVR-specific header file used when the AVR MEMX
+ pointer is used. From Dimitri Kloper.
+
+* Atmel AVR Boards:
+
+ - Arduino-Mega2560: Add support for the Arduino-Mega2560. From
+ Dimitry Koper.
+
+* Atmel SAMV7 Drivers:
+
+ - Port the TRNG driver from the SAMA5D3/4 to the SAMV7.
+ - Port the WDT driver from the SAMA5D3/4 to the SAMV7.
+ - Add an RSWDT driver.
+
+* Atmel SAMV7 Boards:
+
+ - SAMV71-XULT: Add configuration for testing OS modules.
+
+* Freescale Kinetis:
+
+ - MK60N512VLL100: Add support for the MK60N512VLL100 Kinetis part.
+ From Andrew Webster.
+
+* Freescale Kinetis Boards:
+
+ - ENET: Numerous updates to the Kinetis ENET driver. That driver is
+ now functional. From Andrew Webster.
+
+* NXP LPC43xx Boards:
+
+ - WaveShare LPC4337-WS: Support for the WaveShare LPC4337-WS board.
+ From Lok Tep.
+
+* STMicro STM32 Drivers:
+
+ - Timer Capture: Add timer input capture driver. From Pierre-Noel
+ Bouteville.
+
+* STMicro STM32 Boards:
+
+ - Olimex STM32 H407: Added a port to the Olimex STM32 H407 board.
+ This board features the STMicro STM32F407ZGT6 (144 pins).
+ Contributed by Neil Hancock.
+
+* TI TMS550 Boards:
+
+ - TI LaunchXL-TMS57004: Add basic board support for TI LaunchXL-
+ TMS57004. Still a work in progress.
+
+* C Library/Header Files:
+
+ - sys/time.h: Add timeradd(), timersub(), timerclear(), timerisset(),
+ and timercmp() as macros. These are non-POSIX interfaces, but
+ included in most BSD deriviatives, including Linux. From Manuel Stð¨®.
+ - AVR support: Introduce support for Atmel toolchain in-flash strings.
+ Atmel toolchain AVR compiler provides a transparent in-flash object
+ support using __flash and __memx symbols. The former indicates to
+ compiler that this is a flash-based object. The later used with
+ pointer indicates that the referenced object may reside either in
+ flash or in RAM. The compiler automatically makes 32-bit pointer
+ with flag indicating whether referenced object is in flash or RAM
+ and generates code to access either in run-time. Thus, any function
+ hat accepts __memx object can transparently work with RAM and flash
+ objects.
+ For platforms with a Harvard architecture and a very small RAM like
+ AVR this allows to move all constant strings used in trace messages
+ to flash in the instruction address space, releasing resources for
+ other things. This change introduces IOBJ and IPTR type qualifiers.
+ The 'I' indicates that the object may lie in instruction space on a
+ Harvard architecture machine. For platforms that do not have __flash
+ and __memx or similar symbols IOBJ and IPTR are empty, making the
+ types equivalent to, for example, 'const char' and 'const char*'.
+ For Atmel compiler these will become 'const __flash char' and
+ 'const __memx char*'. All printf() functions and syslog() functions
+ are changed so that the qualifier is used with the format parameter.
+ From Dimitry Kloper.
+ - debug.h: Add configuration to support an architecture-specific
+ debug.h header file. From Dimitri Kloper.
+ - netdb: Add support for the use of a DNS resolver file like
+ /etc/resolv.conf.
+ - TEA: Add an implementation of the Tiny Encryption Algorithm.
+ - math32.h: Add some utilities to support 64-bit arithmetic
+ operations for platforms that do not support long long types.
+
+* Tools:
+
+ - tools/cnvwindeps.c: Add a tool that will convert paths in
+ dependencies generated by a Windows compiler so that they can be
+ used with the Cygwin make.
+ - tools/mkwindeps.sh: A script that coordinates use of cnvwindeps.exe.
+ Dependencies now work on the Cygwin platform when using a Windows
+ ative toolchain.
+
+* Applications: NSH
+
+ - Module Commands: Add module commands: insmod, rmmod, and lsmod.
+ - Time Command: Add a 'time' command that may be used to time the
+ execution of other commands.
+ - Password Commands: Add useradd, userdel, and passwd commands.
+ - MOTD: Now supports a Message of the Day (MOTD) that will be
+ presented after the NSH greeting.
+ - Session Logins: All sessions may be protected with logins using the
+ encrypted password in /etc/passwd.
+ - Extended Logins. Added optional platform-specific function to
+ perform password verification and optional delay after each failed
+ login attempt.
+
+* Applications: apps/fsutils:
+
+ - apps/fsutils/passwd: Utility library for accessing a password file
+ like /etc/passwd.
+
+* Applications: apps/netutils:
+
+ - apps/netutils/telnetd: Now creates Telnet sessions by opening a new
+ factory device at /dev/telnet and then using ioctl calls to create
+ the session character drivers at /dev/telnetN.
+ - apps/netutils/netlib: Add netlib_get_dripv4addr() and
+ netlib_get_ipv4netmask(). From Pelle Windestam.
+
+* Applications: apps/examples:
+
+ - apps/examples/module: Add a test harness for verifying NuttX kernel
+ modules.
+ - apps/examples/pca9635: Add a simple test of PCA9635PW PWM LED driver.
+ From Alan Carvalho de Assis.
+ - apps/examples/ostest: Add a test of POSIX timers using SIGEV_THREAD.
+</code></pre></div></div>
+
+<p>Bugfixes. Only the most critical bugfixes are listed here (see the
+ChangeLog for the complete list of bugfixes and for additional, more
+detailed bugfix information):</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - pthreads: CRITICAL BUGFIX: Logic was wiping out the indication that
+ of the type of a pthread. Hence, it could be confused as a task.
+ - waitpid: CRITICAL BUGFIX. Add a reference count to prevent waitpid
+ from using stale memory released by the waited-for task group.
+ - clock_systimespec(): Fix an error in a time conversion.
+
+* File System/Block Drivers:
+
+ - poll(): Fix handling of sem_tickwait() return value sem_tickwait()
+ does not return an -1+errno, it returns a negated errno value.
+ Noted by Freddie Chopin.
+
+* Common Drivers:
+
+ - TUN Driver: Fix a compile time error in the TUN driver. From
+ Vladimir Komendantskiy.
+ - USB Host HID Parser: Wrong size used in memcpy(). From Hang Xu.
+ - PCA9555: Fixed a bug in the function pca9555_setbit which occurs if
+ someone tries to set one of the pins 8-15. The problem is that
+ after the check if the pin is greater than 7 the variable addr is
+ incremented and used in the Call I2C_WRITEREAD. But later in the
+ call to the I2C_WRITE buf[0] is used as address but this address is
+ not incremented as it should be. Note address does mean the address
+ to the register in the ioexpander and not the I2C address. From
+ Stefan Kolb.
+
+* Networking:
+
+ - TCP/IOB: Numerous fixes, mostly relate to TCP and IOB buffering
+ and race conditions. These were necessary for for the NuttX
+ networking later to be stable in some stress testing. From Andrew
+ Webster.
+
+* Atmel SAMV7 Drivers:
+
+ - USBHS Device: In USBHS device driver, fix check if zero length
+ packet is needed.
+
+* STMicro STM32 Drivers:
+
+ - OTG FS Host: Fix some backward arguments to stm32_putreg(). Note
+ by Hang Xu.
+
+* Tools:
+
+ - tools/mkdeps.c: Extended/fixed support for --winpath option.
+ Dependencies now work under Cygwin with a native Windows toolchain.
+
+* Build System:
+
+ - apps/platform/Makefile: Use a relative path to the board directory
+ link rather than the absolute path. For Cygwin, the absolute would
+ would need converted with cygpath. But just using the relative path
+ is a simpler solution.
+</code></pre></div></div>
+
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2020 </p>-->
+ <footer class="site-footer">
+ <div class="wrapper">
+ <div class="footer-col-wrapper">
+
+ Apache NuttX is an effort undergoing <a href="https://incubator.apache.org/index.html">Incubation</a>
+ at The Apache Software Foundation (ASF), sponsored by the 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.
+ <hr>
+
+ <div style="text-align:center;">
+
+ <div style="margin-top: 20px; margin-bottom: 20px;">
+ <a href="http://incubator.apache.org"><img src="/assets/themes/apache/img/egg-logo.png"
+ alt="Apache Incubator"/></a>
+ </div>
+
+ <div>
+ Copyright © 2019 <a href="http://www.apache.org">The Apache Software Foundation</a>.
+ Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
+ 2.0</a>.
+ <br>
+
+ Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+ Software Foundation.
+
+ </div>
+ </div>
+ </div>
+ </div>
+</footer>
+
+ </footer>
+ </div>
+
+
+ <script src="/assets/themes/apache/jquery/jquery-2.1.1.min.js"></script>
+
+ <script src="/assets/themes/apache/bootstrap/js/bootstrap.min.js"></script>
+
+
+ </body>
+</html>
+
diff --git a/content/releases/7.15/index.html b/content/releases/7.15/index.html
new file mode 100644
index 0000000..aec090d
--- /dev/null
+++ b/content/releases/7.15/index.html
@@ -0,0 +1,415 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>7.15</title>
+
+ <meta name="author" content="">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le styles -->
+ <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+ -->
+
+ </head>
+
+ <body>
+
+ <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <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>
+ <a class="navbar-brand" href="/">
+ <img src="/assets/themes/apache/img/logo.png" width="30">
+ Apache NuttX
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav navbar-right">
+ <li id="community">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
+ <ul class="dropdown-menu dropdown-left">
+ <li><a href="/community">Get Involved</a></li>
+ <li><a href="/community-members">Who we are</a></li>
+ </ul>
+ </li>
+ <li><a href="https://github.com/apache/incubator-nuttx">GitHub</a></li>
+ <li id="apache">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ <li><a href="http://www.apache.org/events/current-event">Events</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+
+ <div class="container">
+
+
+<!--<div class="hero-unit 7.15">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <!--
+
+-->
+
+<h2 id="nuttx-715-release-notes">NuttX-7.15 Release Notes</h2>
+
+<p>The 115th release of NuttX, Version 7.15, was made on March 27, 2016,
+and is available for download from the Bitbucket.org website. Note
+that release consists of two tarballs: nuttx-7.15.tar.gz and
+apps-7.15.tar.gz. These are available from:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://bitbucket.org/nuttx/nuttx/downloads
+https://bitbucket.org/nuttx/apps/downloads
+</code></pre></div></div>
+
+<p>Both may be needed (see the top-level nuttx/README.txt file for build
+information).</p>
+
+<p>Additional new features and extended functionality:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - Add a state variable that provides the current level of OS
+ initialization. This is needed by some logic that may attempt to
+ run early in the start-up sequence but cannot run if a sufficient
+ level of initialization has not yet occurred.
+ - Spinlocks: Add interface definitions for to support spinlocks as
+ needed for multi-CPU configurations.
+ - SMP support. Support for Symmetric Multi-Processing (SMP) added.
+ This affects many internal data structures, spinlock extensions
+ and renaming of interrupt enable/disable interfaces, new platform
+ interfaces to support CPU initialization and inter-actions, and
+ new application interfaces to manage CPU affinity. The changes
+ are too extensive to summarize here; see the SMP Wiki page at
+ http://www.nuttx.org/doku.php?id=wiki:nxinternal:smp. The
+ new platform interfaces are also described in the NuttX porting
+ guide: http://www.nuttx.org/doku.php?id=documentation:portingguide.
+ Only partially verified; awaiting hardware for the complete
+ verification.
+ - TLS: Basic definitions needed to support thread local storage
+ (TLS). TLS is not used anywhere yet (and may not be used in the
+ near future either).
+ - Performance Monitoring: Add a configuration option to buffer
+ RTOS instrumentation data in an in-memory buffer.
+ - boardctl(): Add boardctl() support that will permit applications
+ to control USB devices.
+
+* File Systems/Block Drivers:
+
+ - procfs: Add /proc/kmm entry that shows that state of the kernel
+ heap. Only useful in PROTECTED and KERNEL build modes where there
+ is a kernel heap.
+ - procfs: Add support for showing CPU in the tast status if SMP is
+ enabled.
+
+* Networking:
+
+ - ARP: Add support for IOCTL commands to manage the ARP table.
+ - IEEE 802.15.4 and 6LowPAN: There are some radio drivers and a
+ directory structure is in place. However, most of this
+ development is occurring on a fork and is not yet available in the
+ NuttX repositories. Hopefully in NuttX-7.16.
+
+* Common Device Drivers:
+
+ - ADS1242: Driver for the 24-Bit Differential Input ADC ADS1242 that
+ communicates via SPI with a MCU. Reading the ADC conversion result
+ as well as configuring the ADC, setting the input channel, etc. is
+ implemented via ioctl calls. However, it does not yet implement
+ the standard ADC interface. From Alexander Entinger.
+ - U-Blox Modem: Add an upper half driver for the U-Blox Modem. From
+ Vladimir Komendantskiy.
+ - I2C: Add an I2C, "upper half", character drivers to support raw I2C
+ data transfers for test applications.
+ - RGB LED: Add a driver to manage a RGB LED via PWM. From Alan
+ Carvalho de Assis.
+ - Performance Monitoring: Add a character driver that will allow an
+ application to read buffered scheduler instrumentation data.
+
+* Simulation Platform:
+
+ - SMP: Add multi-CPU support to the simulation to support SMP
+ investigation. There are issues with the simulation and it is less
+ than perfect but sufficient for some very preliminary testing of
+ the core SMP feature.
+
+* ARMv7-A, ARMv7-R, and ARMv7-M:
+
+ - ARMv7-A, ARMv7-R, and ARMv7-M: Add test-and-set logic and
+ definitions needed to supports spinlocks.
+ - ARMv7-A: Added MPCOre Generic Interrupt Controller (GICv2) and
+ Global Timer support
+ - ARMv7-A: Now includes in MCU-specific hooks needed for SMP support.
+
+* Atmel SAMV7 Drivers:
+
+ - HSMSI: HSMCI driver can now be configured to handle unaligned data
+ buffers.
+
+* NXP Freescale LPC11xx/17xx/43xx and LPC2378 Drivers:
+
+ - I2C: Backported the LPC43XX I2C driver, replacing the LPC11XX,
+ LPC17XX, and LPC2378 I2C drivers. This gives us the I2C_TRANSFER
+ method in all I2C drivers.
+
+* NXP Freescale LPC17xx Boards:
+
+ - Support for the u-blox GSM and GPS module evaluation board with
+ NXP LPCExpresso LPC1768. The GSM module is one of LISA-C200,
+ LISA-U200 or SARA-G350. The GPS module is one of MAX-M7 or
+ MAX-M8. From Vladimir Komendantskiy.
+
+* NXP Freescale i.MX6:
+
+ - Basic support is in place for the i.MX6 Quad/Dual MCUs.
+ Verification is, however, waiting for the receipt of hardware.
+
+* NXP Freescale i.MX6 Boards:
+
+ - Sabre-6Quad: Basic support for the NXP/Freescale Sabre 6Quad
+ board is in place but waiting for hardware for verification.
+
+* STMicro STM32:
+
+ - STM32F46xx: Support for STM32F46xx from Paul Alexander Patience
+ - STM32L4: Add support for the STM32L4 family. From Sebastien
+ Lorquet.
+
+* STMicro STM32 Boards:
+
+ - STM32F4 Discovery: Add PWM support for the onboard RGB LED. From
+ Alan Carvalho de Assis.
+ - Nucleo-L476: Add support for the Nucleo-L476 board. From Sebastien
+ Lorquet.
+ - STM32L476VG Discovery: Add support for the STM32L476VG Discovery
+ board. From Dave.
+
+* Tools:
+
+ - tools/refesh.sh now has a --silent option so that it can be used in
+ batch modes without human input.
+
+* Build System:
+
+ - Added a 'make olddefconfig' target that will refresh a .config file
+ without interaction.
+
+* Applications: NSH
+
+ - 'arp': Add an 'arp' command that will support access to the OS ARP
+ table.
+ - 'ps': The 'ps' command will show CPU if SMP is enabled.
+
+* Applications: apps/netutils:
+
+ - apps/netutils/chat: Chat logic contributed by Vladimir
+ Komendantskiy.
+ - apps/netutils/netlib: Add utility functions to support accesses to
+ the ARP table.
+
+* Applications: apps/examples:
+
+ - apps/examples/chat: Chat example contributed by Vladimir
+ Komendantskiy.
+ - apps/sysem/ubloxmodem: Example to control the power
+ state of the modem in nsh. From Vladimir Komendantskiy.
+ - apps/examples/leds: An example to demonstrate use of LED driver.
+ - apps/examples/smp: Add a test to verify SMP configurations.
+ - apps/examples/rgbled: Example using the RGB LED driver to drive an
+ RGB LED via PWM. From Alan Carvalho de Assis.
+ - apps/examples/ostest: Add a test of TLS.
+ - apps/examples/sched_note: Add a simple example to exercise the
+ scheduler instrumentation logic.
+</code></pre></div></div>
+
+<p>Bugfixes. Only the most critical bugfixes are listed here (see the
+ChangeLog for the complete list of bugfixes and for additional, more
+detailed bugfix information):</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - Signals: Move the list of signal actions from the TCB to the group
+ structure. Signal handlers are not per thread but, rather, per task
+ group. I know, I preferred it the other way too, but this is more
+ compliant with POSIX.
+ - Semaphores: Add an internal, non-standard interface to reset a
+ semaphore count. This is sometimes needed by drivers in order to
+ recover from error conditions. Were previously using sem_init()
+ which is both inappropriate and incorrect if the semaphore count is
+ negative.
+ - Low-Priority Work Queue: Fix logic to find an IDLE worker thread;
+ the test for busy was backward. From Linfei Chen.
+
+* File System/Block Drivers:
+
+ - FAT: Add an option to force all transfers to be performed
+ indirectly using the FAT file system's internal sector buffers.
+ This is a fix for the case where the user provided buffers are not
+ properly aligned for DMA (as with THTTPD).
+ - MTD: Increase block size in mtd_geometry_s to 32-bits.
+
+* Common Drivers:
+
+ - I2C: Restructured the I2C interface as necessary to eliminate some
+ thread-safety issues inherent in the legacy I2C interface design.
+ This effects the interface definition, all I2C clients, and all low-
+ level I2C drivers. I have used caution, but I still expect a change
+ of this magnitude to introduce some errors. Any bug reports of bug
+ fixes will be much appreciated.
+ - I2C_RESET: Eliminate up_i2creset(). It should not be a global
+ function; Now it is an I2C interface method.
+ - PCA555: Add logic to make the PCA555 driver thread safe.
+ - syslog: If syslog timestamping is enabled, don't try to get the time
+ if the timer hardware has not yet been initialized.
+ - AT24xx driver: Correct missing address calculation logic. From Frank
+ Benkert.
+
+* Networking:
+
+ - Networking drivers that support CONFIG_NET_NOINTS: Fix a race
+ condition that can cause the TX poll timer to stop running. From
+ Manuel Stuhn.
+ - Timer Poll: Fix some logic when there are multiple network
+ interfaces. In this case, TCP timeout events can really only being
+ processed when the poll from the correct device is received.
+
+* Atmel SAMV7 Drivers:
+
+ - SAMV7 USB HS device: The USB driver has had some issue that would
+ occasionally cause loss of packets. Back last December, a fix was
+ put in for this but the fix apparently worsens the problem; now
+ causing hangs. The basic problem is that the number of busy banks
+ (NBUSYBKS) status is not real time but is delayed. This was fixed;
+ now when the DMA completes and NBUSYBKS > 0, the NBUSYBK is
+ interrupt is enabled and the operations are deferred until NBUSYBKS
+ is truly zero.
+
+* Tools:
+
+ - tools/testbuild.sh: .config files were not being updated because
+ (a) kconfig-conf was being called in the wrong directory and (b)
+ apps/Kconfig had not yet been created. Now uses 'make
+ olddefconfig'.
+
+* Applications: apps/system:
+
+ - apps/system/i2c: The I2C tool now obeys it OS interfacing: it now
+ uses an I2C character driver to access the I2C bus.
+ - apps/system/cdcacm, usbmsc, and composite: Use new boardctl()
+ instead of calling directly in the OS when possible.
+
+* Applications: apps/netutils:
+
+ - apps/netutils/dhcpd: DHCPD no longer calls directly into the OS but
+ uses the new network IOCTL commands to modify the ARP table.
+
+* Applications: apps/modbus:
+
+ - apps/modbus/nuttx/portserial.c: Was not returning an error on
+ failure to open the device driver. From Olololshka kokoko.
+
+* Applications: apps/examples:
+
+ - apps/examples/usbserial, composite, usbterm: Use new boardctl()
+ instead of calling directly in the OS when possible. There are
+ still a few bad OS calls for USB device interfaces that do not yet
+ have boardctl() commands.
+
+* Applications: apps/platform:
+
+ - Moved C++ initialization logic out of the RTOS and into the
+ application space, specifically to apps/platform/board, where it
+ belongs.
+</code></pre></div></div>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2020 </p>-->
+ <footer class="site-footer">
+ <div class="wrapper">
+ <div class="footer-col-wrapper">
+
+ Apache NuttX is an effort undergoing <a href="https://incubator.apache.org/index.html">Incubation</a>
+ at The Apache Software Foundation (ASF), sponsored by the 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.
+ <hr>
+
+ <div style="text-align:center;">
+
+ <div style="margin-top: 20px; margin-bottom: 20px;">
+ <a href="http://incubator.apache.org"><img src="/assets/themes/apache/img/egg-logo.png"
+ alt="Apache Incubator"/></a>
+ </div>
+
+ <div>
+ Copyright © 2019 <a href="http://www.apache.org">The Apache Software Foundation</a>.
+ Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
+ 2.0</a>.
+ <br>
+
+ Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+ Software Foundation.
+
+ </div>
+ </div>
+ </div>
+ </div>
+</footer>
+
+ </footer>
+ </div>
+
+
+ <script src="/assets/themes/apache/jquery/jquery-2.1.1.min.js"></script>
+
+ <script src="/assets/themes/apache/bootstrap/js/bootstrap.min.js"></script>
+
+
+ </body>
+</html>
+
diff --git a/content/releases/7.16/index.html b/content/releases/7.16/index.html
new file mode 100644
index 0000000..23fe827
--- /dev/null
+++ b/content/releases/7.16/index.html
@@ -0,0 +1,516 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>7.16</title>
+
+ <meta name="author" content="">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le styles -->
+ <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+ -->
+
+ </head>
+
+ <body>
+
+ <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <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>
+ <a class="navbar-brand" href="/">
+ <img src="/assets/themes/apache/img/logo.png" width="30">
+ Apache NuttX
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav navbar-right">
+ <li id="community">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
+ <ul class="dropdown-menu dropdown-left">
+ <li><a href="/community">Get Involved</a></li>
+ <li><a href="/community-members">Who we are</a></li>
+ </ul>
+ </li>
+ <li><a href="https://github.com/apache/incubator-nuttx">GitHub</a></li>
+ <li id="apache">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ <li><a href="http://www.apache.org/events/current-event">Events</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+
+ <div class="container">
+
+
+<!--<div class="hero-unit 7.16">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <!--
+
+-->
+
+<h2 id="nuttx-716-release-notes">NuttX-7.16 Release Notes</h2>
+
+<p>The 116th release of NuttX, Version 7.16, was made on June 1, 2016,
+and is available for download from the Bitbucket.org website. Note
+that release consists of two tarballs: nuttx-7.16.tar.gz and
+apps-7.16.tar.gz. These are available from:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://bitbucket.org/nuttx/nuttx/downloads
+https://bitbucket.org/nuttx/apps/downloads
+</code></pre></div></div>
+
+<p>Both may be needed (see the top-level nuttx/README.txt file for build
+information).</p>
+
+<p>Additional new features and extended functionality:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - Power Management: Add activity domain to all PM interfaces and
+ driver callbacks. If CONFIG_PM_NDOMAINS == 1, then the legacy
+ behavior is preserved. If CONFIG_PM_NDOMAINS > 1, then multiple
+ PM domains are supported. This will allow separate control for
+ certain power management groups. For example, a network can be
+ shut down without affect an ongoing UI (and vice versa).
+ - board_app_initialize(): board_app_initialize() now accepts an
+ argument that may be used to support initialization in different
+ configurations.
+
+* File System and Block and MTD Drivers:
+
+ - N25Qxxx: Add MTD support for Micron N25Qxxx family of QSPI flash.
+ From Dave (ziggurat29).
+ - SST26F: Add an MTD driver for SST26F spi/qspi flash devices (SPI
+ mode only). From Sebastien Lorquet.
+ - File Descriptor Detach: Add logic to detach a file structure from a
+ file descriptor. This is for use only within the OS. It permits an
+ open file or driver to be used across multiple threads.
+</code></pre></div></div>
+
+<ul>
+ <li>
+ <p>Networking and Network Drivers:</p>
+
+ <ul>
+ <li>listen()/accept(): Separate out psock_listen() and psock_accepti()
+for internal, thread independent OS usage (i.e., without a socket
+descriptor).</li>
+ <li>VNC Server: Add support for a VNC server. This logic is code
+complete and functional, but not well tested.</li>
+ </ul>
+ </li>
+</ul>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Graphics and Graphic Drivers:
+
+ - Framebuffer driver: Add a display number to each interface in order
+ to support multiple display devices.
+ - VNC Server: Add support for a VNC server. This logic is code
+ complete and functional, but not well tested.
+ - LCD Backpack: Add support for PCF8574 LCD Backpack driver. This
+ driver supports an interface board that is based on the PCF8574 I/O
+ expander and supports the HD44780-based (or compatible) LCD modules.
+ There are a myriad of different vendors of such, but they are
+ principally the same, save wiring and minor features like jumpers
+ for I2C addresses. This driver supports known and unknown variants.
+ From Dave (ziggurat29).
+
+* Common Device Drivers:
+
+ - RTC: Simplify the RTC interface. The old interface was way too
+ complex and was not fully implemented anywhere.
+ - BH1750FVI: Add a character driver for Rohm Ambient Light Sensor
+ BH1750FVI. From Alan Carvalho de Assis.
+ - CAN: Improve CAN error reporting. From Frank Benkert.
+ - aes.h: Modifications to the crypto API needed for LPC43xx. From
+ Alexander Vasiljev.
+ - ADC: Interface no longer uses global adc_receive() call. Added a
+ new bind() method to the ADC interface. Now the ADC upper half
+ driver will register its receipt-of-data callback. This change
+ allows the ADC lower half driver to be used with a differ ADC upper
+ half.
+
+ * Simulation Platform:
+
+ - Linux Host Networking: Enhance networking support for the
+ simulation under Linux. Includes updated support for Linux TUN/TAP,
+ and the addition of support for Linux bridge devices. From Steve.
+
+* ARMv7-A, ARMv7-R, and ARMv7-M:
+
+ - ARMv7-M: Convert more assembly language files for use with the IAR
+ toolchain. From Kha Vo.
+ - ARMv7-A: Complete re-design of SMP-related logic to initialize each
+ CPUn, n > 0, when CONFIG_SMP=y.
+
+* Atmel SAMV7:
+
+ - Add a JTAG config and ERASE config to Kconfig to set the
+ CCFG_SYSIO SYSIO Pins. From David Sidrane.
+ - System Reset: Add the up_systemreset interface to the samv7 arch. The
+ approach is slightly different in that: 1) It enables ARCH_HAVE_RESET
+ and allows the user to set if, and for how long, to drive External
+ nRST signal. It also does not contain a default board_reset, as that
+ really should be done in the config's src if CONFIG_BOARDCTL_RESET
+ is defined. From David Sidrane.
+
+* Atmel SAMV7 Boards:
+
+ - SAMV71-XULT: Add configuration(s) that were be used to verify VNC
+ graphics output as well as mouse and keyboard input.
+
+* NXP Freescale i.MX6 Boards:
+
+ - Sabre-6Quad: The basic i.MX6 port is complete. This is a minimal
+ port at present and probably still has some as-of-yet-undiscovered
+ issues.
+ - Sabre-6Quad: Basic SMP NSH configuration is now working. But this
+ is probably only because the SMP test case does not stress the
+ logic. There are know outstanding SMP issues as noted in the
+ Sabre-6Quad README.txt file.
+
+* NXP Freescale LPC43xx:
+
+ - LPC4337jet100: Add definitions for the LPC4337jet100 chip. From
+ Alexander Vasiljev.
+
+* NXP Freescale LPC43xx Drivers:
+
+ - AES: Add AES support. From Alexander Vasiljev.
+
+* STMicro STM32:
+
+ - STM32 L4: Add configuration options to allow SRAM2 to be used for
+ heap, or not at all, and to zero-initialize it on OS start, or not
+ at all. From Dave dev@ziggurat29.com.
+ - STM32 L4: Add support for HSE and MSI clocks, and auto trim of MSI
+ to LSE (needed for USB). From Dave (ziggurat29)
+ - STM32 L4: Add support for unique id function to arch; modified board
+ to support unique id boardctl. From Dave (ziggurat29)
+
+* STMicro STM32 Drivers:
+
+ - STM32 F4 RTC: Add a custom RTC driver with support for alarms. From
+ Neil Hancock.
+ - STM32 L4 QSPI: Add a QSPI driver with DMA support and (optional
+ memory mapped mode support. From Dave ziggurat29).
+ - STM32, STM32 L4, and STM32 F7 Serial: Add support for compliant
+ SD-style breaks. From David Sidrane.
+ - STM32 L4 CAN: Add CAN support for STM32L4. From Sebastien Lorquet.
+ - STM32 1-Wire: Add support for a custom 1-wire driver. The serial
+ driver already supports a 1-wire interface, but this driver uses the
+ same serial logic to implement a lower half driver much like the
+ I2C lower half driver. From Aleksandr Vyhovanec.
+ - STM32 L4 SPI: Add support for SPI 4 and 5 on stm32f411 chips. From
+ Konstantin Berezenko.
+ - STM32 ADC: Allow omitting use of channels in a lower part of PWM.
+ From Pierre-noel Bouteville.
+ - STM32 L4 I2C: Get I2C working for STM32L4. From Dave (ziggurat29).
+
+* STMicro STM32 Boards:
+
+ - STM3220G-EVAL: Add support for both the IAR and uVision GCC IDEs.
+ From Kha Vo.
+ - STM32F429I Discovery: Add support for the uVision GCC IDE. From
+ Kha Vo.
+ - STM32F4 Discovery: Integrate BH1750FVI driver in the STM32F4 Discovery
+ board. From Alan Carvalho de Assis.
+ - STM32L476VG Discovery: Add support for QSPI based N25Qxxx flash.
+ From Dave (ziggurat29)
+ - STM32L476VG Discovery: Add board ioctls for allowing user application
+ to cause QSPI memory mapped mode to be engaged and disengaged. Also
+ partitioned QSPI flash for file system and other (eventually xip).
+ From Dave (ziggurat29)
+ - Nucleo-144: Basic port for the Nucleo-144 board with the STM32F746ZG
+ MCU. From Kconstantin Berezenko.
+ - STM32F103 Minimum: Add support for this minimual STM32F103CBT6 "blue"
+ board. From Alan Carvalho de Assis.
+ - STM32F411E Discovery: Add basic configuration for stm32f411e-disco
+ board with STM32F411VE chip. From Konstantin Berezenko.
+
+* Build/Configuration System:
+
+ - Moved NuttX repository to https://bitbucket.org/nuttx/nuttx.
+ Eliminated use of sub-modules.
+ - Add support for the IAR toolchain for the limited case of the ARMv7-M
+ architecture and the STM32 chip. From Aleksandr Vyhovanec.
+ - make export: Pass top-level make to the script to allow -j greater
+ than 1. From David Sidrane.
+ - fs/Kconfig: Allow CONFIG_FS_WRITABLE to be manually selectable. This
+ is needed when there are no writable file systems, but write support
+ is still needed in BCH or FTL.
+ - arch/*/Makefile: Add definitions that can be overrided to use GCC
+ instead of LD in the final link. From Paul Alexander Patience .
+
+* Applications: apps/netutils:
+
+ - apps/netutils/esp8266: ESP8266 driver application. From Pierre-noel
+ Bouteville.
+
+* Applications: apps/examples:
+
+ - apps/examples/alarm: Add a simple test of the ALARM iotcl calls of
+ the RTC driver.
+ - apps/examples/nximage: Add a configuration option to select
+ greyscale.
+
+* Platforms: apps/platform:
+
+ - apps/platform/nucleo-144: Add platform files for NUCLEO-144
+ (NUCLEO-F746ZG). From Mark Olsson.
+ - apps/examples/media: You can now override the default device driver
+ path by providing an alternal path on the command line. From
+ Sébastien Lorquet.
+</code></pre></div></div>
+
+<p>Works-In-Progress:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* IEEE802.14.5/6LowPAN. Hooks and framework for this effort were
+ introduced in NuttX-7.15. Work has continued on this effort on
+ forks from the main repositories, albeit with many interruptions.
+ The completion of this wireless feature will postponed until at
+ least NuttX-7.17.
+
+* i.MX6 SMP. Partially functional, but there is more that still
+ needs to be done.
+</code></pre></div></div>
+
+<p>Bugfixes. Only the most critical bugfixes are listed here (see the
+ChangeLog for the complete list of bugfixes and for additional, more
+detailed bugfix information):</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - Various places: Search for places where a stray semicolon following
+ an if condition cause the if body to be executed unconditionally.
+ Fixes in all SAM DMA logic, unionfs, OS signalling logic, and others.
+ - enter/leave_critical_section() may attempt to access task lists
+ before they have been initialized in the SMP configuration.
+
+* File System/Block Drivers:
+
+ - SMART MTD: Return code of smart_scan not checked, can cause success
+ result in failure case, leading to 'dev' pointer being invalid. From
+ Dave (ziggurat29)
+ - mount: Fix a backward debug assertion. Noted by David Sidrane.
+
+* Common Drivers:
+
+ - NRF24L01: Fix backward calculation of relative frequency. Noted by
+ Henry Zhang.
+ - PCA9555 I/O expander: Fix an error in the PCA9555 driver: Under
+ certain error conditions, interrupts were not being re-enabled.
+ Sebastien Lorquet.
+ - ADS1255: Must not do SPI access from interrupt handler. Use the
+ worker thread instead. Must also lock the SPI bus before using it.
+ - Several SPI-based drivers modified. All drivers that use SPI must
+ call SPI_LOCK and SPI_UNLOCK. This is not optional.
+ - MS583730: Fix a bug in crc computation for ms583730. Implement
+ POSIX read.
+
+* Atmel SAMV7:
+
+ - Fix typo in MATRIX register definitions. From Stefan Kolb.
+ - SAMV7 Tickless Mode: This is a fix to a problem in the handling of
+ the oneshot timer. Due to a wrong assumption concerning the behavior
+ directly after the start of the timer/counter the function
+ sam_oneshot_cancel(â¦) calculates the wrong remaining time. The code
+ assumes that the counter register is zero directly after the start
+ of the timer, but this is not true. To start the time/counter a
+ software trigger is invoked, this trigger starts the timer/count and
+ sets the counter register to zero, but the reset of the counter
+ register is not performed instantly. According to the datasheet:
+ "The counter can be reset by a trigger. In this case, the counter
+ value passes to zero on the next valid edge of the selected clock."
+ Thus the counter is set to zero between 0 and USEC_PER_TICK
+ microseconds after the clock was started.
+ In my fix I use the freerun count value to determine if at least one
+ tick passed since the start of the timer and thus if the value of
+ the oneshot counter is correct. I also tried to use the function
+ up_timer_gettime(â¦) to achieve this but, at least if compiled with
+ no optimization the problem vanishes without using the value of the
+ function, the function call takes too long.
+ Another problem treated in the fix is that if the oneshot timer/counter
+ is canceled, we only know the remaining time with a precision of
+ USEC_PER_TICK microseconds. This means the calculated remaining time
+ is between 0 and USEC_PER_TICK microseconds too long. To fix this I
+ subtract one tick if the calculated remaining time is greater than
+ one tick and otherwise set the remaining time to zero. By doing so
+ the measured times are much more precise as without it. From Stefan
+ Kolb.
+
+* Atmel SAMA5:
+
+ - SAMA5: Stefan Kolb's change to the SAMV7 Oneshot Timer should also
+ be applied to the SAMA5 oneshot time since the drivers are identical.
+
+* Atmel SAM3/4:
+
+ - SAM3/4: Stefan Kolb's change to the SAMV7 Oneshot Timer should also
+ be applied to the SAM3/4 oneshot time since the drivers are identical.
+
+* Atmel SAMV7 Drivers:
+
+ - SAMV7 TWIHS (as well as SAM3/4 and SAMA5: Ensure that the TWIHS
+ (i2c) hw get's its clock set when the sequence of
+ sam_i2cbus_initialize(), sam_i2cbus_uninitialize(), then
+ sam_i2cbus_initialize() or twi_reset() is called. I found this a
+ while back in the stm32 family, so there may be more arch-es with
+ this sort of bug. I suppose any driver that has the notion of "do
+ not set the freq if it is already set" could be suspect. From David
+ Sidrane.
+ - USBHS Device: Remove disabling of whole USB on suspend of USBHS.
+ This fix removes the disabling of the whole USB peripheral on
+ suspend interrupt. Its enough to freeze the clock instead. When
+ disabling the whole peripheral, the next wakeup-interrupt comes up
+ with an disabled clocking. The unfreeze clock has no effect, because
+ the master clock is disabled. This makes all registers, including
+ the IDR unwriteable and the IRQ falls in an endless loop blocking
+ the whole system. Furthermore the disabling of the peripheral clock
+ prevents hotplugging or reconnecting the USB. From Frank Benkert.
+ - MCAN: Fix missing unlock of device in MCAN mcan_txempty(). From
+ Frank Benkert.
+
+* STMicro STM32:
+
+ - STM32 L4 Clocking: Problem with resetting backup domain clears
+ clocking options set up before in *rcc.c use INITS flag to avoid
+ magic reg value to detect power up reset state of RTC correct a
+ problem clearing interrupt flags (they weren't) which prevented an
+ alarm from ever being used more than once per reset cycle. From
+ Dave (ziggurat29)
+
+* STMicro STM32 Drivers:
+
+ - STM32L4 SPI: That STM32Lr SPI driver is quite different. They now
+ handle frames of arbitrary size between 4 and 16 bits. It was broken
+ before a new bit has to be set (RX fifo threshold) to handle <= 8-bit
+ transactions. If not set, the default is 16-bit packed >=8-bit
+ frames and the RXNE bit is never set (it is set when 16-bits are
+ received). weird things as always. This also add 8-bit access
+ routines to the data register, because a 16-bit access to the data
+ register when the frame size is below 9 bits is interpreted as a
+ packed dual frame exchange. Sebastien Lorquet.
+ - STM32: Correct some bad commits that broke the LTDC display example.
+ From Marco Krahl.
+ - STM32 F4 RTC: Fix logic in F4 RTCC driver that prevent ALARM
+ interrupt. From Neil Hancock.
+ - STM32 F1 ADC: Fix STM32 ValueLine ADC IRQ number selection. From
+ David Sidrane.
+
+* STMicro STM32 Boards:
+
+ - STM32F429I Discovery: Correct some bad commits that broke the LTDC
+ display example. From Marco Krahl.
+
+* TI Tiva:
+
+ - GPIO Interrupts: Fix a bug of GPIO falling-edge interrupt for tiva.
+ From Young.
+
+* C Library:
+
+ - math: Add a NAN test on 'x' in asin function of lib_asin.c. Suggested
+ by Pierre-noel Bouteville.
+
+* Build/Configuration System:
+
+ - Several Makefiles: Add .PHONY definitions to prevent 'clean up to date'
+ message weirdness when 'make clean' is done with no .config or
+ Make.defs file.
+</code></pre></div></div>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2020 </p>-->
+ <footer class="site-footer">
+ <div class="wrapper">
+ <div class="footer-col-wrapper">
+
+ Apache NuttX is an effort undergoing <a href="https://incubator.apache.org/index.html">Incubation</a>
+ at The Apache Software Foundation (ASF), sponsored by the 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.
+ <hr>
+
+ <div style="text-align:center;">
+
+ <div style="margin-top: 20px; margin-bottom: 20px;">
+ <a href="http://incubator.apache.org"><img src="/assets/themes/apache/img/egg-logo.png"
+ alt="Apache Incubator"/></a>
+ </div>
+
+ <div>
+ Copyright © 2019 <a href="http://www.apache.org">The Apache Software Foundation</a>.
+ Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
+ 2.0</a>.
+ <br>
+
+ Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+ Software Foundation.
+
+ </div>
+ </div>
+ </div>
+ </div>
+</footer>
+
+ </footer>
+ </div>
+
+
+ <script src="/assets/themes/apache/jquery/jquery-2.1.1.min.js"></script>
+
+ <script src="/assets/themes/apache/bootstrap/js/bootstrap.min.js"></script>
+
+
+ </body>
+</html>
+
diff --git a/content/releases/7.17/index.html b/content/releases/7.17/index.html
new file mode 100644
index 0000000..042a506
--- /dev/null
+++ b/content/releases/7.17/index.html
@@ -0,0 +1,843 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>7.17</title>
+
+ <meta name="author" content="">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le styles -->
+ <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+ -->
+
+ </head>
+
+ <body>
+
+ <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <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>
+ <a class="navbar-brand" href="/">
+ <img src="/assets/themes/apache/img/logo.png" width="30">
+ Apache NuttX
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav navbar-right">
+ <li id="community">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
+ <ul class="dropdown-menu dropdown-left">
+ <li><a href="/community">Get Involved</a></li>
+ <li><a href="/community-members">Who we are</a></li>
+ </ul>
+ </li>
+ <li><a href="https://github.com/apache/incubator-nuttx">GitHub</a></li>
+ <li id="apache">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ <li><a href="http://www.apache.org/events/current-event">Events</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+
+ <div class="container">
+
+
+<!--<div class="hero-unit 7.17">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <!--
+
+-->
+
+<h2 id="nuttx-717-release-notes">NuttX-7.17 Release Notes</h2>
+
+<p>The 117th release of NuttX, Version 7.17, was made on July 25, 2016,
+and is available for download from the Bitbucket.org website. Note
+that release consists of two tarballs: nuttx-7.17.tar.gz and
+apps-7.17.tar.gz. These are available from:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://bitbucket.org/nuttx/nuttx/downloads
+https://bitbucket.org/nuttx/apps/downloads
+</code></pre></div></div>
+
+<p>Both may be needed (see the top-level nuttx/README.txt file for build
+information).</p>
+
+<p>Additional new features and extended functionality:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* File System and Block and MTD Drivers:
+
+ - drivers/mtd: Add a driver of IS25xP SPI flash devices. Based on
+ sst25xx driver. From Marten Svanfeldt.
+
+* Networking and Network Drivers:
+
+ - Break out internal interface psock_ioctl().
+
+* Common Device Drivers:
+
+ - PTYs: Added support for pseduo-terminals: Device drivers that can be
+ used for communications between tasks (usually with re-directed I/O).
+ Based on existing pipe logic.
+ - Button upper half driver: Added support for poll().
+ - CAN: Add support for poll. From Paul Alexander Patience.
+ - GPIO: Add support for a simple GPIO driver. It supports only pre-
+ configured input, output, and interrupting pins with basic input and
+ output operations. Interrupt events can lead to notification via a
+ signal.
+ - I/O Expander: Shadow-Mode: The output- and configuration registers of
+ the IO-Expander are held in the microcontrollers memory and only
+ written to the IO-Expander. This reduces bus traffic and is more
+ error-proof than the normal read-modify-write operation. Retry Mode:
+ If enabled and an error occurs while writing to the IO-Expander the
+ current transmission is automatically repeated once. From Michael
+ Spahlinger.
+ - Pipes/FIFOs: Add support to allocating different sizes for pipe and
+ fifo buffers. Adds mkfifo2() and pipe2() which are just like mkfifo()
+ and pipe(), but allow control of the size of the underlying, in-memory
+ circular buffer. Move pipe() and mkpipe() to the C library, they are
+ no longer core OS interfaces. Capability currenty used only by PTY
+ logic to support, configurable, smaller buffers for PTYs.
+
+* SYSLOG/Debug Output:
+
+ - SYSLOG: Consolidated all SYSLOG logic in drivers/syslog. Added an
+ abstraction layer that supports: (1) redirection of SYSLOG outpout.
+ This is usually so that you can boot with one SYSLOG output but
+ transition to another SYSLOG output when the OS has initialialized,
+ (2) adds common serialization of interrupt output as a configuration
+ option. Without this configuration setting, interrupt level output
+ will be asynchronous. And (3) vsyslog is now a system call and is
+ usable with other-than-FLAT builds.
+ - SYSLOG: syslog() will now automatically redirect output to
+ lowsyslog() if called from an interrupt handler.
+ - Extended SYSLOG logic so that we can send SYSLOG output to a file.
+ - SYSLOG character device channel will now expand LF to CR-LF.
+ Controllable with a configuration option.
+ - Add a SYSLOG character device that can be used to re-direct output
+ to the SYSLOG channel (Not be be confused the the SYSLGO output to a
+ character device).
+ - Debug features are now enabled separately from debug output.
+ (1) CONFIG_DEBUG is gone. It is replaced with CONFIG_DEBUG_FEATURES.
+ (2) The macros dbg() and vdbg() have renamed as _err() and _info(),
+ respectively. This also applies to all of the variants as well,
+ XXdbg() and XXvdbg(). (3) Add a new debug level, _warn() (and
+ all variants XXwarn(), XXvwarn(), etc.). (4) Debug assertions can
+ now be enabled separately from debug output. (5) You can now enable
+ subsystem/device driver debug output at different output levels. For
+ example, CONFIG_DEBUG_FS no longer enables file system debug output
+ It enables general file system debug logic and enables selection of
+ CONFIG_DEBUG_FS_ERROR, CONFIG_DEBUG_FS_WARN, and CONFIG_DEBUG_FS_INFO.
+ - Since the SYSLOG layer now automatically handles low-level vs.
+ high-level output, the low-level (ll) variants of the debug macros
+ were eliminated.
+ - Reviewed all uses of *err(). These macro family should indicate
+ only error conditions. Convert *err() to either *info() or add
+ ERROR:, depending on if an error is reported.
+ - _alert(): New debug macro: _alert(). This is high priority,
+ unconditional output and is used to simplify and standardize crash
+ error reporting.
+ - Many CONFIG_DEBUG_* options did not have matching macros defined in
+ include/debug.h. Rather, there were various definitions scattered
+ throughout the sourse tree. These were collected together and
+ centralized with single macro definitions in include/debug.h
+
+* Simulation Platform:
+
+ - Added the simulated QSPI (N25Q) flash to the simulation and extened
+ flash simulation capabilities to run with MTD drivers based on config
+ options (currently m25p, sst26 and w25). From Ken Pettit.
+
+* Atmel SAMV7 Drivers:
+
+ - SPI: SPI-Freq. 40MHz; VARSELECT; hw-features This change adds the
+ following improvements:
+
+ o Increase the allowed SPI-Frequency from 20 to 40 MHz.
+ o Correct and rename the "VARSELECT" option This option was
+ included in the code as "CONFIG_SPI_VARSELECT" but nowhere
+ defined in a Kconfig file. The change renames it to
+ "CONFIG_SAMV7_SPI_VARSELECT" and corrects the implementation
+ according the datasheet of Atmel. In short, this option
+ switches the processor from "fixed peripheral selection"
+ (single device) to "variable peripheral selection" (multiple
+ devices on the bus).
+ o Add a new Function to the interface to control the timing and
+ delays of the chip according the ChipSelect lines. This function
+ can control the delay between the assertion of the ChipSelect and
+ the first bit, between the last bit and the de-assertion of the
+ ChipSelect and between two ChipSelects. This is needed to tune
+ the transfer according the specification of the connected devices.
+ o Add three "hw-features" for the SAMV7, which controls the behavior
+ of the ChipSelect:
+ - force CS inactive after transfer: this forces a (short) de-
+ assertion of the CS after a transfer, even if more data is
+ available in time
+ - force CS active after transfer: this forces the CS to stay
+ active after a transfer, even if the chip runs out of data.
+ Btw.: this is a prerequisit to make the LASTXFER bit working
+ at all.
+ - escape LASTXFER: this suppresses the LASTXFER bit at the end
+ of the next transfer. The "escape"-Flag is reset automatically.
+
+ From Frank Benkert
+ - TWISHS: Driver improvements from Michael Spahlinger.
+ - GPIO-Driver fixed for Open-Drain Pins:
+
+ o sam_gpioread: Now the actual line level from the pin is read
+ back. This is extremely important for Open-Drain Pins, which
+ can be used bidirectionally
+ o Re-Implemented twi_reset-function and enhanced it so it can be
+ called from inside the driver (see next point)
+ o Glitch-Filter: Added a configuration option to enable the twi-
+ built-in glitch filter
+ o Added a "Single Master Mode": In EMC Testing the TWI-Bus got
+ stuck because the TWI-Master detected a Multi-Master access (but
+ there is no second master). With the option "Single Master" we
+ detect these events and automatically trigger a twi_reset. We
+ also do an automatic recovery if a slave got stuck (SDA stays
+ low).
+
+ With the above changes I²C-Bus reliability in harsh environments (eg.
+ EMC) is greatly improved. The small change in the GPIO-Driver was
+ necessary because otherwise you cannot read back the correct line
+ status of Open-Drain Outputs and this is needed by the twi_reset
+ function. From Michael Spahlinger
+
+* NXP Freescale LPC43xx Drivers:
+
+ - EMC: Extend LPC43xx EMC code to support SDRAM on a dynamic memory
+ interface. From Vytautas Lukenskas.
+
+* NXP Freescale Kinetis:
+
+ - Kinetis K64: Add basic support for the K64 family. I leveraged the
+ changes from https://github.com/jmacintyre/nuttx-k64f and merged
+ into the existing kinetis code with a lot of changes and additions
+ (like pin multiplexing definitions).
+
+* NXP Freescale Kinetis Drivers:
+
+ - Add a Kinetis USB device controller driver. Derived from the pic32mx
+ usb driver, which uses the same usb controller. From kfazz.
+ - Kinetis pwm support, based on the KL pwm driver. From kfazz.
+ - Kinetis Ethernet: Add support for the KSZ8081 PHY.
+ - Kinetis Ethernet: Modified Ethernet driver to try all PHY addresses
+ and then only fail if the driver cannot find a usable PHY address.
+ This means that you no longer have to specific the PHY address in
+ advance.
+ - Kinetis Ethernet: Add support for CONFIG_NET_NOINTS. The driver no
+ longer runs the networking at interrupt level but can defer interrupt
+ work to the high-priority work queue.
+
+* NXP Freescale Kinetis Boards:
+
+ - Teensy-3.x: Add USB support and a usbnsh configuration.
+ From kfazz (2016-06).
+ - Freedom-K64F: Add support for the NXP Freedom-K64F board at 120MHz.
+ This is primarily the work of Jordan Macintyre. I leveraged this
+ code from https://github.com/jmacintyre/nuttx-k64f which was, itself,
+ a leverage from the old K60 TWR configuration. This includes
+ significant corrections (LEDs, buttons, README, etc) and extensions
+ and updates to match more recent BSPs.
+ - Freedom-K64F: Added a configuration that supports networking.
+
+* STMicro STM32:
+
+ - STM32 F1-4: Added support for the STM32F105R. From Konstantin
+ Berezenko.
+ - STM32 F4: Added support for the STM32F76xxx and STM32F77xx
+ families. From David Sidrane.
+ - STM32 F1-4: Add support for Tickless mode (two timer
+ implementation). From Max Neklyudov.
+ - STM32 L4: Add support for tickless OS, and incidentally timers,
+ PWM, oneshot, free-running.... From ziggurat29.
+
+* STMicro STM32 Drivers:
+
+ - STM32 F1-4: Add the up_getc() function to STM32 in order to support
+ the minnsh configuration. From Alan Carvalho de Assis.
+ - STM32 F7: Add SPI driver. From David Sidrane.
+ - STM32 F7: Add SPI, I2C, and ADC drivers. From Lok Tep.
+ - STM32 L4: Add ioctls to set/get CAN bit timing in stm32l4. Add
+ ioctl hooks to allow future management of can id filters. From
+ Sebastien Lorquet.
+ - STM32 L4: Add some CAN mode IOCTL calls. These will be useful for
+ device autotest when the application boots. They are redundant
+ with the CONFIG_CAN_LOOPBACK option, which can now just be
+ interpreted as a default setting. From Sebastien Lorquet.
+ - STM32 F1-4: Port STM32L4 CAN IOCTLs to STM32. From Sebastien Lorquet.
+ - STM32 L4: Implementation of loopback IOCTLs. From Sebastien
+ Lorquet.
+ - STM32 F7: Added SDMMC1 support for stm32F7 74-75. From Lok Tep.
+ - STM32 F7: Add USB support. From Lok Tep.
+ - STM32 F7: Added PWR, RTC, and BBSRAM support for stm32f7. From David
+ Sidrane.
+ - STM32 F7: Added STMF7xxx RTC. From David Sidrane.
+ - STM32 F7: Added STM32F7 DBGMCU. From David Sidrane.
+ - STM32 L4: Port support for both RX FIFOs from STM32 CAN. From Paul
+ Alexander Patience.
+
+* STMicro STM32 Boards:
+
+ - Added a minnsh configuration for the STM32F103-Minimum board. From
+ Alan Carvalho de Assis .
+ - Added support for the Nucleo-F767ZI board. From David Sidrane.
+ - Nucleo-144/Nucleo-F767ZI: Add test for STM32 F7 SPI. From David
+ Sidrane.
+ - Nucleo-144: Added SDMMC support to Nucleo-144. From David Sidrane.
+ - Olimex STM32-E407: Add support for Olimex STM32 E407 board. From
+ Mateusz Szafoni.
+ - Nucleo-144: Added USB OTG device to Nucleo-144. From David Sidrane.
+ - Nucleo-144: Added bbsram test to Nucleo-144. From David Sidrane.
+ - STM32F4 Discovery: add CAN support for STM32F4 Discovery. From
+ Matthias Renner.
+ - STM32F4 Discovery: added a canard configuration files. From
+ Matthias Renner.
+ - STM32F4 Discovery: Add FPU support for ostest for the STM32F4
+ Discovery platform. From David Alessio.
+ - STM32L476 Discovery: Update stm32l476 disco to include init code for
+ smartfs and nxffs for cases where those fs are included in build.
+ From ziggurat29.
+
+* C Library/Header Files:
+
+ - include/assert.h: Check if NDEBUG is defined. From Paul Alexander
+ Patience.
+ - assert.h: Define static assert for C++ usage. From Paul Alexander
+ Patience.
+ - Add crc64 support. From Paul Alexander Patience.
+ - hex2bin: Move the portable library portion of apps/system/hex2bin
+ the C library with the OS internals. It is used in certain internal
+ boot-loader builds.
+ - Add raise().
+ - libm: This change should significantly improve the performance of
+ single precision floating point math library functions. The vast
+ majority of changes have to do with preventing the compiler from
+ needlessly promoting floats to doubles, performing the calculation
+ with doubles, only to demote the result to float. These changes only
+ affect the math lib functions that return float. From David Alessio.
+ - printf(): If there are no streams, let printf() fall back to use
+ syslog() for output.
+ - Move pipe() and mkpipe() to nuttx/libc, they are no
+ longer core OS interfaces. Capability currenty used only by PTY logi
+ to support, configurable, smaller buffers for PTYs.
+ - Move driver-related files from include/nuttx to include/nuttx/drivers.
+ Move driver related prototypes out of include/nuttx/fs/fs.h and into
+ new include/drivers/drivers.h.
+ - include /nuttx/lib: Move library-related files from include/nuttx to
+ include/nuttx/lib.
+
+* Build/Configuration System:
+
+ - Custom Board Configuration: Add logic to support custom board
+ directories that include a Kconfig file. During the context phase
+ of the build, any Kconfig file in the custom board directory is
+ copied into configs/dummy, replacing the existing Kconfig file with
+ the target Kconfig file.
+ - Remove the includes/apps link to apps/include. It is no longer
+ used. From Sebastien Lorquet.
+
+* Tools:
+
+ - tools/tesbuild.sh will now build NxWM configurations.
+
+* Appplication Build/Configuration System:
+
+ - Change to the way that apps/ Kconfig files are generated in
+ order to better support reuse of the apps/ directory in NuttX
+ products. Changes include: Make the full tree use wildcards
+ make.defs, Add empty preconfig rules to 'leaf' makefiles, Use
+ directory.mk for recursive dir makefiles, Individual app kconfig
+ fixes, Recursive Kconfig autogeneration, Add kconfig files for
+ pcode and tiff, and fix a gitignore rule, From Sébastien Lorquet.
+ - apps/include directory structure reorganized. There are no longer
+ any header files in the apps/include/. directory. Rather, sub-
+ directories were added to match the partitioning of apps/ sub-
+ directories and the header files were moved into the appropriate
+ sub-directory. This change is intended to help with some changes
+ being considered by Sébastien Lorquet.
+ - Call all includes from <apps/bla/bla.h> to "bla/bla.h". From Sebastien
+ Lorquet.
+ - Add apps/include to include path in top-level Make.defs file.
+
+* Applications: apps/nshlib:
+
+ - Make NSH net-initialization be a configuration option. From Marten
+ Svanfeld.
+ - Add NTP client initialization in NSH network startup logic. From
+ David S. Alessio .
+ - 'ps' command now prints out the stack usage if stack coloration is
+ enabled. From Frank Benkert.
+ - Allow stack usage to be disabled on constrained systems. From David
+ Sidrane.
+
+* Applications: apps/netutils:
+
+ - NTP Client: Add retries. From David S. Alessio.
+ - NTP Client: The NTP client will now optionally use pool.ntp.org as
+ the NTP server; and reset the retry count upon success -- more robust.
+ From David Alessio.
+ - ESP8266: Add logic to set the BAUD rate. From Pierre-noel Bouteville.
+ - ESP8266: In Kconfig, select ARCH_HAVE_NET when NETUTILS_ESP8266 is
+ selected. This allows, among other things, support for network debug
+ output. From Pierre-noel Bouteville.
+
+* Applications: apps/fsutils:
+
+ - flash_eraseall: IOCTL wrapper for MDCIO_BULKERASE command. Was in
+ nuttx/drivers/mtd. Moved to apps/fsutils because the call directly into
+ the OS was incorrect.
+
+* Applications: apps/canutils:
+
+ - canlib: Basic CAN utility library. From Sebastien Lorquet.
+
+* Platforms: apps/system:
+
+ - flash_eraseall: Now uses the IOCTL wrapper at apps/fsutils/flash_eraseall.
+
+* Platforms: apps/platform:
+
+ - Add platform files for Olimex STM32 E407. From Mateusz Szafoni.
+
+* Applications: apps/examples:
+
+ - apps/examples/canard: Add canard example application. From
+ Matthias Renner.
+ - apps/examples/pty_test: PTY test program. From Alan Carvalho de
+ Assis.
+</code></pre></div></div>
+
+<p>Works-In-Progress:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* IEEE802.14.5/6LowPAN. Hooks and framework for this effort were
+ introduced in NuttX-7.15. Work has continued on this effort on
+ forks from the main repositories, albeit with many interruptions.
+ The completion of this wireless feature will postponed until at
+ least NuttX-7.18.
+
+* i.MX6 SMP. Partially functional, but there is more that still
+ needs to be done.
+</code></pre></div></div>
+
+<p>Bugfixes. Only the most critical bugfixes are listed here (see the
+ChangeLog for the complete list of bugfixes and for additional, more
+detailed bugfix information):</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - semaphores: Need to set errno to EINVAL on errors in sem_post()
+ and sem_wait(). From Paul Alexander Patience.
+
+* File System/Block Drivers/MTD Drivers:
+
+ - Several MTD FLASH drivers nullify the freed 'priv' structure and
+ failed to return NULL as stated in the comments. Result, will
+ operate on a NULL pointer later. Noted by David Sidrane.
+ - VFS ioctl(). Per comments from David Sidrane, file_ioctl() should
+ not return succeed if the ioctl method is not supported. It
+ probably should return ENOTTY in that case.
+ - SST26 Driver: Before accessing the sst26 flash, the "Global Unlock"
+ command must me executed, which I do in the sst26 driver. BUT re-
+ reading the datasheet, the WREN instruction is required to enable
+ the execution of this command. This was not done. I have no idea how
+ the driver currently works except by chance. The writes should never
+ happen at all, the flash is half-enabled! From Sebastien Lorquet.
+ - N25Qxx Driver: Alter the notion of 'blocksize' to be equivalent to
+ 'flash write page size' in order to align with assumptions in the
+ smartfs driver (at least, maybe other things do as well). Correct a
+ bug that was previously masked by having blocksize=eraseblocksize
+ which would cause buffer overflows and delicious hardfaults.
+ Trivial spelling changes in comments, etc. From ziggurat29.
+ - SmartFS: Fix a 32-byte memory leak. From Ken Pettit.
+ - SMART MTD layer: Fixes freesector logic error when sectorsPerBlk=256,
+ adds DEBUGASSERT for invalid geometry and additional memory debug
+ logic. Also fixes the dangling pointer on error bug. From Ken
+ Pettit.
+
+* Common Drivers:
+
+ - USB CDC/ACM Device Class: cdcacm_unbind leaks write request objects.
+ This arises due to freeing the bulk IN endpoint before the loop
+ that frees the requests via cdcasm_freereq. That function checks
+ the parameters and skips the freeing if either is NULL. Freeing
+ the bulk IN enpoint will cause the first param to be NULL, thereby
+ bypassing the free operation. To fix, I moved the release of the
+ bulk IN endpoint until after to loop (much as was the case for the
+ OUT and read requests, which did not exhibit the problem). From
+ ziggurat29.
+ - Pipes and FIFOs: Add missing configuration for pipe ring buffer
+ size. From Frank Benkert.
+ - UART 16550: Handle when CONFIG_SERIAL_UART_ARCH_IOCTL is not
+ enabled. From Heath Petersen.
+ - Common Serial Upper Half: Fix a race condition noted by Stefan
+ Kolb. Between the test if the TX buffer is full and entering a
+ critical section, bytes may be removed from the TX buffer making
+ the wait unnecessary. The unnecessary wait is an inefficiency,
+ but not really a problem. But with USB CDC/ACM it can be a problem
+ because the entire TX buffer may be emptied when we lose the race.
+ If that happens that uart_putxmitchar() can hang waiting for data
+ to be removed from an empty TX buffer.
+ - USB MSC Device Class: Add locks when removing request from queue.
+ From Wolfgang Reissnegger.
+ - USB MSC Device Class: Fix reversed logic on waiting for SCSI thread
+ start. The scsi thread was waiting for the wrong condition.
+ However, this was masked by the fact that the code creating the
+ scsi thread was also holding usbmsc_scsi_lock(priv) while
+ initializing data, hence this lock synchronized the scsi thread
+ start with init completion. From Wolfgang Reissnegger.
+
+* Graphics and Graphic Drivers:
+
+ - Correct conditional compilation in ST7565 LCD driver. From Pierre-
+ noel Bouteville
+
+* Networking:
+
+ - In both IPv6 and IPv4 incoming logic: (1) Should check if the
+ packet size is large enough before trying to access the packet
+ length in the IP header. (2) In the comparison between the IP
+ length and the full packet length, need to subtract the size of
+ he link layer header before making the comparison or we will get
+ false positives (i.e., the packet is really too small)
+ - TCP Networking: While working with version 7.10 I discovered a
+ problem in TCP stack that could be observed on high network load.
+ Generally speaking, the problem is that RST flag is set in
+ unnecessary case, in which between loss of some TCP packet and its
+ proper retransmission, another packets had been successfully sent.
+ The scenario is as follows: NuttX did not receive ACK for some sent
+ packet, so it has been probably lost somewhere. But before its
+ retransmission starts, NuttX is correctly issuing next TCP packets,
+ with sequence numbers increasing properly. When the retransmission
+ of previously lost packet finally succeeds, tcp_input receives the
+ accumulated ACK value, which acknowledges also the packets sent in
+ the meantime (i.e. between unsuccessful sending of lost packet and
+ its proper retransmission). However, variable unackseq is still set
+ to conn->isn + conn->sent, which is truth only if no further
+ packets transmission occurred in the meantime. Because of incorrect
+ (in such specific case) unackseq value, few lines further condition
+ if (ackseq <= unackseq)is not met, and, as a result, we are going to
+ reset label. From Jakub ÅÄ
gwa.
+
+* ARMv7-M:
+
+ - ARM stack check: Fix double fault on IDLE task with stack size = 0.
+ From David Sidrane.
+
+* Atmel SAMV7 Drivers:
+
+ - CAN: CAN Message Filtering fixed: (1) stdfilters didn't work because
+ the filter was never enabled (wrong number of bits to shift), and
+ (2) Filters were never used because the configuration register
+ cannot be written without using the initialization mode. Both bugs
+ are fixed by this change. Filtering has been tested with both
+ standard and extended identifiers and is now working properly. From
+ Michael Spahlinger.
+
+* Atmel SAMA5:
+
+
+* Atmel SAM3/4 Drivers:
+
+ - Fix some errors in AFEC header file. From OrbitalFox.
+ - DAC: DACC_WPMR_WPKEY_MASK -> DACC_WPMR_WPKEY. From Wolfgang
+ Reissnegge.
+ - Timer: Fix ops check in TCIOC_STOP. From Wolfgang Reissnegge.
+ - I2C: Fix reversed logic in twi_startmessage(). From Wolfgang
+ Reissnegger.
+ - SAM3/4 UDP: Fix handling of endpoint RX FIFO banks. This fixes
+ a race condition where the HW fills a FIFO bank while the SW is
+ busy, resulting in out of sequence USB packets.
+
+* Atmel SAMV7 Drivers:
+
+ - USBHS Device: This change solves a problem which causes data loss
+ while sending data via USB. This problem is caused by an incorrect
+ handling of the endpoint state in the USB driver sam_usbdevhs. This
+ leads under some circumstances to situations in which an DMA
+ transfer is setup while a previous DMA transfer is currently active.
+ Amongst other things I introduced the new endpoint state
+ USBHS_EPSTATE_SENDING_DMA for the fix. To reproduce the problem, I
+ used a program which send as many data as possible via a CDC/ACM
+ device and verified the received data on the PC. From Stefan Kolb.
+
+* NXP Freescale Kinetis Drivers:
+
+ - Timers: Support up to 8 channels per timer. From kfazz.
+
+* NXP Freescale Kinetis Boards:
+
+ - Teensy 3.x clock fixes: The High Gain bit in MCG_C1 was preventing
+ teensy from booting except after a programming session. The second
+ change doesn't appear to change any functionality, but complies with
+ restrictions in the k20 family reference manual on FEI -> FBE clock
+ transiions. From kfazz.
+
+* NXP Freescale LPC17xx Drivers:
+
+ - LPC17 Ethernet: Needs to correctly ignore PHYID2 revision number
+ when comparing PHY IDs.
+
+* NXP Freescale LPC43xx Drivers:
+
+ - Fix errors in GPIO interrupt logic. From v01d (phreakuencies)
+ - Ethernet: Correct auto-negotiation mode in the LPC43xx Ethernet.
+ From Alexander Vasiljev
+ - Writing zero to NVIC_IRQ_ENABLE has no effect. Disable interrupts
+ with NVIC_IRQ_CLEAR. From Paul Alexander Patience.
+ - SPIFI: If CONFIG_SPIFI_SECTOR512 undefined, lpc43_bwrite doesn't do
+ actual write (probably copy/paste errors). Still not sure about
+ current state of lpc43_spifi implementation, but for me NXFFS works
+ with this change. From Vytautas Lukenskas.
+
+* Qemu-i486:
+
+ - Fix qemu-i486/ostest/Make.defs test for M32. From Heath Petersen.
+
+* SiLabs EFM32 Drivers:
+
+ - Fix EFM32 FLASH conditional compilation. From Pierre-noel
+ Bouteville
+ - Writing zero to NVIC_IRQ_ENABLE has no effect. Disable interrupts
+ with NVIC_IRQ_CLEAR. From Paul Alexander Patience.
+
+* STMicro STM32:
+
+ - STM32 F1-F4: In PWM driver, just update duty if frequency is not
+ changed and PSM started. This removeis glitch or blinking when
+ only duty is frequently changed. From Pierre-noel Bouteville.
+
+* STMicro STM32 Drivers:
+
+ - STM32 F7: Fixed STM32F7 DMA stm32_dmacapable. DMA working on SDMMC.
+ From David Sidrane.
+ - STM32 F1-F4 Timer Driver: Change calculation of per- timer pre-scaler
+ value. Add support for all timers
+ - STM32 F1-F4: Correct conditional compilation in STM32 timer capture
+ logic. From Pierre-noel Bouteville
+ - STM32 F1-F4: Fix STM32 DMA code and configuration for STM32F37X chips.
+ From Marten Svanfeldt.
+ - STM32 F1-F4: Fix compilation errors in debug mode of stm32_pwm.c.
+ From Konstantin Berezenko.
+ - STM32 F1-F4: Correct the CAN2 RX IRQ number for stm32f10xx chips.
+ From Konstantin Berezenko.
+ - STM32 F1-F4: Move backup domain reset to to earlier in the
+ initialization sequence (stm32_rcc.c() in order to avoid disabling
+ LSE during RTC initialiation. From Alan Carvalho de Assis.
+ - STM32 F1-F4: When configuring a GPIO via stm32_configgpio() the
+ function will first set the mode to output and then set the initial
+ state of the gpio later on. If you have an application with an
+ externaly pulled-up pin, this would lead to a glitch on the line
+ that may be dangerous in some applications (e.G. Reset Line for
+ other chips, etc). This changes sets the output state before
+ configuring the pin as an output. From Pascal Speck .
+ - STM32 F7: Apply Pascal Speck's GPIO STM32 change to STM32 L4.
+ - STM32 L4: Apply Pascal Speck's GPIO STM32 change to STM32 L4.
+ From Sebastien Lorquet.
+ - STM32 F7: BUGFIX: PLLs IS2 and SAI P Calculation. From David
+ Sidrane.
+ - STM32 L4: STM32 CAN fixes need to be backported to STM32L4 as well.
+ - STM32 F1-F4 and L4: Writing zero to NVIC_IRQ_ENABLE has no effect.
+ Disable interrupts with NVIC_IRQ_CLEAR. From Paul Alexander
+ Patience.
+ - STM32 F7: STMF7xxx RTC: (1) Remove proxy #defines, (2) Ensure the
+ LSE(ON) etal are set and remembered in a) A cold start (RTC_MAGIC
+ invalid) of the RTC, and b) A warm start (RTC_MAGIC valid) of the
+ RTC but a clock change. The change was needed because in bench
+ testing a merge of the latest's STM32 53ec3ca (and friends) it
+ became apparent that the sequence of operation is wrong in the
+ reset of the Backup Domain in the RCC code. PWR is required before
+ the Backup Domain can be futzed with. !!!This Code should be tested
+ on STM32 and if needed rippled to the STM32 families. From David
+ Sidrane.
+ - STM32 F1-F4: STM32 BBSRAM fixed (and formatted) flags. From David
+ Sidrane.
+ - STM32 F7: STM32F7 BBSRAM fixed (and formatted) flags. From David
+ Sidrane.
+ - STM32 L4: Fix incorrect clock setup for LPTIM1. From ziggurat29.
+ - STM32 F4/L4 RTC ALARM: were enabling interrupts too early in the
+ power-up sequence, BEFORE the interrupt system was being
+ initialized.
+
+* STMicro STM32 Boards:
+
+ - STM32 board.h: Fix STM32 timer input clock definitions. From David
+ Sidrane.
+
+* TI Tiva Drivers:
+
+ - Bug Fix in tiva_serial.c - UART5, UART6 and UART7 were not being
+ configured as TTYS0 for printing over serial console. From Shirshak
+ Sengupta.
+
+* C Library/Header Files:
+
+ - include/signal.h: Change type of SIG_ERR, SIG_IGN, ... to
+ _sa_handler_t. The type void does not work with the IAR toolchain.
+ From Aleksandr Vyhovanec.
+ - crc16: fix error. From Paul Alexander Patience.
+ - strtoul() and strtoull(): Fix errno settings required by function
+ definition. Resolved Bitbucket Issue #1. From Sebastien Lorquet.
+
+* Build/Configuration System:
+
+ - Build system: This change fixes a build problem that only occurs
+ when reconfiguring from Linux to Windows or vice-versa. It is a
+ problem that was present but not usually experienced until two
+ things happened: (1) The pre_config target was added to run before
+ the menconfig operation and (2) the context target was added before
+ the pre_config target in order to set up the correct symbolic links
+ (in the apps/platform directory) needed by the pre_config target.
+ But then now if you start with a Linux system and run 'make
+ menuconfig' to switch to Linux, the context target will execute
+ first and set up POSIX style symbolic links before doing the
+ menuconfig. Then after the menuconfig, the make will fail on
+ Windows if you are using a Windows native toolchain because that
+ native toolchain cannot follow the Cygwin- style symbolic links.
+ The fix here is to also execute the clean_context AFTER executing
+ menuconfig. A lot more happens now: It used to be that doing
+ 'make menuconfig' only did the menuconfig operation. Now it does
+ context, pre_config, menuconfig, clean_context. Not nearly as
+ snappy as it used to be.
+ - Need to build the drivers/ directory even it file descriptors are
+ not supported. There are things in the drivers/ directory that are
+ still needed (like SYSLOG logic).
+ - Remove all inclusion of header files from the apps/include
+ directory from NuttX core logic. There should be no dependency on
+ logic within NuttX on logic within apps/. This caused a lot of
+ reshuffling of logic: binfmt pcode support, usbmonitor is now a
+ kernel thread, TZ/Olson database moved to libc/zoneinfo.
+
+* Application Build/Configuration System:
+
+ - Make sure that APPNAME is defined in all Makefiles that generate
+ applications. From Sebastien Lorquet.
+
+* apps/builtins:
+
+ - apps/builtins: exec_builtin was not using the provided open flags.
+ As a result >> redirection was not working; it was treated the same
+ as >.
+
+* apps/nshlib:
+
+ - apps/nshilib: PS Command: When Priority Inheritance is enabled, the
+ format of /proc/<PID>/status changes to show both the current
+ priority and the threadâs base priority. This messes up the format
+ of cmd_ps. From David Alessio.
+
+* apps/netutils:
+
+ - apps/netutils, uIP webserver: Fix a data declaration in a header
+ file.
+
+* apps/canutils:
+
+ - apps/canutils/libuavcan: Fix for recent change to STM32 timer
+ frequency definiitions.
+
+* apps/examples:
+
+ - apps/examples/alarm: ioctl call was clobbering file descriptor.
+ - apps/examples/can: Some variables were not declared in all required
+ cases. From Sebastien Lorquet.
+ - apps/examples/media: media example was intended to take either a
+ command line argument, or a compiled-in default value from config.
+ However, the default was ignored, leading to confusing error
+ messages. From ziggurat29.
+</code></pre></div></div>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2020 </p>-->
+ <footer class="site-footer">
+ <div class="wrapper">
+ <div class="footer-col-wrapper">
+
+ Apache NuttX is an effort undergoing <a href="https://incubator.apache.org/index.html">Incubation</a>
+ at The Apache Software Foundation (ASF), sponsored by the 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.
+ <hr>
+
+ <div style="text-align:center;">
+
+ <div style="margin-top: 20px; margin-bottom: 20px;">
+ <a href="http://incubator.apache.org"><img src="/assets/themes/apache/img/egg-logo.png"
+ alt="Apache Incubator"/></a>
+ </div>
+
+ <div>
+ Copyright © 2019 <a href="http://www.apache.org">The Apache Software Foundation</a>.
+ Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
+ 2.0</a>.
+ <br>
+
+ Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+ Software Foundation.
+
+ </div>
+ </div>
+ </div>
+ </div>
+</footer>
+
+ </footer>
+ </div>
+
+
+ <script src="/assets/themes/apache/jquery/jquery-2.1.1.min.js"></script>
+
+ <script src="/assets/themes/apache/bootstrap/js/bootstrap.min.js"></script>
+
+
+ </body>
+</html>
+
diff --git a/content/releases/7.18/index.html b/content/releases/7.18/index.html
new file mode 100644
index 0000000..0110e0e
--- /dev/null
+++ b/content/releases/7.18/index.html
@@ -0,0 +1,666 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>7.18</title>
+
+ <meta name="author" content="">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le styles -->
+ <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+ -->
+
+ </head>
+
+ <body>
+
+ <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <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>
+ <a class="navbar-brand" href="/">
+ <img src="/assets/themes/apache/img/logo.png" width="30">
+ Apache NuttX
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav navbar-right">
+ <li id="community">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
+ <ul class="dropdown-menu dropdown-left">
+ <li><a href="/community">Get Involved</a></li>
+ <li><a href="/community-members">Who we are</a></li>
+ </ul>
+ </li>
+ <li><a href="https://github.com/apache/incubator-nuttx">GitHub</a></li>
+ <li id="apache">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ <li><a href="http://www.apache.org/events/current-event">Events</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+
+ <div class="container">
+
+
+<!--<div class="hero-unit 7.18">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <!--
+
+-->
+
+<h2 id="nuttx-718-release-notes">NuttX-7.18 Release Notes</h2>
+
+<p>The 118th release of NuttX, Version 7.18, was made on October 8, 2016,
+and is available for download from the Bitbucket.org website. Note
+that release consists of two tarballs: nuttx-7.18.tar.gz and
+apps-7.18.tar.gz. These are available from:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://bitbucket.org/nuttx/nuttx/downloads
+https://bitbucket.org/nuttx/apps/downloads
+</code></pre></div></div>
+
+<p>Both may be needed (see the top-level nuttx/README.txt file for build
+information).</p>
+
+<p>Additional new features and extended functionality:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - Add standard adjtime() interface and basic timekeeping support.
+ Normally used with an NTP client to keep system time in
+ synchronization. From Max Neklyudov.
+ - Use the oneshot timer with optional entropy to measure CPU load if
+ so configured.
+
+* File System and Block and MTD Drivers:
+
+ - Add Fujistu MB85RS256B ramtron support. From Beat Küng.
+ - SPI-based MTD driver for Macronix MX25L3233F or MX25L6433F. From
+ Aleksandr Vyhovanec.
+
+* Graphics/Display Drivers:
+
+ - SH1106 0.96 OLED module support (SSD1306 compatible) + I2C fixes.
+ From v01d (phreakuencies).
+
+* Sensor Drivers:
+
+ - Add KXJT9 Accelerometer driver from the Motorola Moto Z MDK.
+ - Add MFRC522 RFID ISO14443 and Mifare transceiver driver. From Alan
+ Carvalho de Assis.
+ - Add driver for the LIS3MDL 3 axis magnetometer. From Alexander
+ Entinger.
+ - Add driver for the MLX90393 3 axis magnetometer. From Alexander
+ Entinger.
+ - Add driver for the LIS3DSH 3 axis accelerometer. From Alexander
+ Entinger.
+ - Add driver for the Bosch BMG160 3 axis gyroscope. From Alexander
+ Entinger.
+ - Add support for the Sensixs XEN1210 3D-board. This sensor is used
+ on NANOSATC-BR2 a Brazillian CUBESAT project. From Alan Carvalho
+ de Assis.
+ - Add a new ioctl command (set MAXPOS) for Tiva QEI. From Young.
+
+* Other Common Device Drivers:
+
+ - I/O Expander: Remove hard-coded PCA9555 fields from ioexpander.h
+ definitons. Add support for an attach() method that may be used
+ when any subset of pin interrupts occur.
+ - I/O Expander Interface: Encode and extend I/O expander options to
+ include interrupt configuration.
+ - PCA9555 Driver: Replace the signalling logic with a simple callback
+ using the new definitons of ioexpander.h. This repartitioning of
+ functionality is necessary because (1) the I/O expander driver is
+ the lower-lower part of any driver that uses GPIOs (include the GPIO
+ driver itself) and should not be interacting directly with the much
+ higher level application layer. And (2) in order to be compatible
+ with the GPIO driver (and any arbitrary upper half driver), the
+ PCA9555 should not directly signal, but should call back into the
+ upper half. The upper half driver that interacts directly with the
+ application is the appropriate place to be generating signal.
+ - Add a skeleton I/O Expander driver (based on the PCA9555 driver).
+ - Add PCF8574 I/O Expander driver.
+ - GPIO driver: Add IOCTLs to get the pin type and to unregister a
+ signal handler.
+ - Add a GPIO lower-half driver that can be used to register a GPIO
+ character driver for accessing pins on an I/O expander.
+ - Add an SPI helper function that encapsulates and manages a sequence
+ of SPI transfers.
+ - Add an SPI character driver that will permit access to the SPI bus
+ for testing purposes.
+ - Add oneshot timer lower half interface definition.
+ - Add an upper-half, oneshot timer character driver.
+ - Add Audio Tone Generator for NuttX. From Alan Carvalho de Assis.
+ - Add USB host support for composite devices. This feature is not
+ well tested.
+ - drivers/ioexpander: Add an (untested) TCA64XX I/O Expander driver
+ leveraged from Project Ara.
+
+* Simulation Platform:
+
+ - Add a simulated I/O Expander driver.
+ - Add simulator-based test support for apps/examples/gpio.
+ - Add a configuration useful for testing Mini Basic.
+ - Add a simulated oneshot lowerhalf driver.
+
+* Atmel SAM3/4 Drivers:
+
+ - SAM4CM: Add option to support oneshot timer without free-running
+ timer. Add oneshot lower half driver.
+
+* Atmel SAMA5 Drivers:
+
+ - SAMA5D: Add option to support oneshot timer without free-running
+ timer. Add oneshot lower half driver.
+
+* Atmel SAMV7 Drivers:
+
+ - SAMV71/SAME70: Add option to support oneshot timer without
+ free-running timer. Add oneshot lower half driver.
+ - Add support for SAMV7 DACC module. From Piotr Mienkowski.
+
+* NXP Freescale Kinetis Drivers:
+
+ - Add support for I2C and RTC. From v01d (phreakuencies).
+
+* NXP Freescale Kinetis Boards:
+
+ - Add teensy 3.x I2C support. From v01d (phreakuencies).
+
+* STMicro STM32:
+
+ - Add IAR-style STM32F1xx vectors. Tested on STM32F103RB and
+ STM32F107RC. From Aleksandr Vyhovanec.
+
+* STMicro STM32 Drivers:
+
+ - Add timekeeping support for the STM32 tickless mode. From Max
+ Neklyudov.
+ - Add a oneshot, lower-half driver for STM32.
+ - STM32 L4: Add oneshot lower half driver for STM32 L4.
+ - STM32 L4: Add support for quadrature encoders on STM32L4. Sebastien
+ Lorquet.
+
+* STMicro STM32 Boards:
+
+ - stm32f103-minimum: Add board support to MFRC522 driver. From Alan
+ Carvalho de Assis.
+ - Add oneshot board initialization to stm32f103-minimum. From Alan
+ Carvalho de Assis.
+ - stm32f103-minimum: Add board configuration to initialize Audio Tone
+ Generator. From Alan Carvalho de Assis.
+ - stm32bufferfly2: Add support for the Kamami stm32butterfly2
+ development board with optional ETH phy. From MichaÅ Åyszczek.
+ - stm32f103-minimum: Add board config support to SPI LCD module
+ JLX12864G-086. From Alan Carvalho de Assis.
+ - stm32l476-mdk: Support basic booting and nsh on Motorola MDK. The
+ Motorola MDK is based off of an earlier version of NuttX.
+ This only provides a basic NSH shell. From Jim Wylder.
+ - STM32 F4 Discovery: Add support for XEN1210 3D-board. From Alan
+ Carvalho de Assis.
+ - stm32f103-minimum: Add stm32_bringup support and userled example to
+ STM32F103 Minimum board. From Alan Carvalho de Assis.
+ - Add support for qencoders on various nucleo boards. From Sebastien
+ Lorquet.
+ - olimex-stm32-e407: Add some networking configurations. From Mateusz
+ Szafoni.
+
+* TI Tiva Drivers:
+
+ - Add tiva PWM lower-half driver implementation. From Young.
+ - Tiva QEI: Add QEI lower-half driver for Tiva series chip. From
+ Young.
+
+* C Library/Header Files:
+
+ - Separate XorShift128 PRNG from /dev/urandom and make it generally
+ available.
+ - Add POSIX type sig_atomic_t. From Sebastien Lorquet.
+ - Add the difftime() function. The function depends on the toolchain-
+ dependent CONFIG_HAVE_DOUBLE so is not available on tiny platforms.
+ From Sebastien Lorquet.
+ - Add support for remove(). From Sebastien Lorquet.
+ - Add system() to stdlib.h. Actual implementation is in
+ apps/system/system.
+
+* Build/Configuration System:
+
+ - Rename arch/sh to arch/renesas.
+ - Remove contactless drivers from drivers/wireless to drivers
+ contactless. From Sebastien Lorquet.
+ - Move all modem-related IOCTL commands to a common file to assure
+ that they will be unique.
+
+* Tools:
+
+ - Add sethost.sh. This is a script that you can use to quickly
+ change the host platform from Linux to Windows/Cygwin. Might save
+ you a lot of headaches.
+
+* Applications: apps/nshlib:
+
+ - Add logic to support an NSH-specific system command.
+ - Add printf command to NSH, e.g., controlling /dev/userleds from
+ command line: nsh> printf \x01 > /dev/userleds. From Alan Carvalho
+ de Assis.
+
+* Platforms: apps/system:
+
+ - Port tee command from NetBSD.
+ - Add a generic system command. Current implentation cannot use
+ /bin/sh and spawns the custom NSH system command directly.
+
+* Platforms: apps/platform:
+
+ - Add C++ support for STM32L476-MDK.
+
+* Platforms: apps/interpreters:
+
+ - Add a port of Mini Basic, version 1.0, written by Malcom McLean and
+ released under the Creative Commons Attribution license.
+
+* Applications: apps/examples:
+
+ - Add a simple test of the GPIO driver.
+ - Add RFID_READUID sample application. From Alan Carvalho de Assis.
+ - Add Oneshot timer example.
+ - Add a simple test of the system command.
+</code></pre></div></div>
+
+<p>Works-In-Progress:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* IEEE802.14.5/6LowPAN. Hooks and framework for this effort were
+ introduced in NuttX-7.15. Work has continued on this effort on
+ forks from the main repositories, albeit with many interruptions.
+ The completion of this wireless feature will postponed until at
+ least NuttX-7.19.
+</code></pre></div></div>
+
+<p>Bugfixes. Only the most critical bugfixes are listed here (see the
+ChangeLog for the complete list of bugfixes and for additional, more
+detailed bugfix information):</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - Explicitly initialize the group tg_exitsem with sem_init(). The
+ existing logic worked because the correct initialization value is
+ all zero, but it is better to initialize the semaphore explicitly.
+ - The TCB nchildren field should not be incremented when pthreads are
+ created.
+ - Move fields related to parent/child task relationship out of TCB
+ into group structure where they belong. Child is a group, not a
+ thread.
+ - mq_send() was not setting the errno value on certain failures to
+ allocate a message.
+ - Define 'group' even if HAVE_GROUPID is not set. From Mateusz
+ Szafoni.
+ - Vector table should have dimension NR_IRQS, not NR_IRQS+1. From
+ Sagitta Li.
+ - pthreads: When a pthread is started, there is a small bit
+ of logic that will run on the thread of execution of the new
+ pthread. In the case where the new pthread has a lower
+ priority than the parent thread, then this could cause both the
+ parent thread and the new pthread to be blocked at the priority of
+ the lower priority pthread (assuming that CONFIG_PRIORITY_INHERITANCE
+ is not selected). This change temporarily boosts the priority of the
+ new pthread to at least the priority of the new pthread to at least
+ the priority of the parent thread. When that bit of logic has
+ executed on the thread of execution of the new pthread, it will then
+ drop to the correct priority (if necessary) before calling into the
+ new pthread's entry point.
+
+* File System/Block Drivers/MTD Drivers:
+
+ - FAT performance improvement. In large files, seeking to a
+ position from the beginning of the file can be very time consuming.
+ ftell does lssek(fd, 0, SET_CURR). In that case, that is wasted
+ time since we are going to seek to the same position. This fix
+ short-circuits fat_seek() in all cases where we attempt to seek to
+ current position. Suggested by Nate Weibley.
+ - MTD: Fixed cloned typos in several FLASH drivers. From Aleksandr
+ Vyhovanec.
+ - mount: Corrects a bad assertion noted by Pierre-noel Bouteville.
+ Also fixes a reference counting problem in an error condition:
+ When the mountpoint inode is found but is not an appropriate
+ mountpoint, the reference count on the inode was not being
+ decremented.
+
+* Common Drivers:
+
+ - Various serial drivers: Fix FIONWRITE and add FIONSPACE. All
+ implementations of FIONWRITE were wrong. FIONWRITE should return
+ the number of bytes waiting in the outgoing send queue, not the free
+ space. Rather, FIONSPACE should return the free space in the send
+ queue.
+ - Add missing prototype for btn_lower_initialize().
+ - Make DAC sample structure packed. From Marc Rechté.
+
+* Networking:
+
+ - TCP: tcp_ipvX_bind() not actually using the port selected with
+ port==0. Also removes duplicate call to pkt_input(). Issues noted
+ by Pascal Speck.
+ - drivers/net: NET_TUN=y => NET_MULTIBUFFER=y. From Vladimir
+ Komendantskiy.
+ - slip driver: Fix calculations using MSEC_PER_TICK. If
+ USEC_PER_TICK is less than 1000, then MSEC_PER_TICK will be
+ zero. It will be inaccurate in any case.
+
+* Atmel SAM3/4 Drivers:
+
+ - SAM3/4 GPIO: Enable peripheral clock for GPIO port when GPIO is
+ configured as input. The value of a GPIO input is only sampled when
+ the peripheral clock for the port controller the GPIO resides in is
+ enabled. Therefore we need to enable the clock even when polling a
+ GPIO. From Wolfgang Reissnegger.
+ - All SAM Ethernet Drivers: Add support so that the drivers can be
+ built with CONFIG_NET_MULTIBUFFER=y.
+ - SAM3/4: Fix GPIO pull-up/down code. Enabling the pull-down resistor
+ while the pull-up resistor is still enabled is not possible. In this
+ case, the write of PIO_PPDER for the relevant I/O line is discarded.
+ Likewise, enabling the pull-up resistor while the pull-down resistor
+ is still enabled is not possible. In this case, the write of
+ PIO_PUER for the relevant I/O line is discarded. From Wolfgang
+ ReiÃnegger.
+
+* Atmel SAMV7 Drivers:
+
+ - All SAM Ethernet Drivers: Add support so that the drivers can be
+ built with CONFIG_NET_MULTIBUFFER=y.
+ - SAM GPIO: Apply Wolfgang's change for SAM3/4 to SAMA5 and SAMV7.
+
+* Atmel SAMA5:
+
+ - Add missing oneshot max_delay method.
+ - All SAM Ethernet Drivers: Add support so that the drivers can be
+ built with CONFIG_NET_MULTIBUFFER=y.
+ - SAM GPIO: Apply Wolfgang's change for SAM3/4 to SAMA5 and SAMV7.
+
+* NXP Freescale LPC43xx Drivers:
+
+ - LPC43xx serial: Fix typos in LPC43 serial driver. Found by Vytautas
+ Lukenskas.
+ - LPC43xx Serial: There are some small problems in LPC43xx RS485 mode
+ configuration. In particular: (1) UART0,2,3 do not have DTR pins
+ (different from UART1), so, Kconfig needs to be adjusted. (2)
+ lpc43_uart.c in RS485 mode only configures DIR pin, but doesn't
+ enable pin output for UART0,2,3. (3) should be option to reverse DIR
+ control pin output polarity. (4) lpc43xx/chip/lpc43_uart.h doesn't
+ have USART3 definitions. NOTE: I didn't modified and didn't tested
+ USART1, as it has different hardware. From Vytautas Lukenskas.
+ From Vytautas Lukenskas.
+
+* SiLabs EFM32 Drivers:
+
+ - EFM32 SPI drivers adopted incompatible conventions (See STM32 for
+ details of the issue).
+
+* STMicro STM32 Drivers:
+
+ - STM32, STM32 L4, and EFM32 SPI drivers adopted incompatible
+ conventions somewhere along the line. They set the number of bits
+ to negative when calling SPI_SETBITS which had the magical side-
+ effect of setting LSB first order of bit transmission. This is not
+ only a hokey way to pass control information but is supported by no
+ other SPI drivers. This change three things: (1) It adds
+ HWFEAT_LSBFIRST as a new H/W feature. (2) It changes the
+ implementations of SPI_SETBITS in the STM32 and EFM32 drivers so
+ that negated bit numbers are simply errors and it adds the
+ SPI_HWFEATURES method that can set the LSB bit order, and
+ (3) It changes all calls with negative number of bits from all
+ drivers: The number of bits is now always positive and
+ SPI_HWFEATURES is called with HWFEAT_LSBFIRST to set the bit order.
+ - Add missing SPI2 and SPI3 support for STM32F3F3. Add STM32F37XX DMA
+ channel configuration. For STM32F37XX, SYSCFG_EXTICR_PORTE defined
+ twice. From Alan Carvalho de Assis.
+ - STM32: Make stm32_pwr_enablebkp thread safe. From Max Neklyudov.
+ - Fix bad pllmul values for STM32F1XX connectivity line. STM32F1XX
+ connectivity line supports only x4, x5, x6, x7, x8, x9 and x6.5
+ values. From MichaÅ Åyszczek.
+ - STM32F3 SPI: Fix the number of bit setting for the F3. That and
+ data packing work differently on the STM32F3 than for other STM32
+ parts.
+ - STM32 and STM32 L4: Enabling SPI DMA loses other bits in CR2.
+ - STM32F3 SPI: Cannot write always 16-bit value to DR register
+ because of how the F3 implements data packing.
+ - STM32F411 and STM32F446 map i2c2_sda_4 to different alternate
+ function numbers. From Konstantin Berezenko.
+ - STM32 DMA Fix: Change stm32 adc dma callback to send channel
+ number instead of index. From Konstantin Berezenko.
+ - STM32 OTGFS device: Fix for lost first word from FIFO
+
+ 1) Do not overwrite Reserved Bits in GINTSTS (per ref manual)*
+ 2) Acknowledge all pending int on entry to ISR that are Only rc_w1*
+ 3) Do not disable RXFVL*
+ 4) Loop until RXFVL is cleared*
+ 5) Only clear the NAK on the endpoint on the OTGFS_GRXSTSD_PKTSTS_SETUPDONE to not loose the first WORD of FIFO all the data (Bug Fix)
+
+ Changed marked *are just driver clean up and ensure ints are not lost. The bug fix is #5
+
+ Test case open putty and observer the Set/Get LineCoding. Without this fix #5 the Get will not match the Set, and in fact the data might be skewed by 4 bytes, that are lost from the FIFO if the OTGFS_DOEPCTL0_CNAK bit is set in the OTGFS_GRXSTSD_PKTSTS_SETUPRECVD as opposed to the OTGFS_GRXSTSD_PKTSTS_SETUPDONE
+
+ Set Line Coding DATA1: 4B | 00 c2 01 00 00 00 08 | c8 1B
+ Get Line Coding DATA1: 4B | .. .. .. .. 00 00 08 c8 .. 00 00 07 | 7a 72
+
+ From David Sidrane.
+ - STM32 L4 OTGFS device: Apply stm32 fix to stm32l4. From Sebastien
+ Lorquet.
+ - STM32 F7: Remove duplicate call to pkt_input from Ethernet driver.
+ Issues noted by Pascal Speck.
+ - STM32 L4: Add support for USART3-USART5. For STM32L4 parts, the
+ higher number USART ports supported varies. Add the HAVE_USARTx
+ definitions to the configuration to allow enabling the higher
+ numbered USART ports. From Jim Wylder.
+ - STM32 USB: Set USB address to avoid a failed assertion. From
+ Pierre-noel Bouteville.
+ - STM32 L4 and L7 USB: Pierre's assertion-avoidance change should
+ also be applied to STM32 F7 and L4.
+ - STM32, L4, and F7: Remove GPIO_ETH_RMII_TX_CLK. TX_CLK is not
+ present in RMII. Mateusz Szafoni.
+ - STM32 Ethernet: Correct typo in conditional logic. From Neil
+ Hancock.
+ - STM32 L4 USB Device: Fixed L4 USB Driver by avoiding SETUPDONE and
+ EPOUT_SETUP. From David Sidrane.
+ - STM32 SPI: stm32_modifycr2 should be available on all platforms if
+ DMA is enabled.
+ - STM32 DMA2D: fix an error in up_dma2dcreatelayer where an invalid
+ pointer was returned when a certain underlying function failed.
+ From Jens Gräf.
+
+* TI Tiva Drivers:
+
+ - Fix two bugs of tiva pwm lower-half driver implementation. From
+ Young.
+ - Tiva Ethernet: Needs support for CONFIG_NET_MULTIBUFFER=y.
+
+* C Library/Header Files:
+
+ - lib_dumpbuffer() now prints a large on-stack buffer first to avoid
+ problems when the syslog output is prefixed with time. From
+ Pierre-noel Bouteville.
+ - libc/math: This fixes the following libc/math issues: (1) asin[f l]()
+ use Newtonâs method to converge on a solution. But Newtonâs method
+ converges very slowly (> 500,000 iterations) for values of x close to
+ 1.0; and, in the case of asinl(), sometimes fails to converge (loops
+ forever). The attached patch uses an trig identity for values of
+ x > sqrt(2). The resultant functions converge in no more than 5
+ iterations, 6 for asinl(). (2) The NuttX erf[f l]() functions are
+ based on Chebyshev fitting to a good guess. The problem thereâs a
+ bug in the implementation that causes the functions to blow up with
+ x near -3.0. This patch fixes that problem. It should be noted that
+ this method returns the error function erf(x) with fractional error
+ less than 1.2E-07 and thatâs fine for the float version erff(), but
+ the same method is used for double and long double version which
+ will yield only slightly better precision. This patch doesn't
+ address the issue of lower precision for erf() and erfl(). (3) a
+ faster version of copysignf() for floats is included. From David S.
+ Alessio.
+ - strtod() was not returning endptr on error conditions.
+ - libc/math: floor(), floorf(), and floorl(): Fix logic error. Was
+ not correctly handling negative integral value.
+ - isatty() should be prototyped in unstid.h, not termios.h. From
+ Sebastien Lorquet.
+ - nxglib: Fix handling of near-horizontal lines of width 1 in
+ nxgl_splitline(). Missing handling for degenerate condition caused
+ width 1 lines such as (0, 0) - (100, 10) to have gaps in the
+ drawing. From Petteri Aimonen.
+
+* Build/Configuration System:
+
+ - Top-Level Makefiles: Fix a chicken-and-egg problem. In the menuconfig
+ target, the context dependency was executed before kconfig-mconf. That
+ was necessary because the link at apps/platform/board needed to be set
+ up before creating the apps/Kconfig file. Otherwise, the platform
+ Kconfig files would not be included. But this introduces the chicken-
+ and-egg problem in some configurations. In particular: (1) An NX
+ graphics configuration is used that requires auto-generation of
+ source files using cpp, (2) the configuration is set for Linux, but
+ (3) we are running under Cygwin with (4) a Windows native toolchain.
+ In this case, POSIX-style symbolic links are set up but the Windows
+ native toolchain cannot follow them. The reason we are running
+ 'make menuconfig' is to change from Linux to Cygwin, but the target
+ fails. During the context phase, NX runs CPP to generate source files
+ but that fails because the Windows native toolchain cannot follow
+ the links. Checkmate. This was fixed by changing all of the make
+ menuconfig (and related) targets. They no longer depend on context
+ being run. Instead, they depend only on the dirlinks target. The
+ dirlinks target only sets up the directory links but does not try
+ to run all of the context setup; the compiler is never invoked; no
+ code is autogenerated and things work.
+ - CXXFLAGS: add -fcheck-new whenever -fno-exceptions is used. From
+ Beat Küng.
+
+* Tools
+
+ - tools/refresh.sh: Recent complexities added to apps/ means that
+ configuration needs the correct Make.defs file in place in order to
+ configure properly.
+ - tools/kconfig2html.c: Update to handle absolute paths when sourcing
+ Kconfig files.
+ - tools/mkfsdata.pl was still generating the old-style apps/include
+ inclusion paths.
+
+* Application Build/Configuration System:
+
+ - Add DIRLINK and DIRUNLINK tool definitions to apps/Make.defs.
+
+* apps/nshlib:
+
+ - Fix FIFO_SIZE vs PIPE_SIZE.
+ - Fix hex representation of IP address in Kconfig. Noted by Michal
+ Lyszczek.
+ - nsh_syscmds.c: missing semicolon. From Mateusz Szafoni.
+ - In system command, don't try to flush output streams if stdio
+ buffered I/O is not supported.
+
+* apps/canutils:
+
+ - libuavcan: Under certain circumstances, DELIM is not be defined in
+ Makefile.
+ - Add definition for APPNAME in apps/canutils/canlib. From Sebastien
+ Lorquet.
+
+* apps/gpsutils:
+
+ - Fix an error minmea. From Aleksandr Vyhovanec.
+
+* apps/examples:
+
+ - apps/examples/oneshot: If the requested delay is > max_delay, then
+ break the delay up into several pieces.
+</code></pre></div></div>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2020 </p>-->
+ <footer class="site-footer">
+ <div class="wrapper">
+ <div class="footer-col-wrapper">
+
+ Apache NuttX is an effort undergoing <a href="https://incubator.apache.org/index.html">Incubation</a>
+ at The Apache Software Foundation (ASF), sponsored by the 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.
+ <hr>
+
+ <div style="text-align:center;">
+
+ <div style="margin-top: 20px; margin-bottom: 20px;">
+ <a href="http://incubator.apache.org"><img src="/assets/themes/apache/img/egg-logo.png"
+ alt="Apache Incubator"/></a>
+ </div>
+
+ <div>
+ Copyright © 2019 <a href="http://www.apache.org">The Apache Software Foundation</a>.
+ Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
+ 2.0</a>.
+ <br>
+
+ Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+ Software Foundation.
+
+ </div>
+ </div>
+ </div>
+ </div>
+</footer>
+
+ </footer>
+ </div>
+
+
+ <script src="/assets/themes/apache/jquery/jquery-2.1.1.min.js"></script>
+
+ <script src="/assets/themes/apache/bootstrap/js/bootstrap.min.js"></script>
+
+
+ </body>
+</html>
+
diff --git a/content/releases/7.19/index.html b/content/releases/7.19/index.html
new file mode 100644
index 0000000..1b51b4d
--- /dev/null
+++ b/content/releases/7.19/index.html
@@ -0,0 +1,938 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>7.19</title>
+
+ <meta name="author" content="">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le styles -->
+ <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+ -->
+
+ </head>
+
+ <body>
+
+ <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <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>
+ <a class="navbar-brand" href="/">
+ <img src="/assets/themes/apache/img/logo.png" width="30">
+ Apache NuttX
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav navbar-right">
+ <li id="community">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
+ <ul class="dropdown-menu dropdown-left">
+ <li><a href="/community">Get Involved</a></li>
+ <li><a href="/community-members">Who we are</a></li>
+ </ul>
+ </li>
+ <li><a href="https://github.com/apache/incubator-nuttx">GitHub</a></li>
+ <li id="apache">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ <li><a href="http://www.apache.org/events/current-event">Events</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+
+ <div class="container">
+
+
+<!--<div class="hero-unit 7.19">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <!--
+
+-->
+
+<h2 id="nuttx-719-release-notes">NuttX-7.19 Release Notes</h2>
+
+<p>The 119th release of NuttX, Version 7.19, was made on December 26, 2016,
+and is available for download from the Bitbucket.org website. Note
+that release consists of two tarballs: nuttx-7.19.tar.gz and
+apps-7.19.tar.gz. These are available from:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://bitbucket.org/nuttx/nuttx/downloads
+https://bitbucket.org/nuttx/apps/downloads
+</code></pre></div></div>
+
+<p>Both may be needed (see the top-level nuttx/README.txt file for build
+information).</p>
+
+<p>Additional new features and extended functionality:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - sched/semaphore, sched/phread/, libc/semaphore, libc/pthread: Add
+ pthread_mutexattr_get/set_protocol and non-standard
+ sem_get/set_protocol. These may use to enable or disable priority
+ inheritance on a single semaphore.
+ - Spinlocks: Added capability to provide architecture-specific memory
+ barriers.
+ - SMP: Add spin_trylock(). Use this in conditions where other CPUs need
+ to stopped but we cannot call enter_critical_section().
+ - sched note: Extend OS instrumentation to include some SMP events.
+ Also add spinlock instrumentation; In SMP configurations, add a
+ filter mask to log only notes from certain CPUs.
+ - sched note: Permit spinlock and critical section notes in in-memory
+ buffer iff sched_not_get() interfaces is disabled.
+ - sched note: Add additional note to see if/when CPU is started in SMP
+ mode.
+ - sched note: Record ID enumeration now results on constant values; ID
+ values do not change with configuration. This makes writing post-processing software much easier.
+ - boardctl: Add new boardctl() command, BOARDIOC_NX_START, to start the
+ NX server as a kernel thread.
+ - pthreads: Add pthread_cleanup_push() and pthread_cleanup_pop().
+ - pthreads: Added pthread_setcanceltype() and pthread_testcancel().
+ - pthreads: Add support for cancellation points.
+ - task_delete() now obeys all cancellation point semantics.
+ - Add task_setcancelstate(), task_setcanceltype(), and
+ task_testcancel(). These are non-standard interfaces analogous to the
+ correponding pthread_ interfaces that provide cancellation controls
+ for tasks.
+
+* Graphics/Display Drivers:
+
+ - boardctl: Add new boardctl() command, BOARDIOC_NX_START, to start the
+ NX server as a kernel thread.
+
+* Networking/Network Drivers:
+
+ - Network drivers: Add option to use low-priority work queue to all
+ Ethernet and MAC level drivers.
+ - Network Drivers: Adapt all Ethernet (and other MAC) drivers to work
+ as though CONFIG_NET_MULTIBUFFER were set. Remove all references to
+ CONFIG_NET_MULTIBUFFER.
+ - Eliminate CONFIG_NO_NOINTS. There is no longer any support for
+ interrupt level processing of the network stack. Lots of files changed.
+
+* Other Common Device Drivers:
+
+ - Vishay VEML6070: Add Vishay VEML6070 driver. From Alan Carvalho de
+ Assis.
+
+* ARMv7-A
+
+ - ARMv7-A/i.MX6: Add SCU register definitions. Add some controls to
+ enable SMP cache coherency in SMP mode. Makes no difference, however
+ -- cache still incoherent on i.MX6.
+ - ARMv7 GIC: SGIs are non-maskable but go through the same path as
+ other, maskable interrupts. Added logic to serialize SGI processing
+ when necessary.
+
+* Atmel SAM3/4:
+
+ - SAM3/4: Add SMP support for the dual-core SAM4CM. From Masayuki
+ Ishikawa.
+
+* Atmel SAM3/4 Drivers:
+
+ - Add support for the SAM5CMP-DB board. From Masayuki Ishikawa.
+
+* Atmel SAM3/4 Boards:
+
+ - SAM4CMP-DB: Add support for the Atmel SAM4CMP-DB board running in an
+ SMP configuration. From Masayuki Ishikawa.
+ - SAM4CMP-DB: Add hooks to auto-mount the procfs file system on startup
+ in board bring-up logic.
+
+* Atmel SAMV7 Drivers:
+
+ - SAMv7: Register the watchdog device at the configured device path
+ CONFIG_WATCHDOG_DEVPATH vs. hard-coded /dev/wdt. From Frank Benkert.
+
+* Calypso
+
+ - Calyps: Remove all Calypso board configurations. Remove Calypso
+ architecture support and support for Calypso SERCOMM driver.
+
+* Misoc LM32:
+
+ - Misoc LM32: Adds basic support for the Misoc procoessors and the LM32
+ in particular. From Ramtin Amin.
+ - Misoc LM32: Add signal handling logic. From Ramtin Amin.
+ - Misoc LM32: Add logic to flush/invalidate caches. From Ramtin Amin.
+
+* Misoc LM32 Drivers:
+
+ - Misoc LM32 Serial: Add interrupting Misoc serial driver. From Ramtin
+ Amin.
+ - Misoc LM32 Timer: Add timer driver. From Ramtin Amin.
+ - Misoc LM32: Add Misoc Ethernet driver From Ramtin Amin.
+
+* Misoc LM32 Boards:
+
+ - Misoc LM32 Qemu: Board support for testing Misoc LM32 with Qemu. From
+ Ramtin Amin.
+ - Misoc LM32 Qemu: Integrate network support into configs/misoc/hello.
+ From Ramtin Amin.
+ - Misoc LM32 Qemu: Remove configs/misoc/include/generated directory. I
+ suppose the the intent now is that this is a symbolic link? DANGER!
+ This means that you cannot compile this code with first generating
+ these files a providing a symbolic link to this location! There is a
+ sample directory containing generated sources. This is really only
+ useful for performing test builds. You really must generate the Misoc
+ architecture for a real-life build. From Ramtin Amin.
+
+* NXP Freescale i.MX6 Drivers:
+
+ - i.MX6: Add an untested SPI driver taken directly from the i.MX1 port.
+
+* NXP Freescale Kinetis:
+
+ - Kinetis: Added missing headers. Kinetis broke out SPI to
+ kinetis/kinetis_spi.h. Broke out DMA to use the modern Nuttx chip
+ inclusion - still STUBS. Add Kinetis support for ARMV7-M Common
+ Vector and FPU. Allow CONFIG_ARMV7M_CMNVECTOR,
+ CONFIG_STACK_COLORATION, CONFIG_ARCH_FPU. Fix i2c driver offset
+ swapped for value in kinetis_i2c_putreg. From David Sidrane.
+
+* NXP Freescale Kinetis Drivers:
+
+ - Kinetis: Add UID Unique ID. From Neil Hancock.
+
+* NXP Freescale Kinetis Boards:
+
+ - Freedom-K64F board: Add support for UID Unique ID. From Neil Hancock.
+
+* NXP Freescale LPC17xx Boards:
+
+ - Olimex-LPC1766-STK: Enable procfs in NSH configuration. Automount
+ /proc on startup.
+
+* NXP Freescale LPC43xx Drivers:
+
+ - LPC43xx: Add timer driver: From Alan Carvalho de Assis.
+ - LPC43xx GPDMA driver: The GPDMA block is basically the same as the
+ LPC17xx. Only the clock configuration is different and LPC43xx has
+ four different DMA request sources, where LPC17xx has only two. From
+ Alan Carvalho de Assis.
+
+* NXP Freescale LPC43xx Boards:
+
+ - Bambino 200E: Add basic support to Micromint Bambino 200E board.
+ This includes contributions from Jim Wolfman. From Alan Carvalho de
+ Assis.
+ - Bambino 200E: Add support for timer driver. From Alan Carvalho de
+ Assis.
+
+* RGMP:
+
+ - Remove RGMP and RGMP drivers.
+
+* RISC-V:
+
+ - RISC-V: Add support for the RISC-V architecture and
+ configs/nr5m100-nexys4 board. The board support on this is pretty
+ thin, but it seems like maybe a good idea to get the base RISC-V stuff
+ in since there are people interested in it. From Ken Pettit.
+
+* STMicro STM32 Drivers:
+
+ - STM32 F3: Implemention of the STM32 F37xx SDADC module. There are
+ also changes to ADC, DAC modules. SDADC has only been tested in DMA
+ mode and does not support external TIMER triggers. This is a work in
+ progress. From Marc Rechté.
+ - STM32 F3: Add PWM driver support for STMF37xx. The changes have been
+ tested successfuly for TIM4 and TIM17 (different IPs). From Marc
+ Rechté.
+ - STM32 F4: Support oversampling by 8 for the STM32 F4. From David
+ Sidrane.
+ - STM32 F4: Added Timers 2-5 and control of SAI and I2S PLLs. Added
+ support for stmf469 SAI and I2S PLL configuration and STM446 fixes.
+ From David Sidrane.
+ - STM32 F4: Expanded OTGFS support to stm32F469 and stm32f446. Added
+ missing bit definitions, Used stm32F469 and stm32f446 bit
+ definitions, Removed unsed header file. From David Sidrane.
+ - STM32 F4: Allow dma in 1 bit mode in STM32F4xxx. From David Sidrane.
+ - STM32 F7: Allow the config to override the clock edge setting. From
+ David Sidrane.
+ - STM32 L4: Support Complementary PWM outputs on STM32L4. From
+ Sebastien Lorquet.
+ - STM32 L4: Add implementation of dumpgpio for stm32l4, was required
+ for pwm debug. From Sebastien Lorquet.
+
+* STMicro STM32 Boards:
+
+ - STM32F103 Minimum: Add button support. From Alan Carvalho de Assis.
+ - STM32F103 Minimum: Add support to PWM on STM32F103-Minimum board.
+ From Alan Carvalho de Assis.
+ - STM32F103 Minimum: Add RGB LED support on STM32F103 Minimum board.
+ From Alan Carvalho de Assis.
+ - STM32F103 Minimum: Add Vishay VEML6070 driver support to the
+ STM32F103-Minimum board. From Alan Carvalho de Assis.
+ - Nucleo-F303RE: Add STM32 F303RE hello configuration. From Marc
+ Rechté.
+ - Nucleo-L476: Support PWM testing on board Nucleo L476. From
+ Sebastien Lorquet.
+ - Nucleo L476: Add support for timers to Nucleo L476. From Sebastien
+ Lorquet.
+ - Hymini STM32v: Enable CONFIG_RTC in the hymini-stm32v/nsh2
+ (kitchensink) config. From Maciej Wójcik.
+ - Olimex STM32-p407: Add support for the Olimex STM32 P407 board.
+
+* TI Tiva Drivers:
+
+ - Tiva PWM: Support PWM_PULSECOUNT feature for TI tiva. From Young.Mu.
+
+* Xtensa/ESP32
+
+ - Xtensa ESP32: Basic architectural support for Xtensa processors and
+ the Expressif. ESP32 added.
+ - Xtensa ESP32: Add EXPERIMENTAL hooks to support lazy Xtensa
+ co-processor state restore in the future.
+ - Xtensa ESP32: Basic port is function in both single CPU and dual CPU
+ SMP configurations. There is an NSH configuration for each CPU
+ configuration. Outstanding issues include missing clock configuration
+ logic, missing partition tables to support correct configuration from
+ FLASH, and some serial driver pin configuration issues.
+ - Xtensa ESP32: Add stack checking logic.
+
+* Xtensa/ESP32 Boards:
+
+ - ESP32 Core v2: Basic support for Expressif ESP32 Core v2 board
+ added. The initial release includes an NSH and an SMP test
+ configuration.
+ - ESP32 Core v2: Add configuration to support linking NuttX for
+ execution out of IRAM.
+ - ESP32 Core v2: Automatically mount /proc at start-up.
+ - ESP32 Core v2: Add an OS test to verify the port.
+
+* C Library/Header Files:
+
+ - libc/locale: Add a dummy setlocale() function to avoid drawing the
+ function from newlib. Add clocale header file.
+ - include/locale.h: Modify locale.h to add localeconv() and lconv
+ structure. From Alan Carvalho de Assis.
+ - libc/locale: Allows c++ code to compile with or without
+ CONFIG_LIBC_LOCALE and will generate a link error if
+ CONFIG_LIBC_LOCALE is not defined and setlocale is referenced. With
+ CONFIG_LIBC_LOCALE defined setlocale will act as if MB string is not
+ supported and return "C" for POSIX. C and "". From David Sidrane.
+ - libc/wchar: Add wcslen, wmemchr, wmemcmp, wmemcpy wmemset, btowc,
+ mbrtowc, mbtowc, wcscmp, wcscoll, and wmemmove to NuttX. From Alan
+ Carvalho de Assis.
+ - libc/wctype: Add functions wcrtomb, wcslcpy, wcsxfrm, wctob, wctomb,
+ wctype, localeconv, strcoll, strxfrm, swctype, towlower, towupper and
+ wcsftime. Add wctype.h; Move lib_wctype.c to libc/wctype. From Alan
+ Carvalho de Assis.
+ - include/ctype.h : Add isblank() macro to ctype.h. From Alan Carvalho
+ de Assis.
+ - lic/stdlib: Add strtof() and strtold() as simply a copy of strtod
+ with types and limits changed.
+ - sscanf(): Use strtof() instead of strtod() if a short floating point
+ value was requested. The should help performance with MCUs with
+ 32-bit FPU support with some additional code size.
+ - sscanf(): Add scansets to the scanf function. Enabled
+ CONFIG_LIBC_SCANSET option. From Aleksandr Vyhovanec.
+ - include/inttypes.h: Add architecture-specific inttypes.h. From Paul
+ A. Patience.
+ - C Library: Allow option to enable IP address conversions even when
+ the IP address family is not supported.
+
+* Build/Configuration System:
+
+ - The Smoothie project needs to compile C++ inside config/boardname/src/
+ to use with High Priority Interruption, then I modified the board
+ configs Makefile to support it. It works fine for the first time
+ compilation, but if we execute "touch config/boardname/src/Pin.cxx"
+ and execute "make" it will not detect that Pin.cxx was modified. I
+ think there is some other place I should modify, but I didn't find
+ it. From Alan Carvalho de Assis.
+
+* Tools:
+
+ - tools/: Add tools/showsize.sh.
+
+* NSH: apps/nshlib:
+
+ - NSH: dd command will show statistics. From Masayuki Ishikawa.
+
+* Applications: apps/system:
+
+ - apps/system/sched_note: Extend to include additions to instumentation
+ for SMP.
+ - apps/system/sched_note: Add support for spinlock notes.
+ - apps/system/sched_note: Add support for new scheduler instrumentation.
+
+* Platforms: apps/platform:
+
+ - ESP32 Core v2: Add platform support for the ESP32 core v2 board.
+ - Olimex STM32-p407: Add platform support for the Olimex STM32 P407.
+
+* Graphics: apps/graphics
+
+ - graphics/traveler/tcledit and libwld: Add an X11 Tcl/Tk tool that can
+ be used to edit Traveler world files.
+ - Graphics: Remove all NX server taks. Instead, call boardctl() to the
+ NX server kernel thread.
+
+* Applications: apps/examples:
+
+ - examples/buttons: Add a new buttons example that uses the button
+ character driver instead of the architecture buttons directly. From
+ Alan Carvalho de Assis.
+ - examples/cctype: Add an example to verify cctype functions.
+ - Remove RGMP example.
+ - examples/ostest: Extend the pthread cancellation test to exercise
+ pthread_cleanup_push() (and pthread_cleanup_pop() indirectly via
+ pthread_cancel() and pthread_exit().
+ - examples/ostest: enhance pthread cancellation test some.
+</code></pre></div></div>
+
+<p>Works-In-Progress:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* IEEE802.14.5/6LowPAN. Hooks and framework for this effort were
+ introduced in NuttX-7.15. Work has continued on this effort on
+ forks from the main repositories, albeit with many interruptions.
+ The completion of this wireless feature will postponed until at
+ least NuttX-7.20.
+</code></pre></div></div>
+
+<p>Bugfixes. Only the most critical bugfixes are listed here (see the
+ChangeLog for the complete list of bugfixes and for additional, more
+detailed bugfix information):</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - sched/semaphore: Within the OS, when a thread obtains a semaphore
+ count it must call sem_addholder() if CONFIG_PRIORITY_INHERITANCE is
+ enabled. If a count is available, then sem_wait() calls
+ sem_addholder(), otherwise it waited for the semaphore and called
+ sem_addholder() when it eventually received the count. This caused a
+ problem when the thread calling sem_wait() was very low priority.
+ When it received the count, there may be higher priority threads
+ "hogging" the CPU that prevent the lower priority task from running
+ and, as a result, the sem_addholder() may be delayed indefinitely.
+ The fix was to have sem_post() call sem_addholder() just before
+ restarting the thread waiting for the semaphore count. This problem
+ was noted by Benix Vincent who also suggested the solution.
+ - Many files: Make sure that priority inheritance is not enabled for
+ semaphores whose primary use is signaling (vs locking of resources) by
+ calling sem_setprotocol().
+ - sched/semaphore: sem_trywait() no longer modifies the errno value
+ UNLESS an error occurs. This allows these functions to be used
+ internally without clobbering the errno value. From Freddie Chopin.
+ - sched/clock: Correct clock initialization. The correct range for the
+ month is 0-11 but is entered as 1-12 in the .config file. Add ranges
+ to START_YEAR, MONTH, and DAY in sched/Kconfig.
+ - sched/clock: Correct calculation for the case of Tickless mode with a
+ 32-bit timer. In that case, the calculation was returning millisecond
+ accuracy. That is not good when the timer accuracy is < 1 msec. From
+ Rajan Gill.
+ - Work Queue: When queuing new LP work, don't signal any threads if
+ they are all busy. From Heesub Shin.
+ - Work Queue: Signal sent from work_signal() may interrupt the low
+ priority worker thread that is already running. For example, the
+ worker thread that is waiting for a semaphore could be woken up by the
+ signal and break any synchronization assumption as a result. It also
+ does not make any sense to send signal if it is already running and
+ busy. This change fixes it. From Heesub Shin.
+ - Fix DEBUGASSERT() in group_signal.c. From Masayuki Ishikawa.
+ - Eliminate bad boardctl() commands: Remove all references to
+ BOARDIOC_PWMSETUP and board_pwm_setup(). Remove all references to
+ BOARDIOC_ADCSETUP and board_adc_setup(). Remove
+ BOARDIOC_CAN_INITIALIZE. CAN initialization is now done in the board
+ initialization logic just like every other device driver.
+ - pthreads: Fix an error in pthread_mutex_destroy(). An error could
+ occur while destroying a mutex after a pthread has been canceled while
+ holding the mutex.
+ - task_restart: Make sure new task starts with pre-emption disabled and
+ not in a critical section.
+ - Enter/leave Critical Sections. Major redeign to
+ enter/leave_critical_section logic to deal with the case where
+ interrupts are disabled only on the local CPU. In this case, some
+ rather complex spinlocks must be used to maintain the critical section
+ accross all CPUs.
+ - SMP Critical Sections: Fixes for the SMP case: (1) Change order for
+ SMP case in enter_critical_section: (1) Disable local interrupts
+ BEFORE taking spinlock and (2) If SMP is enabled, if any interrupt
+ handler calls enter_critical_section(), it should take the spinlock.
+ - SMP wdogs: Wdog timers use a tasking interface that to manipulate
+ wdogs, and a different interface in the timer interrupt handling logic
+ to manage wdog expirations. In the single CPU case, this is fine.
+ Since the tasking level code calls enter_critical_section, interrupts
+ are disabled and no conflicts can occur. But that may not be the case
+ in the SMP case. Most architectures do not permit disabling
+ interrupts on other CPUs so enter_critical_section must work
+ differently: Locks are required to protect code. this change adds
+ locking (via enter_critical section) to wdog expiration logic for the
+ the case if the SMP configuration.
+ - SMP vfork(): Fix a race condition in the SMP case. Existing logic
+ depended on the fact that the child would not run until waitpid was
+ called because the child had the same priority as the parent. BUT in
+ the SMP case that is not true... the child may run immediately on a
+ different CPU.
+ - SMP: This change adds a new internal interfaces and fixes a problem
+ with three APIs in the SMP configuration. The new internal interface
+ is sched_cpu_pause(tcb). This function will pause a CPU if the task
+ associated with 'tcb' is running on that CPU. This allows a different
+ CPU to modify that OS data stuctures associated with the CPU. When
+ the other CPU is resumed, those modifications can safely take place.
+ The three fixes are to handle cases in the SMP configuration where one
+ CPU does need to make modifications to TCB and data structures on a
+ task that could be running running on another CPU. Those three cases
+ are task_delete(), task_restart(), and execution of signal handlers.
+ In all three cases the solutions is basically the same: (1) Call
+ sched_cpu_pause(tcb) to pause the CPU on which the task is running,
+ (2) perform the necessary operations, then (3) call up_cpu_resume() to
+ restart the paused CPU.
+ - SMP: Add logic to avoid a deadlock condition when CPU1 is hung waiting
+ for g_cpu_irqlock with interrupts interrupts and CPU0 is waiting for
+ g_cpu_paused.
+ - SMP: Enforce this rule: Tasks which are normally restored when
+ sched_unlock() is called must remain pending (1) if we are in a
+ critical section, i.e., g_cpu_irqlock is locked , or (2) other CPUs
+ still have pre-emption disabled, i.e., g_cpu_schedlock is locked. In
+ those cases, the release of the pending tasks must be deferred until
+ those conditions are met.
+
+* File System/Block Drivers/MTD Drivers:
+
+ - AT24XX EEPROM MTD driver: Added EEPROM timeout. Fromo Aleksandr
+ Vyhovanec.
+ - fs/procfs: Fix procfs status for SMP case.
+
+* Graphics/Graphic Drivers:
+
+ - Fonts: Correct some default font IDs. From Pierre-Noel Bouteville.
+
+* Common Drivers:
+
+ - usbhost/enumerate: Fix possible buffer overwrite. From Janne Rosberg.
+ - usbhost/composite: Fix compile; missing semicolons. From Jann Rosberg.
+ - syslog: Fixes required for file syslog output. From Max Kriegleder.
+ - SPI configuration: Fix Kconfig warning. This change moves the
+ ARCH_HAVE_SPI options outside the check for SPI. Those options don't
+ depend on SPI, and Kconfig files in arch/ enable them even if SPI
+ isn't enabled. Source the driver's Kconfig in drivers/Kconfig only
+ if support for the driver is enabled prevents us from defining these
+ ARCH_HAVE options in the driver's Kconfig. We should probably remove
+ the other checks in drivers/Kconfig and check if the drivers are
+ enabled only in their Kconfig. From Paul A. Patience.
+ - drivers/timer: Remove the timer driver TIOC_SETHANDLER IOCTL call.
+ This calls directly from the timer driver into application code. That
+ is non-standard, non-portable, and cannot be supported. Instead, add
+ timer driver hooks to support signal notification of timer
+ expiration. Signal notification logic added by Sebastien Lorquet.
+ - All timer lower half drivers. Port Sebastien's changes to all other
+ implementations of the timer lower half.
+ - USB MSC Device: Fix length of mode6 sense reply packet. From
+ Wolfgang ReiÃnegger.
+ - USB Composite Host: Fix end offset in usbhost_copyinterface(). From
+ Janne Rosberg.
+ - USB CDC/ACM Host: Add CDC_SUBCLASS_ACM and CDC_PROTO_ATM to
+ supported class and proto. From Janne Rosberg.
+ - SSD1306: Fix errors in SPI mode configuration. From Gong Darcy.
+ - CDC/ACM Device Class: uart_ops_s portion of cdcacm will not be
+ initalized with correct functions if CONFIG_SERIAL_DMA is selected.
+
+* Networking/Network Drivers:
+
+ - drivers/net/tun.c: Fix bug in TUN interface driver. From Max Nekludov.
+
+* ARMv7-A:
+
+ - ARMv7-A SMP: Add SMP logic to signal handling.
+
+* ARMv7-M:
+
+ - ARMv7-M: Fix double allocation of MPU region in mmu.h.
+
+* ARMv7-R:
+
+ - ARMv7-R: Fix compilation error. This change fixes compilation errors
+ on MPU support for ARMv7-R. From Heesub Shin.
+ - ARMv7-R: fix invalid drbar handling. In ARMv7-R, [31:5] bits of DRBAR
+ is physical base address and other bits are reserved and SBZ. Thus,
+ there is no point in passing other than the base address. From Heesub
+ Shin.
+ - ARMv7-R: Remove the redundant update on SCTLR. mpu_control() is
+ invoking cp15_wrsctlr() around SCTLR update redundantly. From Heesub
+ Shin.
+ - ARMv7-R: add new Kconfig entries for d/i-cache. Unlike in ARMv7-A/M,
+ Kconfig entries for data and instruction caches are currently missing
+ in ARMv7-R. This change adds those missing Kconfig entries. Actual
+ implmenetation for those functions will be added in the subsequent
+ patches. From Heesub Shin.
+ - ARMv7-R: Add cache handling functions. This change adds functions for
+ enabling and disabling d/i-caches which were missing for ARMv7-R.
+ From Heesub Shin.
+ - ARMv7-R: Fix typo in mpu support. s/ARMV7M/ARMV7R/g. From Heesub Shin.
+ - ARMv7-R: Fix CPSR corruption after exception handling. A sporadic
+ hang with consequent crash was observed when booting. It seemed to be
+ caused by the corrupted or wrong CPSR restored on return from
+ exception. NuttX restores the context using code like this: msr spsr,
+ r1. GCC translates this to: msr spsr_fc, r1. As a result, not all
+ SPSR fields are updated on exception return. This should be: msr
+ spsr_fsxc, r1. On some evaluation boards, spsr_svc may have totally
+ invalid value at power-on-reset. As it is not initialized at boot, the
+ code above may result in the corruption of cpsr and thus unexpected
+ behavior. From Heesub Shin.
+ - ARMv7-R: Fix to restore the Thumb flag in CPSR. Thumb flag in CPSR is
+ not restored back when the context switch occurs while executing thumb
+ instruction. From Heesub Shin.
+
+* Atmel SAM3/4 Drivers:
+
+ - SAM3/4 UDP: Add delay between setting and clearing the endpoint RESET
+ bit in sam_ep_resume(). We need to add a delay between setting and
+ clearing the endpoint reset bit in SAM_UDP_RSTEP. Without the delay
+ the USB controller will (may?) not reset the endpoint. If the
+ endpoint is not being reset, the Data Toggle (DTGLE) bit will not to
+ be cleared which will cause the next transaction to fail if DTGLE is
+ 1. If that happens the host will time-out and reset the bus. Adding
+ this delay may also fix the USBMSC_STALL_RACEWAR in usbmsc_scsi.c,
+ however this has not been verified yet. From Wolfgang ReiÃnegger.
+ - SAM3/4: Remove unused 'halted' flag from UDP driver. From Wolfgang
+ ReiÃnegger.
+ - SAM3/4: Remove 'stalled' flag from the UDP driver. This flag is not
+ necessary because the state of the endpoint can be determined using
+ 'epstate' instead. From Wolfgang ReiÃnegger.
+
+* Atmel SAM3/4 Boards:
+
+ - SAM4S Xplained Pro: Configuration uses old, improper timer interface.
+ CONFIG_TIMER disabled in configuration. Remove obsolete timer
+ initialization logic.
+
+* Atmel SAMV7 Drivers:
+
+ - SAMv7 USBDEVHS: A problem occurred with the SAMV7 USBDEVHS driver if
+ the USB cable is unplugged while a large amount of data is send over
+ an IN endpoint using DMA. If the USB cable is plugged in again after a
+ few seconds it is not possible to send data over this IN endpoint
+ again, all other endpoints work as expected. The problem occurs
+ because if the USB cable is unplugged while an DMA transfer is in
+ flight the transfer is canceled but the register SAM_USBHS_DEVDMACTRL
+ is left in an undefined state. The problem was fixed the problem by
+ resetting the register SAM_USBHS_DEVDMACTRL to a known state.
+ Additionally all pending interrupts are cleared. From Stefan Kolb.
+ - SAMV7 MCAN: Prevent Interrupt-Flooding of ACKE when not connected to
+ CAN-BUS. An Acknowledge-Error will occur every time no other CAN Node
+ acknowledges the message sent. This will also occur if the device is
+ not connected to the can-bus. The CAN-Standard declares, that the Chip
+ has to retry a given message as long as it is not sent successfully
+ (or it is not cancelled by the application). Every time the chip tries
+ to resend the message an Acknowledge-Error-Interrupt is generated. At
+ high baud rates this can lead in extremely high CPU load just for
+ handling the interrupts (and possibly the error handling in the
+ application). To prevent this Interrupt-Flooding we disable the ACKE
+ once it is seen as long we didn't transfer at least one message
+ successfully. From Frank Benkert.
+ - SAMV7 MCAN: Make delete_filter functions more robust. From Frank
+ Benkert.
+
+* Atmel SAMA5 Drivers:
+
+ - SAMA5 PWM: Driver does not build when executing from SDRAM before
+ board frequencies are not constant. Rather, the bootloader configures
+ the clocking and we must derive the clocking from the MCK left by the
+ bootloader. This means lots more computations. This is untested on
+ initial change because I don't have a good PWM test setup right now.
+
+* Misoc LM32:
+
+ - Misoc LM32: Corrects a bug that never occured in qemu on simulation or
+ real fpga. The error was that the r1 register was being modified out
+ of context switching and not restoring it. From Ramtin Amin
+
+* NXP Freescale i.MX6:
+
+ - i.MX6 interrupt handling: Additional logic needed to handle nested
+ interrupts when an interrupt stack is used. Nesting can occur because
+ SGI interrupts are non-maskable.
+
+* NXP Freescale LPC43xx Drivers:
+
+ - LPC43xx serial: Fix a typo in ioctl TIOCSRS485 ioctl. From Vytautas
+ Lukenskas.
+ - LPC43xx serial: Restore RS485 mode on serial port open (if RS485 is
+ enabled via menuconfig). From Vytautas Lukenskas.
+ - LPC43xx SD/MMC: Correct some definitions on SMMC control register in
+ lpc43_sdmmc.h. From Alan Carvalho de Assis.
+ - LPC43xx SD card: Correct pin configuration options needed for SD card
+ pins. From Alan Carvalho de Assis.
+
+* SiLabs EFM32:
+
+ - EFM32: Fix a compilation error. From Pierre-noel Bouteville.
+
+* STMicro STM32 Drivers:
+
+ - STM32 CHxN channels are always outputs. From Sebastien Lorquet.
+ - STM32 DAC: Fix shift value whenever there are is a DAC2 and, hence,
+ up to three interfaces. From Marc Rechté.
+ - STM32 F1: Add TIM8 to STM32F103V pinmap. From Maciej Wójcik.
+ - STM32 F1: Fix for F1 RTC Clock, tested on F103. From Maciej Wójcik.
+ - STM32 F3: STM32F303xB and STM32F303xC chips have 4 ADCs. From Paul
+ A. Patience.
+ - STM32 F4: A new implementation of the STM32 F4 I2C bottom half. The
+ common I2C as this did not handled correctly in the current
+ implementation (see also https://github.com/PX4/NuttX/issues/54). The
+ changes almost exclusively affect the ISR. From Max Kriegleder.
+ - STM32 F4 OTGHS Host: If STM32F446 increase number of channels to
+ 16. From Janne Rosberg.
+ - STM32 F4: I think, that Size is (highest address+1 - Base address).
+ Base address has been removed and if address+count >= size we are
+ outside of the Flash. From David Sidrane.
+ - STM32 F4: Fix ADC compilation error when DMA isn't enabled. From Paul
+ A. Patience.
+ - STM32 F4: STM32F427 was rebooting. Over reached family. From David
+ Sidrane.
+ - STM32 F4: Added STM32F469 RAM size and deliberated STM32F446 size.
+ From David Sidrane.
+ - STM32 F4: Typo in stm32f76xxxx_pinmap.h edited online with
+ Bitbucket. From David Sidrane.
+ - STM32 F7: stm32_i2c.c Dejavu. Fixes a bug previously found in the
+ F4. From David Sidrane.
+ - STM32 F7: OTGDEV fixed typo. From David Sidrane.
+ - STM32 F7: Fix to SPI-Master driver. Without this the chip select
+ decoding feature will not work properly. From Michael Spahlinger.
+ - STM32 F7: STM32F7 SD/MMC driver depends on CONFIG_SDIO_DMA which is
+ only defined in stm32/Kconfig. Changed to CONFIG_STM32F7_SDMMC_DMA
+ and defined in stm32f7/Kconfig.
+ - STM32 F7: Fix some STM32F7 copy paste errors. From David Sidrane.
+ - STM32 L4: Complementary PWM outputs on STM32L4" (1) too many
+ parentheses when calculating max chan count and (2) channel 4 does not
+ have a complementary output. From Sebastien Lorquet.
+ - STM32 L4: Fix I2C devices RCC registers. From Sebastien Lorquet.
+ - STM32 L4: Enable and renaming for 32l4 UARTs 4 and 5. From Sebastien
+ Lorquet.
+ - STM32 L4: Change the way to configure quadrature encoder prescalers.
+ From Sebastien Lorquet.
+ - STM32 L4: Correct USART1/2 definitions. Use default mbed UART4
+ settings. From Sebastien Lorquet.
+
+* STMicro STM32 Boards:
+
+ - STM32F103 Minimum: Fix Timers 2 to 7 clock frequencies. From Alan
+ Carvalho de Assis.
+ - Nucleo-F303RE: Remove duplicate setting from board.h. From Marc
+ Rechté.
+ - Nucleo F303RE: Various fixes to get the ADC configuration building
+ again after PR. Refresh all configurations.
+ - Nucleo L476RG: Add better selection of timer.
+
+* TI Tiva Boards:
+
+ - DK-TM4C129x: Typo fix. From Wolfgang ReiÃnegger.
+
+* Xtensa ESP32:
+
+ - ESP32 core v2: Flush the UART TX buffer in the esp32 serial shutdown
+ routine. The ROM bootloader does not flush the FIFO before handing
+ over to user code, so some of this output is not currently seen when
+ the UART is reconfigured in early stages of startup. From Angus
+ Gratton.
+ - Xtensa ESP32: Corrects a problem with dispatching to signal
+ handlers: Cannot vector directly to the signal handling function as
+ in other ABIs under the Xtensa Window ABI. In that case, we need to
+ go through a tiny hook when performs the correct window call (call4)
+ otherwise registers will be scrambled in the signal handler.
+
+* Xtensa ESP32 Boards:
+
+ - ESP32 core v2: Changes the openocd config file's default flash
+ voltage from 1.8V to 3.3V. This is not necessary right now, but may
+ save some hard-to-debug moments down the track (3.3V-only flash
+ running at 1.8V often half-works and does weird things...). From
+ Angus Gratton.
+
+* C Library/Header Files:
+
+ - libc/stdio: Fixes sscanf() %sn where strlen(data) < n. From David
+ Sidrane.
+ - libc/stdio: Include wchar.h in lib_libvsprintf.c to fix compilation
+ error. From Alan Carvalho de Assis.
+ - include/sys/time.h: timersub macro modified per recommendations of
+ phreakuencies.
+ - include/ctype.h and cxx/cctype: Implement ctype.h functions as inline
+ if possible. cctype can then properly select namespace.
+ - include/: Fix a number of header files with mismatched 'extern C {'
+ and '}'.
+ - libc/unisted: Change brings strtol() and related functions more
+ conformant with POSIX. Corner cases like strtol(-2147483648, NULL,
+ 10) now pass clang -fsanitize=integer without warnings. From Juha
+ Niskanen.
+ - libc/unistd: sleep() was returning remaining nanoseconds (kind of),
+ instead the remaining seconds. From Eunbong Song.
+ - termios.h: Fix CRTSCTS define to include input and output flow. From
+ Lorenz Meier.
+
+* Build/Configuration System:
+
+ - configs/*/defconfig: The buttons example was changed to archbuttons.
+ As a result all of the button configurations are broken and need some
+ renaming in the defconfig files. Noted by Frank Berkert.
+ - config/*/defconfgs: More fallout from name change of
+ apps/examples/buttons to archbuttons.
+ - configs: All QE encoder files. Last change made timer hard-coded to
+ 3. Make configurable.
+ - configs: Remove all traces of the no-longer existent ARCHBUTTONS
+ example. Remove all button configurations that depended on the
+ obsoleted ARCHBUTTON example.
+ - minnsh Configurations: Remove minnsh configurations and support
+ logic: up_getc() and lowinstream. This was an interesting exercise
+ to see just how small you could get NuttX, but otherwise it was not
+ useful: (1) the NSH code violated the OS interface layer by callup
+ up_getc() and up_putc() directly, and (2) while waiting for character
+ input, NSH would call up_getc() which would hog all of the CPU. Not a
+ reasonable solution other than as a proof of concept.
+
+* Application Build/Configuration System:
+
+ - Make.defs: Using wrong link script if native window tool used with
+ Cygwin.
+
+* apps/platform:
+
+ - ESP32 Core v2 Platform: Fix some naming that prevented building the
+ C++ support.
+
+* apps/nshlib:
+
+ - NSH Library: nsh_getdirpath(), use snprint instead of sprintf to
+ avoid possibility of buffer overrun. Noted by Chung Hwan Kim.
+
+* apps/system:
+
+ - Remove std_readline(). This called up_getc() and up_putc() directly,
+ violating the POSIX OS interface.
+
+* apps/netutils:
+
+ - FTPD: Fixed bug that didn't free ftpd ressources on exit. From Pascal
+ Speck.
+ - NTP client: Fix missing left parenthesis. From Pierre-Noel Bouteville.
+ - cJSON: Import patch to fix:cJSON_PrintUnformatted() behaves unexpected
+ if an empty array shall be printed to text. from Jerome Lang
+ 2012-04-19. From Pierre-Noel Bouteville.
+ - esp8266 update cosmetic and many bug fix. From Pierre-Noel Bouteville.
+ - FTPD: Fix bug un ftpd file or socket may be not closed. From
+ Pierre-Noel Bouteville.
+
+* apps/modbus:
+
+ - Modbus Master is missing many files and doesn't compile at all. More
+ details in
+ https://groups.yahoo.com/neo/groups/nuttx/conversations/topics/13734.
+ From Vytautas Lukenskas.
+
+* apps/examples:
+
+ - The examples/qencoder app was trying to init the encoder by a direct
+ call into the board, cheating in a local header to declare the
+ normally unavailable function prototype. From Sebastien Lorquet.
+ - apps/examples/timer: Should detach signal handler before exiting.
+ - examples/qencode: The examples/qencoder app was trying to init the
+ encoder by a direct call into the board, cheating in a local header to
+ declare the normally unavailable function prototype. From Sebastien
+ Lorquet.
+ - apps/examples/archbuttons: Removed becaue it violates OS interface
+ principles.
+ - examples/adc, pwm, can: Remove all usage of BOARDIOC_ADCTEST_SETUP,
+ BIOARDIOC_PWMSETUP. Remove BOARDIOC_CAN_INITIALIZE. CAN
+ initialization is now done in the board initialization logic just like
+ every other device driver.
+ - examples/ostest: Add some delays to the pthread cancellation test.
+ With deferred cancellation enabled, things happen more asynchronously.
+</code></pre></div></div>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2020 </p>-->
+ <footer class="site-footer">
+ <div class="wrapper">
+ <div class="footer-col-wrapper">
+
+ Apache NuttX is an effort undergoing <a href="https://incubator.apache.org/index.html">Incubation</a>
+ at The Apache Software Foundation (ASF), sponsored by the 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.
+ <hr>
+
+ <div style="text-align:center;">
+
+ <div style="margin-top: 20px; margin-bottom: 20px;">
+ <a href="http://incubator.apache.org"><img src="/assets/themes/apache/img/egg-logo.png"
+ alt="Apache Incubator"/></a>
+ </div>
+
+ <div>
+ Copyright © 2019 <a href="http://www.apache.org">The Apache Software Foundation</a>.
+ Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
+ 2.0</a>.
+ <br>
+
+ Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+ Software Foundation.
+
+ </div>
+ </div>
+ </div>
+ </div>
+</footer>
+
+ </footer>
+ </div>
+
+
+ <script src="/assets/themes/apache/jquery/jquery-2.1.1.min.js"></script>
+
+ <script src="/assets/themes/apache/bootstrap/js/bootstrap.min.js"></script>
+
+
+ </body>
+</html>
+
diff --git a/content/releases/7.20/index.html b/content/releases/7.20/index.html
new file mode 100644
index 0000000..522185a
--- /dev/null
+++ b/content/releases/7.20/index.html
@@ -0,0 +1,608 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>7.2</title>
+
+ <meta name="author" content="">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le styles -->
+ <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+ -->
+
+ </head>
+
+ <body>
+
+ <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <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>
+ <a class="navbar-brand" href="/">
+ <img src="/assets/themes/apache/img/logo.png" width="30">
+ Apache NuttX
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav navbar-right">
+ <li id="community">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
+ <ul class="dropdown-menu dropdown-left">
+ <li><a href="/community">Get Involved</a></li>
+ <li><a href="/community-members">Who we are</a></li>
+ </ul>
+ </li>
+ <li><a href="https://github.com/apache/incubator-nuttx">GitHub</a></li>
+ <li id="apache">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ <li><a href="http://www.apache.org/events/current-event">Events</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+
+ <div class="container">
+
+
+<!--<div class="hero-unit 7.2">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <!--
+
+-->
+
+<h2 id="nuttx-720-release-notes">NuttX-7.20 Release Notes</h2>
+
+<p>The 120th release of NuttX, Version 7.20, was made on March 8, 2017,
+and is available for download from the Bitbucket.org website. Note
+that release consists of two tarballs: nuttx-7.20.tar.gz and
+apps-7.20.tar.gz. These are available from:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://bitbucket.org/nuttx/nuttx/downloads
+https://bitbucket.org/nuttx/apps/downloads
+</code></pre></div></div>
+
+<p>Both may be needed (see the top-level nuttx/README.txt file for build
+information).</p>
+
+<p>Additional new features and extended functionality:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - Kernel Modules: Module initializer may now return a symbol table.
+ - Modules: Extend the module interface so that we can access symbols
+ exported by the module.
+ - Shared Libraries: In the FLAT build mode, kernel modules may be
+ used to provide minimal shared library functionality.
+ - Modules/Shared Libraries: Add support for dependencies between
+ modules.
+ - Module Library: Add build a configuration logic for a shared module
+ library.
+ - Shared Libraries: Implement module based shared libraries for the
+ PROTECTED mode build.
+ - Interrupt handling: irq_attach() now includes an argument of type
+ xcpt_t that retained with the handler address. That argument is
+ then provided to the interrupt handler when the interrupt occurs.
+ The common parameter passing replaces the ad hoc parmater passing
+ implemented in current drivers. From Mark Schulte.
+ - Adapt many drivers to utilize the IRQ argument feature.
+ - All functions that used to return an xcpt_t old handler value, now
+ return an int error code. The oldhandler value is no longer useful
+ with the recent changes to the interrupt argument passing. Some of
+ the functions effected include board_button_irq(), arch_phy_irq(),
+ STM32 EXTI functions (Alarm, COMP, PVD), GPIO interrupt logic like
+ kinetis_pinirq(), stm32_gpiosetevent(), and others.
+ - IRQ subsystem: Add support for smaller interrupt tables as
+ described at
+ http://www.nuttx.org/doku.php?id=wiki:howtos:smallvectors . This
+ is partially the work of Mark Schulte.
+
+* File Systems/Block and MTD Drivers
+
+ - Pseudo File System: Add support for soft links in the top-level
+ psuedo file system.
+ - Soft links: Add an implementation of readlink().
+ - Add fstat() support. Implement fstat() method in binfs, romfs,
+ unionfs, tmpfs, nxffs, nfx, hostfs, procfs, and smartfs.
+ - fstat: Add fstat() support to FAT. From Alan Carvalho de Assis.
+
+* Graphics/Display Drivers:
+
+ - Fonts: Add support for Tom Thumb small mono-space font. From Alan
+ Carvalho de Assis.
+ - Graphics: Separated of font cache from graphics/nxterm. Now in
+ libnx/nxfronts where it can be shared with other grapics
+ applications.
+
+* Networking/Network Drivers:
+
+ - Ethernet drivers: Add framework for serialization in the case where
+ multiple low-priority work queues are used.
+
+* Other Common Device Drivers:
+
+ - Add capabilities() method to SDIO interface. Remove
+ CONFIG_SDIO_WIDTH_D1_ONLY. That should not be a global propertie,
+ but rather a capability/limitation of single slot when there may be
+ multiple slots.
+ - Removed dmasupported() method from the SDIO interface. That is now
+ a bit in the capability set.
+ - drivers/sensors: Add driver for the ST L3GD20 3 axis gyro. From
+ raiden00.
+
+* Atmel SAM3/4:
+
+ - SAM3/4: Add support for ATSAM4S4C. From Wolfgang ReiÃnegger.
+
+* NXP Freescale i.MX6 Boards:
+
+ - Sabre 6quad: Enable examples/smp test in i.MX6 SMP/NSH
+ configurations.
+
+* NXP Freescale Kinetis:
+
+ - Kinetis: Added support for CHIP_MK60FN1M0VLQ12 chip. From Maciej
+ Skrzypek.
+ - Kinetis: Add support for K64/K66 RTC lower half driver. From Neil
+ Hancock.
+ - Kinetis: Extensive modification of MCG support based feature
+ configuration. From David Sidrane.
+ - Kinetis: Add support for K66 family. From David Sidrane.
+ - Kinetis: Created a kinetis SIM versioning scheme pulled in by
+ Kinetis chip.h. From David Sidrane.
+ - Created a kinetis PMC versioning scheme pulled in by Kinetis
+ chip.h. From David Sidrane.
+ - Kinetis: Extend clock configuration logic. Refactor
+ implementation. From David Sidrane.
+
+* NXP Freescale Kinetis Drivers:
+
+ - Kinetis Ethernet: Kinetis Support RMII clock source select. This
+ defined the RMII clock source select bits and allows the selection
+ to be made via Kconfig. From David Sidrane. Freedom-K66F uses
+ ENET_1588_CLKIN as RMII clock
+ - Kinetis Serial: Added configurable 1|2 stop bits.
+ HAVE_SERIAL_CONSOLE -> HAVE_UART_CONSOLE to be consistent with
+ HAVE_LPUART_CONSOLE naming. From David Sidrane.
+ - Kinetis LPserial: Add LPUART serial driver and Clock
+ configuartaion to freedom-k66f board. From David Sidrane.
+ - Kinetis USB device: Refactor clocking in kinetis_usbdev. From
+ David Sidrane.
+
+* NXP Freescale Kinetis Boards:
+
+ - Add support for NXP Freedom-k66f development board. From David
+ Sidrane.
+ - Kinetis Freedom K66F: Add Ethernet support. From David Sidrane.
+ - Add twr-k64f120m config. From Marc Rechté.
+
+* NXP Freescale LPC43xx Boards:
+
+ - Bamboo-200E: Add netnsh configuration. From Alan Carvalho de Assis.
+ - Add usbnsh config to Bambino 200E board. From Alan Carvalho de
+ Assis.
+
+* STMicro STM32:
+
+ - STM32 F7: Allow board to configure HSE clock in bypass-mode. This
+ is needed to enable HSE with Nucleo-F746ZG board. From Jussi
+ Kivilinna.
+ - STM32 F7: stm32_allocateheap: allow use DTCM memory for heap.
+ STM32F7 has up to 128KiB of DTCM memory that is currently left
+ unused. This change adds DTCM to main heap if
+ CONFIG_STM32F7_DTCMEXCLUDE is not enabled. From Jussi Kivilinna.
+ - Add basic support for the STM32F334. From Mateusz Szafoni.
+ - STM32F33XX DAC, OPAMP, COMP, ADC, HRTIM headers. From Mateusz
+ Szafoni.
+
+* STMicro STM32 Drivers:
+
+ - STM32 F7 SDMMC: Add support for single bit operation on SDMMC2.
+ - STM32 L4: Port STM32L4 SAI driver from MDK.
+ - STM32 L4: Bring power management logic from Motrola MDK into NuttX.
+ - STM32 L4: Bring LPTIM driver in from the Motorola MDK.
+ - STM32 L4 COMP: Port from Motorola MDK.
+
+* STMicro STM32 Boards:
+
+ - STM32F429i Discovery: Add support for NxWM on STM32F429i-Disco
+ board. From Alan Carvalho de Assis.
+ - STM32F103 Minimum: Add support for nRF24 on STM32F103-Minimum
+ board. From Alan Carvalho de Assis.
+ - Olimex STM32 P407: Add a NSH protected build configuration; Enable
+ procfs/ in all configurations.
+ - Olimex STM32 P407: Add support for on-board microSD slot.
+ - STM32F429i Discovery: add support for the L3GD20 driver. From
+ raiden00.
+ - STM32F103 Minimum: Add support to QEncoder on STM32F103 Minimum
+ board. From Alan Carvalho de Assis.
+ - Olimex STM32 P407: Add external SRAM support.
+ - Add basic support for the Nucleo F334R8 board. From Mateusz
+ Szafoni.
+ - STM32F103 Minimum: Add SDCard support over SPI on STM32F103-Minimum
+ board. From Alan Carvalho de Assis.
+ - STM32F103 Minimum: Add support to USB Device on STM32F103-Minimum
+ board. From Alan Carvalho de Assis.
+
+* C Library/Header Files:
+
+ - compiler.h: packed_struct replaced by begin_packed_struct and
+ end_packed_struct. Now support IAR style packed structures. From
+ Aleksandr Vyhovanec.
+ - Math library: Leverage optimized ARMv8-M functions from BSD license
+ ARM file.
+ - Shared libraries: Add a non-standard dllfnc.h function to set the
+ symbol table.
+ - C Library: Add a support for setvbuf(). This is a collaborative
+ effort. Alan Carvalho de Assis did the initial prototype.
+ - C Library: Add setbuf() which is a trivial wrapper around setvbuf().
+ - C library: Add swab().
+ - C library: Add strtoimax and strtoumax.
+ - C library: Add ffs(), rindex(), an index(). Add strings.h. Move
+ strcasecmp, strncasecmp, bzero, bcmp, and bcopy to where they
+ belong in strings.h.h, not string.h. bzero, bcmp, and bcopy are
+ legacy functions; the contemporary counterparts should be used
+ instead.
+ - C library: Add fstatfs().
+ - Update cwchar. Add cwctype.
+
+* Build/Configuration System:
+
+ - Add configuration support for builds with Ubuntu under Windows 10.
+
+* Tools:
+
+ - tools/noteinfo.c: A hack tool that I use to analyze some sched_note
+ output. Needs a home and may be useful to others.
+ - tools/mkconfig.c: Add logic to keep all of the buffering options in
+ sync.
+
+* NSH: apps/nshlib:
+
+ - NSH: Add support for the 'ln' command.
+ - NSH ls command: if node is a symobolic link, use readlink() to get
+ and the display the target of the symblic link.
+ - NSH: Add readlink command.
+
+* Applications: apps/examples:
+
+ - apps/examples/nxtext: Make line spacing configurable.
+ - apps/system/zmodem/host/nuttx/compiler.h synchronized with
+ nuttx/nuttx/include/nuttx/compiler.h. From Aleksandr Vyhovanec.
+ - apps/examples/sotest: Add a test for shared libraries.
+ - apps/examples/ostest: Add a test of setvbuf().
+ - apps/examples/stat: Add a simple test for stat(), fstat(),
+ statfs(), and fstatfs().
+</code></pre></div></div>
+
+<p>Works-In-Progress:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* IEEE802.14.5/6LowPAN. Hooks and framework for this effort were
+ introduced in NuttX-7.15. Work has continued on this effort on
+ forks from the main repositories, albeit with many interruptions.
+ The completion of this wireless feature will postponed until at
+ least NuttX-7.21.
+</code></pre></div></div>
+
+<p>Bugfixes. Only the most critical bugfixes are listed here (see the
+ChangeLog for the complete list of bugfixes and for additional, more
+detailed bugfix information):</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - SMP: There were certain conditions that we must avoid by preventing
+ the release of the pending tasks while withn a critical section.
+ But this logic was incomplete; there was no logic to prevent other
+ CPUs from adding new, running tasks while on CPU is in a critical
+ section. This commit corrects this. This is matching logic in
+ sched_addreadytorun to avoid starting new tasks within the critical
+ section (unless the CPU is the holder of the lock). The holder of
+ the IRQ lock must be permitted to do whatever it needs to do.
+ - SMP: Make checks for CPU lock set more robust. There are certain
+ conditions early in initialization on during interrupt handling
+ where things need to be done a little differently.
+ - sched_cpulocked: Avoid use of spinlock. That has been reported to
+ cause a deadlock (2016-12-28).
+ - SMP: Fix a gap where we may try to make modifications to the task
+ lists without being in a critical sections. That permits
+ concurrent access to the tasks lists and many subtle problems.
+ This fix just remains in the critical section throughout the
+ operation (and possible until the task is restore in the event of a
+ context switch). Makes a big difference in stability.
+ - SMP: Fix an error in critical section logic when performing a
+ context switch from an interrupt handler. The g_cpu_irqset bit was
+ not being set for the CPU so other CPUs did not know about the
+ critical section.
+ - SMP Signals: Fix some SMP signal delivery logic. Was not handling
+ some critical sections correctly and was missing logic to signal
+ tasks running on other CPUs.
+ - SMP: Fix timer related issues: Round robin and sporadic
+ scheduling were only being performed for tasks running on the CPU
+ that processes the system timer interrupt. Similary, CPU load
+ measurements were only be processed for running on the CPU that
+ receives the sampling interrupt.
+ - sched_note: Fix spinlock instrumentation. From Masayuki Ishikawa.
+ - In all implementations of _exit(), use enter_critical_section() vs.
+ disabling local interrupts.
+ - sigtimedwait: When timer expires, up_unblock_task() is called.
+ This is okay in the single CPU case because interrupts are disable
+ in the timer interrupt handler. But it is insufficient in the SMP
+ case. enter_ and leave_critical_section() must be called in order
+ to manage spinlocks correctly.
+ - Fix a compile error: in sched_cpuload.c:Line136, the variables ts
+ and secs are not defined if CONFIG_CPULOAD_ONESHOT_ENTROPY = 0.
+ However, these variables are used regardless of
+ CONFIG_CPULOAD_ONESHOT_ENTROPY at lines~180:onwards. From rg.
+ - CPU load: Correct computation of the nominal period to use when the
+ source is a oneshot timer.
+ - Cancellation points: Fix some backward logic in conditional
+ compilation.
+ - Remove an unused variable when calling sigwaitinfo() and
+ sigtimedwait(). From Masayuki Ishikawa.
+
+* File System/Block and MTD Drivers:
+
+ - procfs: Correct to snprintf-related errors in fs_procfsproc.c.
+ Resolves issue #24.
+ - Add logic to VFS rename: If target of rename exists and is a
+ directory, then the source file should be moved 'under' the target
+ directory. POSIX also requires that if the target is a file, then
+ that old file must be deleted.
+ - Fix open() a block device with
+ CONFIG_DISABLE_PSEUDOFS_OPERATIONS=y. From Masayuki Ishikawa.
+ - File System: Don't build block driver proxy if PSEUDOFS_OPERATIONS
+ are disabled.
+ - sendfile(): Fix error introduced with commit
+ ff73be870e38959b0aaee5961dc47b4b58dc2d86. Noted by Maciej Wójcik.
+
+* Graphics/Graphic Drivers:
+
+ - NxWM configurations. If using a 7-bit character set, then the
+ cursor character cannot be 137 (graphic block). Use 95
+ (underscore) instead.
+ - NX server: Correct message queue names. Should not be at /dev,
+ but rather relative to /var/mqueue.
+
+* Common Drivers:
+
+ - MMCSD_SDIO: Only wait for card ejected if card detection is
+ supported. From Alan Carvalho de Assis.
+ - Typos withim mtd/ with Macronix MX25L. In
+ NuttX/drivers/mtd/Make.defs letters X between M and 25 are
+ missing. Noted by Oleg Evseev.
+ - USBMSC: Always set LUN readonly flag. From Wolfgang ReiÃnegger.
+ - drivers/lcd: ssd1306_configspi() must have global scope.
+ - MMC/SD SDIO: Some drivers need to start DMA before sending CMD24
+ and some AFTER. From Alan Carvalho de Assis.
+ - drivers/tone.c: Handle configuration with multiple PWM channels.
+ This resolves issue #30: Audio Tone Generator and PWM Multiple
+ Output Channel options.
+ - drivers/tone.c: 50% duty needs to be expressed a a fixed precision
+ number.
+ - drivers/spi/Kconfig: There is too much SPI in the configuration
+ menu; SPI Driver Support menu is empty. From Maciej Wójcik.
+ - option to enable Memory Card debug output was hidden with SD cards
+ connected through SPI. From Maciej Wójcik.
+ - usbhost_cdcacm: fix tx outbuffer overflow and remove now invalid
+ assert. From Janne Rosberg.
+
+* Networking/Network Drivers:
+
+ - Networking: Fixed some issues that prevented IPv6 from working with
+ IPv4 enabled. From Pascal Speck.
+ - Networking: fixed a nullptr-dereference on iob_clone. From Pascal
+ Speck.
+ - Ethernet: Need two work structures (minimum) in all Ethernet
+ drivers so that pending poll work is not lost when an interrupt
+ occurs.
+
+* ARMv7-R:
+
+ - I found an issue inside the cp15_coherent_dcache function: The
+ "mcr CP15_BPIALLIS(r0)" should only be used with SMP
+ configurationa. In non-SMP configuration this instruction could
+ become undefined. From Manohara HK.
+
+* Atmel SAM3/4 Drivers:
+
+ - SAM3/4: GPIO bit numbering typo fixes. From Wolfgang ReiÃnegger.
+
+* Atmel SAM3/4 Boards:
+
+ - Add missing sched_note_*() calls in sam4cm SMP functions.
+
+* NXP/Freescale Kinetis:
+
+ - Kinetis: Fixed wrong MCG VDIV calculation on new NXP K60. From
+ Maciej Skrzypek.
+ - Kinetis: Need to set HAVE_UART_DEVICE when UART4 is selected. From
+ Maciej Skrzypek.
+ - Kinetis MCG: Wrong FRDIV set in MCG_C1. From Maciej Skrzypek.
+
+* NXP/Freescale Kinetis Drivers:
+
+ - Kinetis Serial: Fixed compile error when UART5 is selected. From
+ Maciej Skrzypek.
+ - Kinetis SDHC - Enable clock after selected. From David Sidrane.
+ - Kinetis: Correct some SPI and I2C configuration issues. From
+ David Sidrane.
+ - Kinetis Ethernet: Add #define for number of loops for auto
+ negotiation to complete. From Marc Rechté.
+ - Kinetis Werial: Fixed up_rxint - did not disable the RX
+ interuppts. There was an OR where and AND NOT was needed. From
+ David Sidrane.
+
+* NXP/Freescale LPC43xx:
+
+ - LPC43 pinset definitions: Add more 1 bit to pinset to reach
+ SFSCLK0-SFSCLK3. Remove PINCONFIG_DIGITAL. From Alan Carvalho de
+ Assis.
+
+* NXP/Freescale LPC43xx Drivers:
+
+ - LPC43 serial: Correct conditional logic that selects /dev/ttySN.
+ Problem noted by Alan Carvalho de Assis.
+
+* NXP/Freescale i.MX6:
+
+ - i.MX6: Fix clearing GPT status register. From Masayuki Ishikawa.
+
+* STMicro STM32:
+
+ - STM32, STM32L4 Oneshot: Fix logic so that it can support multiple
+ oneshot timers.
+ - STM32 F7: Added missing ARCH_HAVE_RESET for F7. From David Sidrane.
+ - STM32: Add missing STM32_BKP_BASE. From David Sidrane.
+ - STM32 and STM32F7: Fixes the BKP reference counter issue. From
+ David Sidrane.
+
+* STMicro STM32 Drivers:
+
+ - Fix for SAMv7 SPI: DLYBS value was calculated, but never written to
+ any registers. This led to incorrect timings on the bus. From
+ Michael Spahlinger.
+ - STM32 QEncoder: Fix QEncoder driver, based on STM32L4 driver. From
+ Alan Carvalho de Assis.
+ - STM32 QEncoder: Enable clocking to the timer on QE setup; disable
+ clock on QE teardown.
+ - STM32 Ethernet: Need two work structures so that pending poll work
+ is not lost when an interrupt occurs. This change has also been
+ ported to all all other effected Ethernet drivers.
+ - STM32 OTGHS host: stm32_in_transfer() fails and returns NAK if a
+ short transfer is received. This causes problems from class
+ drivers like CDC/ACM where short packets are expected. In those
+ protocols, any transfer may be terminated by sending short or NUL
+ packet. From Janne Rosberg. Adapted Janne Rosberg's patch to
+ STM32 OTGHS host to OTGFS host, and to similar USB host
+ implementations for STM32 L4 and F7.
+
+* STMicro STM32 Boards:
+
+ - STM32F4 Discovery: Fix issues with QEncoder support. From Alan
+ Carvalho de Assis.
+
+* C Library/Header Files:
+
+ - Add debug assertion in libdtoa to catch attempts to use floating
+ point output formats from within an interrupt handler. That will
+ cause assertions or crashes downstream because __dtoa will attempt
+ to allocate memory. From Pierre-noel Bouteville.
+ - libc: Fix ARMv7-A/R memcpy assembly.
+ - Fix return value if x is NaN. From Aleksandr Vyhovanec.
+
+* apps/nshlib:
+
+ - NSH: Eliminate a warning when all memory inspection commands are disabled.
+
+* apps/graphics:
+
+ - apps/graphics/traveler/tools: Fix linkage issue. The -lm should
+ come after -o binname. From Alan Carvalho de Assis.
+
+* apps/netutils:
+
+ - The CONFIG_NETUTILS_HTTPD_PATH constant is used by httpd_mmap.c and
+ httpd_sendfile.c but It was not present in Kconfig menu. From
+ Maciej Wójcik.
+
+* apps/examples:
+
+ - Configurations that enable OSTEST must not disable signals.
+ - apps/examples/ostest: Was ignoring
+ CONFIG_EXAMPLES_OSTEST_FPUTESTDISABLE.
+ - In apps/examples/mtdpart/mtdpart_main.c where
+ CONFIG_EXAMPLES_MTDPART_NPARTITIONS defining is checked should be
+ #ifndef instead of #ifdef. Noted by Oleg Evseev.
+</code></pre></div></div>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2020 </p>-->
+ <footer class="site-footer">
+ <div class="wrapper">
+ <div class="footer-col-wrapper">
+
+ Apache NuttX is an effort undergoing <a href="https://incubator.apache.org/index.html">Incubation</a>
+ at The Apache Software Foundation (ASF), sponsored by the 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.
+ <hr>
+
+ <div style="text-align:center;">
+
+ <div style="margin-top: 20px; margin-bottom: 20px;">
+ <a href="http://incubator.apache.org"><img src="/assets/themes/apache/img/egg-logo.png"
+ alt="Apache Incubator"/></a>
+ </div>
+
+ <div>
+ Copyright © 2019 <a href="http://www.apache.org">The Apache Software Foundation</a>.
+ Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
+ 2.0</a>.
+ <br>
+
+ Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+ Software Foundation.
+
+ </div>
+ </div>
+ </div>
+ </div>
+</footer>
+
+ </footer>
+ </div>
+
+
+ <script src="/assets/themes/apache/jquery/jquery-2.1.1.min.js"></script>
+
+ <script src="/assets/themes/apache/bootstrap/js/bootstrap.min.js"></script>
+
+
+ </body>
+</html>
+
diff --git a/content/releases/7.21/index.html b/content/releases/7.21/index.html
new file mode 100644
index 0000000..ad6e575
--- /dev/null
+++ b/content/releases/7.21/index.html
@@ -0,0 +1,1134 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>7.21</title>
+
+ <meta name="author" content="">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le styles -->
+ <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+ -->
+
+ </head>
+
+ <body>
+
+ <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <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>
+ <a class="navbar-brand" href="/">
+ <img src="/assets/themes/apache/img/logo.png" width="30">
+ Apache NuttX
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav navbar-right">
+ <li id="community">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
+ <ul class="dropdown-menu dropdown-left">
+ <li><a href="/community">Get Involved</a></li>
+ <li><a href="/community-members">Who we are</a></li>
+ </ul>
+ </li>
+ <li><a href="https://github.com/apache/incubator-nuttx">GitHub</a></li>
+ <li id="apache">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ <li><a href="http://www.apache.org/events/current-event">Events</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+
+ <div class="container">
+
+
+<!--<div class="hero-unit 7.21">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <!--
+
+-->
+
+<h2 id="nuttx-721-release-notes">NuttX-7.21 Release Notes</h2>
+
+<p>The 121st release of NuttX, Version 7.21, was made on June 6, 2017,
+and is available for download from the Bitbucket.org website. Note
+that release consists of two tarballs: nuttx-7.21.tar.gz and
+apps-7.21.tar.gz. These are available from:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://bitbucket.org/nuttx/nuttx/downloads
+https://bitbucket.org/nuttx/apps/downloads
+</code></pre></div></div>
+
+<p>Both may be needed (see the top-level nuttx/README.txt file for build
+information).</p>
+
+<p>Additional new features and extended functionality:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - pthread rwlocks: Add an implementation for read/write locks
+ (rwlocks) into the pthread library. These locks are writer
+ priority, such that if any writers come in they are given priority
+ for writing. From Mark Schulte.
+ - pthread robust mutexes: Implement robust mutex support:
+ pthread_mutex_lock() and trylock() will return EOWNERDEAD if the
+ mutex is locked by a thread that no longer exists. Add
+ pthread_mutex_consistent() to recover from this situation. Keep
+ list of all mutexes held by a thread in a list in the pthread's TCB.
+ When pthread exits or is cancelled, mutexes held by thread are
+ marked inconsistent and the highest priority thread waiting for the
+ mutex is awakened. There is a configuration option to (a) support
+ only robust mutexes, (b) support only traditional unsafe mutexes,
+ or (c) Support both unsafe and robust mutexes via
+ pthread_mutexattr_get/setrobust().
+ - pthread cancellation points: Add logic to disable cancellation
+ points within the OS. This is useful when an internal OS function
+ that is NOT a cancellation point calls an OS function which is a
+ cancellation point. In that case, irrecoverable states may occur if
+ the cancellation is within the OS. From Juha Niskanen.
+ - clock: Add clock_resynchronize and use subseconds RTC. Add
+ clock_resynchronize for better synchronization of CLOCK_REALTIME and
+ CLOCK_MONOTONIC to match RTC after resume from low-power state. Add
+ up_rtc_getdatetime_with_subseconds under
+ CONFIG_ARCH_HAVE_RTC_SUBSECONDS to allow initializing (and
+ resynchronizing) system clock with subseconds accuracy RTC. From
+ Jussi Kivilinna.
+ - clock: Add new type ssystime_t for relative 64-bit ticks, change
+ ticks<->time conversion functions to use ssystime_t. From Jussi
+ Kivilinna.
+ - clock: Add testing for 32-bit overflow of 64-bit system timer. From
+ Jussi Kivilinna.
+
+* File Systems/Block and MTD Drivers
+
+ - drivers/mtd/w25.c: Erase sector only if it is not in erased state.
+ From Jussi Kivilinna.
+
+* Graphics/Display Drivers:
+
+ - drivers/lcd: Extend st7565 driver to include support for the
+ AQM_1248A. From Masayuki Ishikawa.
+ - drivers/lcd: Add driver for Nokia 5110 (Philips PCD8544). From Alan
+ Carvalho de Assis.
+
+* Networking/Network Drivers:
+
+ - Extensive modifications to support wireless network (see below).
+ - TUN driver: Implement TAP (OSI layer 2) mode. Enable by setting the
+ IFF_TAP flag instead of the IFF_TUN flag in ifr_flags. From Thomas
+ Keh.
+ - Add user-space networking stack API (usrsock). User-space
+ networking stack API allows user-space daemon to provide TCP/IP
+ stack implementation for NuttX network. Main use for this is to
+ allow use and seamless integration of HW-provided TCP/IP stacks to
+ NuttX. For example, user-space daemon can translate /dev/usrsock
+ API requests to HW TCP/IP API requests while rest of the user-space
+ can access standard socket API, with socket descriptors that can be
+ used with NuttX system calls. From Jussi Kivilinna.
+ - net/: Network driver now retains Ethernet MAC address in a union so
+ that other link layer addresses may be used in a MULTILINK
+ environment.
+
+* Wireless Networking/Wireless Drivers:
+
+ - BCM43362: Support for Broadcom's BCM43362 WiFi chip was contributed
+ by Simon Piriou as part of the port of the Particle Photon board.
+ Only station functionality is available at present. This work
+ includes not on the WiFi driver, but the support Particle Photon
+ board, the infrasture for IEEE 802.11 FullMAC networking including
+ the network device interface, WiFi configuration, AP scanning and
+ authentication and association with an AP.
+ - IEEE 802.11 networking tools and support.
+ - IEEE 802.15.4 MAC support. This is an effort that was started some
+ time back by Sebastien Lorquet (with some help from Matte Poppe).
+ Recently, Anthony Merlino has taken on this effort and has made
+ some significant progress. Using the Microchip MRF24J40 module with
+ the Mikroe Clicker2-STM32 board along with a PC-based IEEE 802.15.4
+ sniffer, Anthonly has verified correct transmittion and receipt of
+ basic frames.
+ - Microchip MRF24J40: As mentioned above, this IEEE 802.15.4 radio
+ driver is now basically functional.
+ - IEEE 802.15.4 Network Driver: A driver that interfaces the NuttX
+ network with the IEEE 802.15.4 MAC has been developed but is still
+ incomplete and has not been verified.
+ - IEEE 802.15.4 Network Loopback Driver: A simple IEEE 802.15.4 MAC
+ loopback driver was developed. This driver allowed for parallel
+ development of the IEEE 802.15.4 MAC and 6loWPAN.
+ - 6loWPAN: The Contiki 6loWPAN stack has been ported so that works
+ within the NuttX networking framework and interfaces with the new
+ IEEE 802.15.4 MAC via the network driver. Live testing with
+ IEEE 802.15.4 radios has not yet been done; all testing has used
+ the loopback driver. There are no known problems and the stack
+ is ready for additional testing.
+ - Add option to enable wireless debug output.
+
+* Other Common Device Drivers:
+
+ - Add entropy pool and strong random number generator. Entropy pool
+ gathers environmental noise from device drivers, user-space, etc.,
+ and returns good random numbers, suitable for cryptographic use.
+ Based on entropy pool design from *BSDs and uses BLAKE2Xs algorithm
+ for CSPRNG output. Patch also adds /dev/urandom support for using
+ entropy pool RNG and new 'getrandom' system call for getting
+ randomness without file-descriptor usage (thus avoiding file-
+ descriptor exhaustion attacks). The 'getrandom' interface is similar
+ as 'getentropy' and 'getrandom' available on OpenBSD and Linux
+ respectively. From Jussi Kivilinna.
+ - XBox One controller: Adds USB host driver support for the XBox One
+ controller. Currently only the latest version (XBox One X)
+ controller works. The older XBox One controllers do not enumerate
+ correctly. From Brian Webb.
+ - drivers/analog: Add basic COMP driver. From Mateusz Szafoni.
+ - drivers/analog: Add driver for the LTC1767L ADC. From Martin
+ Lederhilger.
+ - drivers/analog: Add basic OPAMP driver. From Mateusz Szafoni.
+ - drivers/sensors: Add driver for ST HTS221 humidity sensor. From
+ Juha Niskanen.
+ - drivers/sensors: Add driver for ST LPS25H pressure sensor. From
+ Juha Niskanen.
+ - drivers/sensors: Add driver for ST LIS2DH accelerometer. From Timo
+ Voutilainen.
+ - drivers/usbmisc: Add driver for Fairchild FUSB301 USB type-C
+ controller. From Harri Luhtala.
+ - RTC: Add interface for check if RTC time has been set. New
+ interface allows checking if RTC time has been set. This allows to
+ application to detect if RTC has valid time (after reset) or should
+ application attempt to get real time by other means (for example, by
+ launching ntpclient or GPS). From Jussi Kivilinna.
+ - Buttons: Change return value of board_buttons() and the type of
+ btn_buttonset_t to uint32_t so that more than 8 buttons can be
+ supported.
+ - drivers/syslog: Use monotonic clock for timestamp when available.
+ From Jussi Kivilinna.
+ - SPI: Add an instance argument to the SPIDEV definitions. Thus,
+ instead of specifying a FLASH device, for example, as SPI_FLASH, you
+ would now use SPI_FLASH(0) where the "instance" argument now
+ distinguishes multiple FLASH devices on the same SPI bus. From
+ Sebastien Lorquet.
+ - IOBs: Move from net/iob to a better location in mm/iob where they
+ can be shared outside of the networking logic. Current also used
+ by IEEE 802.15.4 MAC and by syslog (when buffering enabled).
+ - syslog: Add option to buffer SYSLOG output to avoid interleaving.
+ Uses new shareable IOBs. Additional logic to assure that the the
+ write from the buffer is a single atomic write in normal debug
+ output.
+ - drivers/can: Move CAN subsystem to its own directory and put device
+ drivers there. From Alan Carvalho de Assis.
+ - drivers/can: Add Microchip MCP2515 CAN Bus controller driver. From
+ Alan Carvalho de Assis.
+ - drivers/audio: Add cs43l22 audio driver. From Taras Drozdovsky.
+ - drivers/input: Add Cypress MBR3108 CapSense touch button driver.
+ From Juha Niskanen.
+
+* Simulation
+
+ - configs/sim/sixlowpan: Configuration for testing the 6loWPAN with
+ the IEEE 802.15.4 loopback network driver.
+
+* Infineon XMC4xxx:
+
+ - arch/arm/src/xmc4: Initial, partial support for Infineon XMC4xxx.
+
+* Infineon XMC4xxx Boards:
+
+ - XMC4500 Relax: Add basic board support infrastructure of Infineon
+ XMC4500 Relax Lite v1. Basic serial, LED, and button button support
+ for a simple NSH configuration. There are still stome remaining
+ issues with serial communications.
+
+* MicroChip PIC32MX Boards:
+
+ - pic32mx7mmb: Add support for the Pinquino toolchain.
+ - pic32mx7mmb: Add support for PROCFS file system.
+
+* NXP Freescale Kinetis:
+
+ - Kinetis: Allow board to add pullups on SDHC lines. From David
+ Sidrane.
+ - Kinetis: Use optional BOARD_OSC_CR and BOARD_OSC_DIV in clock
+ configuration. From David Sidrane.
+
+* NXP Freescale Kinetis Drivers:
+
+ - Kinetis: Add Timer PWM Module (TPM) to K66 chip. From David
+ Sidrane.
+ - Kinetis: Added HW flow control and termios. From David Sidrane.
+ - Kinetis: Add ARCH_HAVE_I2CRESET. From David Sidrane.
+
+* NXP Freescale LPC43xx:
+
+ - Add support for LPC4337FET256. From Andreas Bihlmaier.
+
+* STMicro STM32:
+
+ - Change STM32 tickless to use only one timer. From Konstantin
+ Berezenko.
+ - STM32 F7: Add support for LSE RTC and enable RTC subseconds. From
+ Jussi Kivilinna.
+ - STM32 L1: stm32l15xx_rcc: Add support for using MSI as system
+ clock. From Juha Niskanen.
+ - STM32 L1: stm32l15xxx_rcc: configure medium performance voltage
+ range and zero wait-state when allowed by SYSCLK setting. Zero
+ wait-state for flash can be configured when: (1) Range 1 and
+ SYSCLK <= 16 Mhz, (2) Range 2 and SYSCLK <= 8 Mhz, or (3) Range 3
+ and SYSCLK <= 4.2 Mhz. Medium performance voltage range (1.5V)
+ can be configured when SYSCLK is up to 16 Mhz and PLLVCO up to
+ 48 Mhz. From Juha Niskanen.
+ - STM32 F0: Add basic support for STM32F0. From Alan Carvalho de
+ Assis.
+ - STM32 F0: Add basic support for STM32F07x family.
+ - STM32 L1: stm32l15xx_rcc: Allow board to configure HSE clock in
+ bypass-mode. Allows using MCO output from ST-link chip (on Nucleo
+ and Discovery boards) as HSE input. From Juha Niskanen.
+ - STM32 L1: Add support for STM32L152CC, STM32L152RC and STM32L152VC.
+ From Juha Niskanen.
+ - STM32 F0: Add support for HSI48.
+ - STM32 L4: Add support for the STM32L496XX family. From Juha
+ Niskanen.
+ - STM32 L4: modularize Kconfig to support different product
+ lines/families. This is modeled after STM32F7. Idea is to declare
+ each chip in Kconfig but allow for flash size override. Commit adds
+ many STM32L4_HAVE_XXX feature test macros. From Juha Niskanen.
+ - STM32 L4: Separate SYSCFG into product line specific files for
+ clarity. From Juha Niskanen.
+ - STM32 L4: Add support for many new MCUs from the STM32L4X3XX
+ product line. From Juha Niskanen.
+ - STM32 L4: Add dbgmcu header files. From Juha Niskanen.
+ - STM32 F410: Add support for STM32F410. STM32F410 is a version of
+ STM32F4 with 32 KB of RAM and 62 or 128 KB of flash. From Gwenhael
+ Goavec-Merou.
+
+* STMicro STM32 Drivers:
+
+ - SDIO: Extensions to support the SDIO interface to the BCM43362 from
+ Simon Piriou.
+ - STM32 F2: Add USB OTG HS support for stm32f20xxx cores. From Simon
+ Piriou.
+ - STM32 F2, F4, and F7: Add BOARD_DISABLE_USBOTG_HSULPI flag. From
+ Simon Piriou.
+ - STM32 F33: Move DMA logic to a separate files + add ADC support.
+ From Mateusz Szafoni.
+ - STM32 F3: Add COMP support. From Mateusz Szafoni.
+ - STM32 F33: Support for COMP character driver. From Mateusz Szafoni.
+ - STM32 F4: Implement DMA support for the STM32F4 I2C. From rg.
+ - STM32 F7: Add stm32 RNG support. This is copied from stm32l4.
+ Tested on STM32F746ZG board. From Juha Niskanen.
+ - STM32 L1: Add STM32L162VE to chip.h. From Juha Niskanen.
+ - STM32 F4: Add I2C3 SDA pin mapping for STM32F411. From no1wudi.
+ - STM32 L1: stm32_flash: Add EEPROM writing for STM32L15XX. From
+ Juha Niskanen.
+ - STM32 F7: Serial: Add interface to get uart_dev_t by USART number,
+ stm32_serial_get_uart. From Jussi Kivilinna.
+ - STM32 F4: Provide TIM5 definition for STM32F429. From Matias v01d.
+ - STM32 F0: Add an untested port of the F1 USB device to the STM32F0.
+ - STM32 F0: Add support for the STM32F09X family. From Juha
+ Niskanen.
+ - STM32 F0: Initial cut at I2C driver. Still a work in progress.
+ From Alan Carvalho de Assis.
+ - STM32 F33: Add OPAMP support. From Mateusz Szafoni.
+ - STM32 L4: stm32l4_i2c: Add I2C4 code. From Juha Niskanen.
+ - STM32 L4: Add GPIO_PORTI definition. From Juha Niskanen.
+ - STM32 F7 Serial: Allow configuring Rx DMA buffer size. From Jussi
+ Kivilinna.
+ - STM32 L4: Firewall for stm32l4x3xx. Not tested for any product
+ family, but now it at least compiles. L496 devices can have one bit
+ wider Volatile Data Segment. From Juha Niskanen.
+ - STM32 TIM: Add method to get timer width. Freerun timer: Use timer
+ width to get the correct clock rollover point.
+ - STM32 L4: Add internal flash write support. From Juha Niskanen.
+ - STM32 L4: Port stm32l4_serial_get_uart function from STM32F7. From
+ Juha Niskanen.
+ - STM32 Ethernet: Add support for KSZ8081 PHY interrupts. From
+ Sebastien Lorquet.
+ - STM32 F4: Add I2S driver. From Taras Drozdovsky.
+ - STM32 L4: Add IWDG peripheral. This is the same as for STM32
+ except that prescale and reload can be changed after watchdog has
+ been started, as this seems to work on L4. From Juha Niskanen.
+ - STM32 F7: Add SPI DMA support. From Jussi Kivilinna.
+
+* STMicro STM32 Boards:
+
+ - Support for the Particle Photon board was contributed by Simon
+ Piriou. The Photon board is based on a STM32F205G MCU with and on-
+ board BCM43362 WiFi chip that interfaces via the STM32's SDIO
+ interface. Board configuration support includes, in addition,
+ buttons, LEDS, IWDG, USB OTG HS, and procfs support. Configurations
+ available for nsh, usbnsh, and wlan configurations.
+ - Clicker2-STM32: Support for the Mikroelektronika Clicker 2 for
+ STM32 was added by Anthony Merlino. This board, along with the
+ MRF24J40 Click board is the platform used to deveop the IEEE
+ 802.15.4 support. The boad configuration includes the MRF24J40
+ intialization logic and SPI support. Configurations exist for nsh,
+ knsh, usbnsh, and mrf24j40-radio.
+ - Nucleo_F334R8: Add ADC example. From Mateusz Szafoni.
+ - Nucleo-F334R8: Add COMP support. From Mateusz Szafoni.
+ - Nucleo-F334R8: Use new COMP driver. From Mateusz Szafoni.
+ - Adds USB host support to stm32f411-disco board. From Brian Webb.
+ - Add stm32f0discovery board support. From Alan Carvalho de Assis.
+ - Nucleo-F072RB: Add board configuration.
+ - Nucleo-F334R8: Add OPAMP support. From Mateusz Szafoni.
+ - Nucleo-F072RB: Add support for the I2C driver used by I2C tools.
+ - Nucleo-L496ZG: Add nucleo-l496zg board files. From Juha Niskanen.
+ - Nucleo-F091RC: Add nucleo-f091rc board files. From Juha Niskanen.
+ - Nucleo-L432KC: Add nucleo-l432kc board files. From Sebastien
+ Lorquet.
+ - Nucleo-L452RE: Add nucleo-l452re board files. From Juha Niskanen.
+ - stm32f103-miniumum: Add board support to use the Nokia 5110
+ LCD display driver. From Alan Carvalho de Assis.
+
+* C Library/Header Files:
+
+ - C library: Add strerror_r().
+ - C Library: Add wcstoull(), swprintf(), wcstod(), wcstof(), wcstol(),
+ wcstold(), wcstoul(), wcstoll() functions. Add mbsnrtowcs() and
+ wcsnrtombs() (just returning success). Add mbtowc() and wctomb() to
+ C++ std namespace. From Alan Carvalho de Assis.
+ - C Library: Add ffsl(), ffsll(), fls(), flsl(), flsll() and use
+ GCC's __builtin_ctz/__builtin_clz for faster implementation of these.
+ From Jussi Kivilinna.
+ - fixedmath: Add square root and b32_t conversion operators. From
+ Jussi Kivilinna.
+ - locale.h: Add a bogus definition of locale_t.
+ - C library: Versions mbrlen and mbsrtowcs taken and adapted from
+ FreeBSD code (at https://github.com/freebsd/freebsd/). From Matias
+ v01d.
+
+* Build/Configuration System:
+
+ - Include C++ library in 'make export'. From Alan Carvalho de Assis.
+ - configs: Remove all setenv.sh and setenv.bat files. Remove all
+ references to setenv.sh and setenv.bat from all config README files.
+ - Kconfig/deconfigs: Add CONFIG_ARCH_TOOLCHAIN_GNU to indicate that
+ the toolchain is based on GNU gcc/as/ld. This is in addition to the
+ CPU-specific versions of the same definition.
+ - Move prototype for up_cxxinitialize() from nuttx/include/nuttx/arch.h
+ to apps/include/platform/cxxinitialize.h.
+
+* Tools:
+
+ - Add initialconfig.c so that perhaps in the future we will be able to
+ use this to generate a new configuration from scratch (rather than
+ having to derive new configurations from existing configurations).
+ NOTE: Not yet intregated into the build system.
+
+* NSH: apps/nshlib:
+
+ - Added support for set [{+|-}{e|x|xe|ex}] [<name> <value>]. Set the
+ 'exit on error control' and/or 'print a trace' of commands when
+ parsing scripts in NSH. The settinngs are in effect from the point
+ of exection, until they are changed again, or in the case of the init
+ script, the settings are returned to the default settings when it
+ exits. Included child scripts will run with the parents settings and
+ changes made in the child script will effect the parent on return.
+ Use 'set -e' to enable and 'set +e' to disable (ignore) the exit
+ condition on commands. The default is -e. Errors cause script to
+ exit. Use 'set -x' to enable and 'set +x' to disable (silence)
+ printing a trace of the script commands as they are ececuted. The
+ default is +x. No printing of a trace of script commands as they are
+ executed. From David Sidrane.
+ - Print expanded variables if -x. From David Sidrane.
+ - ifconfig command: Extend ifconfig to support 6loWPAN. Adapt to
+ some changes in configuration variable usage.
+ - Network initialization: If IEEE802.11 selected use wlan0 instead of
+ eth0 for network device name.
+ - Network initialization: NSH now has configuration options to select
+ the wireless properties. It builds the configuration structure and
+ passes this to wpa_driver_wext_associate() so that it will set the
+ network as configured.
+ - Network initialization: Add a new option CONFIG_NSH_NETLOCAL that
+ will suppress some built in operations and will support manual
+ configuration of a wireless network through command line tools.
+
+* Examples/Tests: apps/examples:
+
+ - examples/xbc_text: Adds a test program for the XBox One controller
+ driver. From Brian Webb.
+ - examples/ostest: Add a test of robust mutexes.
+ - examples/ostest: Add tests for pthread_rwlock. Adding tests to be
+ used to verify the pthread_rwlock lock works. From Mark Schulte.
+ - examples/ostest: Additional test for rwlock and one for cancel
+ cleanup handlers. From Juha Niskanen.
+ - examples/usrsocktest: Add application for USRSOCK testing. From
+ Jussi Kivilinna.
+ - examples/nettest: Adapt for use in testing 6loWPAN.
+ - examples/nettest: If doing loopback, but not using the official
+ loopback device, then use the server should use the configured client
+ IP address.
+ - examples/udpblaster: Several fixes to work with 6loWPAN.
+ - examples/udpblaster: Add logic to bind the local UDP socket to a
+ well-known address.
+ - examples/configdata: Add stacksize and priority. From Juha Niskanen.
+
+* Network Utilies: apps/netuils:
+
+ - netutils/netlib: Add IEEE 802.11 wireless IOCTL wrappers.
+ - netutils/netlib: Add a helper function to convert a string to a
+ 6loWPAN node address.
+ - netlib and NSH: Add logic to get/set the IEEE802.15.4 PAN ID.
+ - netutils/dhcpc: Make the network device name a configuration
+ option. Was hardcoded to eth0 but may, instead, need to be wlan0.
+ - netutils/dhcpc: Remove hard-coded interface device. Now passed as
+ a parameter to dhcpc_open(). From Sebastien Lorquet.
+
+* Wireless Utilies: apps/wireless:
+
+ - wireless/wapi: Port of Wapi wireless services. The original
+ depended on features not supported by NuttX: Removed logic that
+ depends on Linux netlink. Removed functionality that depended on
+ the Linux procfs: This includes only 1) listing of available
+ interfaces and 2) listing of all routes.
+ - wireless/wapi: Create command line Wapi application based on
+ Wapi sample code.
+ - wireless/wapi: wpa_driver_wext_associate() now accepts a
+ configuration parameter that can be used to specify the wireless
+ properties.
+ - wireless/wapi: Add basic wapi_event_stream_extract implementation.
+ From Simon Piriou.
+ - wireless/ieee802154: Add iwpan and i8sak tools. iwpan is similar
+ in concept to wapi. From Anthony Merlino (i8sak was originally
+ by Sebastien Lorquet).
+ - wireless/ieee802154/libmac: IEEE 802.15.4 MAC library.
+ - wireless/wext: Add drivers_wext from the WPA supplicant; Integrate
+ into NSH. From Simon Piriou.
+
+* System Unitilities (apps/system)
+
+ - apps/system/dhcpc: Add a command to renew or establish a lease on an
+ IPv4 address.
+ - apps/system/ntpc: Add a command to start or stop the NTPC daemon.
+ - apps/system/ramtest: Make stacksize and priority conigurable.
+
+* Platform-Specific Support (apps/platform)
+
+ - apps/platform: Create gnu/ subdirectory that contains the one and
+ only GNU C++ initialization function. Remove all other C++
+ initialization functions.
+</code></pre></div></div>
+
+<p>Bugfixes. Only the most critical bugfixes are listed here (see the
+ChangeLog for the complete list of bugfixes and for additional, more
+detailed bugfix information):</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - Priority inheritance: When CONFIG_SEM_PREALLOCHOLDERS==0, there is
+ only a single, hard-allocated holder structure. This is problem
+ because in sem_wait() the holder is released, but needs to remain in
+ the holder container until sem_restorebaseprio() is called. The call
+ to sem_restorebaseprio() must be one of the last things the
+ sem_wait() does because it can cause the task to be suspended. If in
+ sem_wait(), a new task gets the semaphore count then it will fail to
+ allocate the holder and will not participate in priority
+ inheritance. This fix is to add two hard-allocated holders in the
+ sem_t structure: One of the old holder and one for the new holder.
+ - Priority inheritance: sem_holder sem_findholder missing
+ inintalization of pholder. sem_findholder would fail and code
+ optimization covered this up. From David Sidrane.
+ - Partial Fix priority inheritance CONFIG_SEM_PREALLOCHOLDERS=0. From
+ David Sidrane.
+ - Priority inheritance: sem_boostholderprio prevent overrun of
+ pend_reprios. The second case rtcb->sched_priority <=
+ htcb->sched_priority did not check if there is sufficient space in
+ the pend_reprios array. From David Sidrane.
+ - lp_worker: Guard from pend_reprios overlow. From David Sidrane.
+ - Priority inheritance: Fixes improper restoration of base_priority in
+ the case of CONFIG_SEM_PREALLOCHOLDERS=0. The call to
+ sem_restorebaseprio_task context switches in the
+ sem_foreachholder(sem, sem_restoreholderprioB, stcb); call prior to
+ releasing the holder. So the running task is left as a holder as is
+ the started task. Leaving both slots filled thus failing to perform
+ the boost/or restoration on the correct tcb. This PR fixes this by
+ releasing the running task slot prior to reprioritization that can
+ lead to the context switch. To faclitate this, the interface to
+ sem_restorebaseprio needed to take the tcb from the holder prior to
+ the holder being freed. In the failure case where sched_verifytcb
+ fails it added the overhead of looking up the holder. There is also
+ the additional thunking on the foreach to get from holer to
+ holder->tcb. An alternate approach could be to leve the interface
+ the same and allocate a holder on the stack of sem_restoreholderprioB
+ copy the sem's holder to it, free it as is done in this pr and and
+ then pass that address sem_restoreholderprio as the holder. It could
+ then get the holder's tcb but we would keep the same sem_findholder
+ in sched_verifytcb. From David Sidrane.
+ - Priority inheritance: Fixes improper restoration of base_priority.
+ From David Sidrane.
+ - sem_holder: Indexing error. From David Sidrane.
+
+ if (sem->holder[0].htcb != NULL || sem->holder[**1**].htcb != NULL)
+ - realloc(): When realloc() has to fall back to calling malloc(), size
+ including overhead was being provided to malloc(), causing a slightly
+ larger allocation than needed. Noted by initialkjc@yahoo.com.
+ - scheduler: Fix tg_flags check with GROUP_FLAG_NOCLDWAIT. From Masayuki
+ Ishikawa.
+ - scheduler: Fix CHILD_FLAG_EXITED in include/nuttx/sched.h. From
+ Masayuki Ishikawa.
+ - binfmt/elf: Fix offset value when calling elf_read() in
+ elf_symname(). From Masayuki Ishikawa.
+ - binfmt/elf: Fix offset value when calling elf_read() in
+ elf_sectname(). From Masayuki Ishikawa.
+ - There can be a failure in IOB allocation to some asynchronous
+ behavior caused by the use of sem_post(). Consider this scenario:
+ (1) Task A holds an IOB. There are no further IOBs. The value of
+ semcount is zero. Task B calls iob_alloc(). Since there are not
+ IOBs, it calls sem_wait(). The value of semcount is now -1. (2)
+ Task A frees the IOB. iob_free() adds the IOB to the free list and
+ calls sem_post() this makes Task B ready to run and sets semcount to
+ zero NOT 1. There is one IOB in the free list and semcount is zero.
+ When Task B wakes up it would increment the sem_count back to the
+ correct value. (3) But an interrupt or another task runs occurs
+ before Task B executes. The interrupt or other tak takes the IOB off
+ of the free list and decrements the semcount. But since semcount is
+ then < 0, this causes the assertion because that is an invalid state
+ in the interrupt handler. So I think that the root cause is that
+ there the asynchrony between incrementing the semcount. This change
+ separates the list of IOBs: Currently there is only a free list of
+ IOBs. The problem, I believe, is because of asynchronies due
+ sem_post() post cause the semcount and the list content to become out
+ of sync. This change adds a new 'committed' list: When there is a
+ task waiting for an IOB, it will go into the committed list rather
+ than the free list before the semaphore is posted. On the waiting
+ side, when awakened from the semaphore wait, it will expect to find
+ its IOB in the committed list, rather than free list. In this way,
+ the content of the free list and the value of the semaphore count
+ always remain in sync.
+ - binfmt: Fix .dtor memory allocation. From Masayuki Ishikawa.
+
+* File System/Block and MTD Drivers:
+
+ - SmartFS: If whence is SEEK_END, the file offset shall be set to the
+ size of the file plus offset. Noted by eunb.song@samsung.com.
+ - mtd/progmem: Fix incorrect target address calculation.
+ progmem_read/write() is incorrectly calculating the target address,
+ expecting the offset argument is given in a block number. This is
+ completely wrong and as a result invalid flash region is accessed.
+ Byte-oriented read/write interfaces of mtd device accept the target
+ address in a byte offset, not a block number. From Heesub Shin.
+ - procfs: Fix wrong member IDs are displayed when 'cat
+ /proc/<pid>/group/status'. From Nobutaka Toyoshima.
+ - procfs: Fix incorrect uptime with CONFIG_SYSTEM_TIME64. From
+ Masayuki Ishikawa.
+ - vfs/poll: round timeout up to next full tick. Calling poll() with
+ timeout less than half tick (thus MSEC2TICK(timeout) => 0) caused
+ returning error with EAGAIN. Instead of rounding timeout down, value
+ should be rounded up. Open Group spec for poll says:
+ "Implementations may place limitations on the granularity of timeout
+ intervals. If the requested timeout interval requires a finer
+ granularity than the implementation supports, the actual timeout
+ interval will be rounded up to the next supported value." From Jussi
+ Kivilinna.
+ - mtd/config: erase block between block read and write. From Juha
+ Niskanen.
+ - mtd: Build RAMTRON and AT45DB drivers only if selected. From Juha
+ Niskanen.
+ - mtd/config: Fix byte read interface test. From Juha Niskanen.
+ - mtd: Fix some unallocated and NULL pointer issues. rwb->wrflush and
+ rwb->wrmaxblocks in rwbuffer could get unallocated values from
+ ftl_initialize() in some configurations. Also fixes related assert:
+
+ up_assert: Assertion failed at file:rwbuffer.c line: 643
+
+ that can happen with the following configuration:
+
+ CONFIG_FTL_WRITEBUFFER=y
+ CONFIG_DRVR_WRITEBUFFER=y
+ # CONFIG_FS_WRITABLE is not set
+
+ These problems are caused by CONFIG variable differences between the
+ buffer layers. TODO: This is not a perfect solution. readahead
+ support has similar issues. From Juha Niskanen.
+ - net procfs: Fix buffer corruption and refactor netdev_statistics.c.
+ From Masayuki Ishikawa.
+ - FAT: Fix 'Missing unlock' in fs_fat32.c. From Masayuki Ishikawa.
+ - VFS fdopen: Add missing file stream flags clearing. Clear file
+ stream structure regardless of config options. Structure clearing is
+ needed as previous use of stream list entry might leave fs_flags
+ set. From Harri Luhtala.
+ - mtd/smart: Fix use of uninitialized variable. From Jussi Kivilinna.
+ - mtd/w25.c: Enable short delay after sector/chip erase. From Jussi
+ Kivilinna.
+ - mtd/config: Add some error checks for I/O errors. From Juha
+ Niskanen.
+
+* Graphics/Graphic Drivers:
+
+ - net procfs: Some long lines were being generated that cause buffer-
+ related problems and corrupted output.
+
+* Networking/Network Drivers:
+
+ - Fixed wrong assert on udp dgram send. From Pascal Speck.
+ - TCP/IPv6: Fix a compile issue when IPv6, but not IPv4 is enabled.
+ - net/socket/accept: Fix building with CONFIG_NET_LOCAL_STREAM. From
+ Jussi Kivilinna.
+ - Argument of network device IOCTL should be unsigned long, just as
+ will all other IOCTL methods.
+ - net/socket: Fix cloning of local and raw sockets. From Jussi
+ Kivilinna.
+ - TCP: Wait for 3-Way Handshare before accept() returns. From Simon
+ Piriou.
+ - TCP: Send RST if applicaiton 'unlistens()' before we complete the
+ connection sequence.
+ - TCP: An RST received during the 3-way handshake requires a little
+ more clean-up.
+ - IPv6: Fix net_ipv6_pref2mask(). From Masayuki Ishikawa.
+ - network IOCTL commands: The only place in net/netdev/netdev_ioctl.c
+ where the interface state should change is for SIOCSIFFLAGS. The
+ other ones .. SIOCSIFADDR, SIOSLIFADDR, SIODIFADDR .. should not
+ change the link state. From Sebastien Lorquet.
+ - TCP: Fix tcp_findlistner() in dual stack mode. From Masayuki
+ Ishikawa.
+
+* Common Drivers:
+
+ - Fix as5048b by adding missing frequency parameter. From Andreas
+ Bihlmaier.
+ - multiple fixes in nrf24l01 driver: (1) signal POLLIN if there is
+ already data in the FIFO, (2) send ETIMEDOUT to userspace after 2
+ seconds if TX IRQ was not received, (3) handle FIFO overflow, (4)
+ handle invalid pipes/empty FIFO, and (5) multiple cosmetics (missing
+ static, duplicate define, missing \n). From Leif Jakob.
+ - input/mxt: Prevent overriding i2c transfer return value.
+ put_reg/get_reg function was overriding i2c transfer error code with
+ i2creset return value, that lead to OK status although actual
+ transfer failed. From Juha Niskanen.
+ - drivers/audio/wm8904: WM8904 has same problem as that fixed by Juha
+ Niskanen in the MaxTouch driver.
+ - UART 16550: Missing left parenthesis in function prototype. This is
+ Bitbucket Issue #41.
+ - USBMSC: Fix a wrong lun number issue. From Masayuki Ishikawa.
+ - drivers/i2c: Fix compile issues if CONFIG_DISABLE_PSEUDOFS_OPERATIONS
+ is enabled.
+ - drivers/serial: I discovered a problem in the file
+ drivers/serial/serial.c concerning the function uart_close(â¦). In the
+ case that a serial device is opened with the flag O_NONBLOCK the
+ function uart_close(â¦) blocks until all data in the buffer is
+ transmitted. The function close(â¦) called on an handle opened with
+ O_NONBLOCK should not block. The problem occurred with a CDC/ACM
+ device. From Stefan Kolb.
+ - drivers: Fix some bad NULL checks. From Juha Niskanen.
+ - drivers: Rename newly introduced up_i2creset to I2C_RESET. From
+ Juha Niskanen.
+ - drivers/bch: BCH character driver bch_ioctl() always returns -ENOTTY
+ for DIOC_GETPRIV command. It should returns OK if DIOC_GETPRIV
+ command succeeds. From EunBong Song.
+ - Replace sprintf() with snprintf() in pipe.c. From Nobutaka Toyoshima.
+ - drivers/bch: Fix 'Missing Unlock' in bchdev_driver.c. From Masayuki
+ Ishikawa.
+ - button_upper: Fix interrupt enabling for poll-events. From Jussi
+ Kivilinna.
+ - drivers/{sensors,usbmisc}: Fix uninitialized I2C frequency. From
+ Juha Niskanen.
+
+* ARM:
+
+ - Set EABI stack alignment for all ARM architectures (remove OABI
+ code). From David Cabecinhas.
+ - Remove redundant interrupt stack coloring and OABI code. From David
+ Cabecinhas.
+ - Fix off-by-one interrupt stack allocation in 8-byte aligned
+ architectures. From David Cabecinhas.
+
+* ARMv6-M:
+
+ - CONFIG_DEBUG_HARDFAULT should be available for Cortex-M0 too.
+
+* Microchip/Atmel SAM3/4 Drivers:
+
+ - SAM3/4: Fixed configurations for TWI master. Obviously an
+ incomplete port from SAMA5.
+
+* Microchip/Atmel SAMv7 Drivers:
+
+ - SAMV7: Watchdog: Fix Forbidden Window Value. According the Datasheet
+ the WDD Value is the lower bound of a so called Forbidden Window and
+ to disable this we have to set the WDD Value greater than or equal to
+ the WDV Value. This seems to be a bug in the datasheet. It looks
+ like we have to set it to a greater value than the WDV to really
+ disable this Thing. When triggering the Watchdog faster than the
+ (very slow) clock source of the Watchdog fires, this Forbidden Window
+ Feature resets the System if WDD equals to WDV. This Changeset
+ disables the Forbidden Window by setting the WDD Value to the Maximum
+ (0xfff) Value possible. From Frank Benkert.
+ - SAMV7 EMAC: Add conditional logic to account the fact that the
+ SAMV71 has 6 rather than 3 queues after version 1. From Ian McAfee.
+
+* NXP/Freescale Kinetis Drivers:
+
+ - Kinetis: Fixed GPIO _PIN_OUTPUT_LOWDRIVE swapped with
+ _PIN_OUTPUT_OPENDRAIN. From David Sidrane.
+ - Ensure interrupts are back on BEFORE running code dependant on
+ clock_systimer. From David Sidrane.
+ - Kinetis k66, k64, k60, k40, k20: Pin mux configure all I2C signals as
+ Open Drain. The output structure of the GPIO for I2C needs to be
+ open drain. When left at the default, one can observe on a scope the
+ slave contending with the push-pull during the ACK. From David
+ Sidrane.
+ - Kinetis K66: Fixed TMP2_CH1 definition. From David Sidrane.
+ - Kinetis K66: Define ALT1 to match ref manual. From David Sidrane.
+ - Kinetis K66: GPIO and pin mux cleanup. From David Sidrane.
+ - Kinetis ADC: Various corrections and updates. From David Sidrane.
+
+* NXP/Freescale LPC43xx:
+
+ - Add missing PINCONF_INBUFFER in several places of
+ lpc4310203050_pinconfig.h. From Andreas Bihlmaier.
+ - Fix logic in preprocessor checks and correct arguments to
+ lpc43_pin_config initialization. From Andreas Bihlmaier.
+
+* NXP/Freescale LPC43xx Drivers:
+
+ - Fix logic error in lpc43_adc. From Andreas Bihlmaier.
+ - Use correct macro for irqid (fortunately both point to
+ LPC43_IRQ_EXTINT+18). From Andreas Bihlmaier.
+ - Actually write modified value to register. From Andreas Bihlmaier.
+ - Increase number of supported PWM channels from 4 to 6. From Andreas
+ Bihlmaier.
+
+* Silicon Labs EFM32 Drivers:
+
+ - EFM32 I2C: Fix timeout calculation. From Masayuki Ishikawa.
+
+* STMicro STM32:
+
+ - As discovered by dcabecinhas. This fix assume the 8 byte alignment
+ options for size stack size or this will overwrite the first word
+ after TOS. See
+ https://github.com/PX4/Firmware/issues/6613#issuecomment-285869778.
+ From David Sidrane.
+ - STM32 F7: In stm32_allocateheap.c There are 5 not 4 configurations.
+ From David Sidrane.
+
+* STMicro STM32 Drivers:
+
+ - STM32, STM32 F7, STM32 L4: OTG host drivers: Do not do data toggle
+ if interrupt transfer is NAKed. Sugested by webbbn@gmail.com.
+ - Save elapsed time before handling I2C in stm32_i2c_sem_waitstop().
+ This change follows the same logic as in previous fix to
+ stm32_i2c_sem_waitdone(). It is possible that a context switch
+ occurs after I2C registers are read but before elapsed time is saved
+ in stm32_i2c_sem_waitstop(). It is then possible that the registers
+ were read only once with "elapsed time" equal 0. When scheduler
+ resumes this thread it is quite possible that now "elapsed time" will
+ be well above timeout threshold. In that case the function returns
+ and reports a timeout, even though the registers were not read
+ "recently". Fix this by inverting the order of operations in the loop
+ - save elapsed time before reading registers. This way a context
+ switch anywhere in the loop will not cause an erroneous "timeout"
+ error. From Freddie Chopin.
+ - STM32, STM32 F7, and STM32 L4: Clone Freddie Chopin's I2C change to
+ similar STM32 I2C drivers. From David Sidrane.
+ - STM32: OTG host implementations of stm32_in_transfer() must obey the
+ polling interval for the case of isochronous and interrupt endpoints.
+ - STM32: Fix erase sector number for microcontrolers with more than 11
+ sectors. Erase a sector from the second bank cause the bit 4 of SNB
+ being set but never unsed, so trying to erase a sector from the first
+ bank was acually eraseing a sector from the second bank. From José
+ Roberto de Souza.
+ - STM32: Make up_progmem thread safe. Writing to a flash sector while
+ starting the erase of other sector have a undefined behavior so lets
+ add a semaphore and syncronize access to Flash registers. But for
+ the semaphore to work it needs to be initialized so each board needs
+ call stm32_flash_initialize() on initialization, so to avoid runtime
+ problems it is only using semaphore and making it thread safe if
+ initialized, after all boards starts to call stm32_flash_initialize()
+ we can remove the boolean and the check. From José Roberto de Souza.
+ - STM32: Add workaround for flash data cache corruption on
+ read-while-write. This is a known hardware issue on some STM32 see
+ the errata of your model and if you make use of both memory banks you
+ should enable it. From José Roberto de Souza.
+ - STM32 Flash fixes. From José Roberto de Souza.
+ - STM32 Flash: Missing unlock on F1 HSI off path. From David Sidrane.
+ - STM32 F4 I2C: I needed to use DS3231, I remember that in past it
+ worked ok, but now for stm32f4xx is used another driver (chip
+ specific, stm32f40xxx_i2c.c) and DS3231 driver doesn't work. After
+ investigating a problem I found that I2C driver (isr routine) has a
+ few places there it sends stop bit even if not all messages are
+ managed. So, e.g., removing stm32_i2c_sendstop (#1744) and adding
+ stm32_i2c_sendstart after data reading helps to make DS3231 working.
+ From Alexander Oryshchenko; verified by David Sidrane.
+ - STM32 F7 Serial: Serial fix for dropped data: (1) Revert the
+ inherited dma bug from the stm32. see
+ https://bitbucket.org/nuttx/nuttx/commits/df9ae3c13fc2fff2c21ebdb098c520b11f43280d
+ for details. And (2) Most all CR1-CR3 settings can not be configured
+ while UE is true. Threfore we make all operation atomic and disable
+ UE and restore it's originalstate on exit. From David Sidrane.
+ - STM32 L1: Fix IWDG and WWDG debug mode stop for STM32L15XX. From
+ Juha Niskanen.
+ - STM32 F7: Fix UART7 and UART8 IFLOWCONTROL options. From Jussi
+ Kivilinna.
+ - STM32 F7: Add warning for RXDMA + IFLOWCONTROL combination.
+ Combination of RXDMA + IFLOWCONTROL does not work as one might
+ expect. Since RXDMA uses circular DMA-buffer, DMA will always keep
+ reading new data from USART peripheral even if DMA buffer underruns.
+ Thus this combination only does following: RTS is asserted on USART
+ setup and deasserted on shutdown and does not perform actual RTS
+ flow-control. Data loss can be demonstrated by doing long up_mdelay
+ inside irq critical section and feeding data to RXDMA+IFLOWCONTROL
+ UART. From Jussi Kivilinna.
+ - STM32 F7 Serial: Do not stop processing input in SW flow-control
+ mode. From Jussi Kivilinna.
+ - STM32 L4 DMA: Correct bad channel definition. From Sebastien Lorquet.
+ - STM32 F7: Warn if no DMA2 configured when using ADC with DMA. Also
+ correct ADC channel numbers that DMA callback passes to upper half
+ driver. From Juha Niskanen.
+ - STM32 F7 ADC: Do not override ADCPRE_DIV when measuring
+ internal voltage. From Juha Niskanen.
+ - STM32 L4: Don't think these chips have DPFPU, DTCM or ITCM. From
+ Juha Niskanen.
+ - STM32 F7 Flash: macro naming errors, there is no FLASH_CONFIG_F for
+ F7. From Juha Niskanen.
+ - STM32 L4: stm32l4x6xx_pinmap: Update I2C4 and DCMI pins. From Juha
+ Niskanen.
+ - STM32 L4: stm32l4_i2c: change wrong macro to CONFIG_I2C_POLLED. From
+ Juha Niskanen.
+ - Fix STM32F7 I2C interrupt handler. From Jussi Kivilinna.
+ - STM32: Serial Allow configuring Rx DMA buffer size. From David
+ Sidrane.
+ - STM32 CAN: I had the problem that the transmit FIFO size (= actual
+ elements in FIFO) was slowly increasing over time, and was full after
+ a few hours. The reason was that the code hit the line
+ "canerr("ERROR: No available mailbox\n");" in stm32_cansend, so
+ can_xmit thinks it has sent the packet to the hardware, but actually
+ has not. Therefore the transmit interrupt never happens which would
+ call can_txdone, and so the size of the FIFO size does not decrease.
+ The reason why the code actually hit the mentioned line above, is
+ because stm32can_txready uses a different (incomplete) condition than
+ stm32can_send to determine if the mailbox can be used for sending,
+ and thus can_xmit forwards the packet to stm32can_send.
+ stm32can_txready considered mailboxes OK for sending if the mailbox
+ was empty, but did not consider that mailboxes may not yet be used if
+ the request completed bit is set - stm32can_txinterrupt has to
+ process these mailboxes first. Note that I have also modified
+ stm32can_txinterrupt - I removed the if condition, because the CAN
+ controller retries to send the packet until it succeeds. Also if the
+ condition would not evaluate to true, can_txdone would not be called
+ and the FIFO size would not decrease also. From Lederhilger Martin.
+ - STM32 Serial: Fix freezing serial port. Serial interrupt
+ enable/disable functions do not disable interrupts and can freeze
+ device when serial interrupt is received while execution is at those
+ functions. Trivially triggered with two or more threads write to
+ regular syslog stream and to emergency stream. In this case, freeze
+ happens because of mismatch of priv->ie (TXEIE == 0) and actually
+ enabled interrupts in USART registers (TXEIE == 1), which leads to
+ unhandled TXE interrupt and causes interrupt storm for USART. From
+ Jussi Kivilinna.
+ - STM32 I2C: Make private symbols static. From Juha Niskanen.
+ - STM32 L4 GPIO: Put back EXTI line source selection. From Juha
+ Niskanen.
+ - STM32 L4 RTC: Store RTC MAGIC to backup reg, not to address zero.
+ From Juha Niskanen.
+
+* STMicro STM32 Boards:
+
+ - Disable serial console on stm32f103-minimum usbnsh example project
+ config. Devices enumerate after this change. From Bob Ryan.
+ - Nucleo-144: Default for choice in Kconfig was not one of the
+ possible choices.
+ - Nucleo-F4X1RE User LEDS: Issue #51 reports compilation problems with
+ stm32_userled.c. Reported by Gappi92.
+
+* TI Tiva Drivers:
+
+ - Tiva I2C: Correct an error in conditional compilation.
+ - Tiva SSI: Resolves issue 52 'Copy-Paste error in
+ tiva_ssibus_initialize()' submitted by Aleksandr Kazantsev.
+
+* C Library/Header Files:
+
+ - C Library vsnprintf(): Fix precision for string formatting. Fixes
+ use of format precision to truncate input string. From Jussi
+ Kivilinna.
+ - C Library vsnprintf(): If size is zero, then vsnprintf() should
+ return the size of the required buffer without writing anything.
+ From Jussi Kivilinna.
+ - C Library netdb: in dns_query_callback, ret != -EADDRNOTAVAIL
+ condition consumes error returns including EAGAIN in this case,
+ dns query retransmission doesn't work. From Ritajina.
+ - C Library netdb: Fix time info in lib_dnscache.c. From Masayuki
+ Ishikawa.
+ - C Library netdb: Fix bugs in lib_gethostbynamer.c. This fix sets
+ h_name in struct hostent returned by gethostbyname(). From Masayuki
+ Ishikawa.
+ - C Library Defect Workaround: replace '%6.6u' format with an
+ equivalent '%06u'. From Tomasz Wozniak.
+
+* Tools
+
+ - Fix mksyscall host binary name. From Alan Carvalho de Assis.
+
+* Applications (apps/)
+
+ - Fix some calls to task_create(): argv[0] is the first parameter, not
+ the name of the task.
+ - Bitbucket Issue 5: I found an unexpected behavior in apps/
+ configuration generation. Adding external symbolic link in apps/
+ directory and using Make.defs for Kconfig generation, Kconfig file
+ has a wrong path in the source argument. It contains original dir
+ path outside of the source tree instead path to sub-directory in
+ apps/. The problem is connected with make/system symbolic link path
+ resolution. Corrected by a patch submitted by Artur Madrzak with
+ Issue 5.
+ - apps/: Make more globals static to avoid name clashes. From Juha
+ Niskanen.
+
+* NSH: apps/nshlib:
+
+ - NSH library: In nsh_argexand(), if CONFIG_NSH_ARGCAT is defined but
+ CONFIG_NSH_CMDPARMS defined and/or CONFIG_DISABLE_ENVIRON not
+ defined, then there is a situation that causes an infinite loop in
+ the parser. Noted by Freddie Chopin.
+ - NSH library: Fix building when CONFIG_NET_USRSOCK enabled with other
+ link-layers. From Jussi Kivilinna.
+ - NSH library: Fix some warnings about integer/pointer casts of
+ different sizes (probably only effects 64-bit simulation).
+ - NSH library: Fix open flags in nsh_codeccmd.c. From Masayuki
+ Ishikawa.
+ - I need to look at the registers that are at or around 0xe000ef90.
+ Using mw and xd, I see that nsh does not support pointers greater
+ than 0x7fffffff. A quick look at the source shows that the pointers
+ for those two commands are set with calls to strtol() rather than
+ strtoul(). Changing the two pointer-setting instances to strtoul()
+ fixes the problem, at least for my architecture/config. From Ian
+ McAfee.
+ - NSH library: Fix a resource leak in cmd_hexdump(). From Nobutaka
+ Toyoshima.
+
+* Examples/Tests: apps/examples:
+
+ - apps/examples/hidkbd: Remove call to arch_usbhost_initialize().
+ That is violation of the OS interfacing rules and will no longer be
+ supported. USB host should be initialized as part of the normal
+ board bring-up logic as with any other devices and should not involve
+ illegal calls from applications into the OS.
+ - apps/examples/usbterm: Removed because it is not very useful and
+ because it can be configured to use an illegal call into the OS.
+ - examples/mm: Fix Makefile. Built-in was not being registered.
+ - examples/hidkbd: Add some missing configuration settings.
+ - examples/random: Avoid stack overflows. From Juha Niskanen.
+ - examples/nettest: Fix an error in pre-processor expression.
+ - examples/mtdpart: Prevent part array overflow. mtdpart examples
+ create partions and allocate from 1 index not a 0 index to part[]
+ array. This cause buffer overflow for part array. This change fixes
+ this problem. From EunBong Song.
+ - examples/can: Fix can example app to print data when
+ CONFIG_EXAMPLE_CAN_READ is defined. From Alan Carvalho de Assis.
+
+* Network Utilies: apps/netuils:
+
+ - Not a clean fix, but at least makes DHCP working with
+ CONFIG_NETDEV_MULTINIC. From Andreas Bihlmaier.
+ - Ensure netlib will not be broken when setip will not bring the
+ network up anymore. From Sebastien Lorquet.
+
+* CAN Utilies: apps/canutils:
+
+ - Fix libcanard github download link to get it compiling correctly.
+ From Alan Carvalho de Assis.
+ - Fix to use the new canardInit() function. From Alan Carvalho de
+ Assis.
+
+* System Unitilities (apps/system)
+
+ - system/dhcpc: Add missing argument of fprintf.
+
+* Tools (apps/tools):
+
+ - The dedicated windows tool at tools/mkkconfig.bat uses $APPSDIR,
+ which is not a windows shell variable, and is left uninitialized, but
+ in fact should be the current directory. From Sebastien Lorquet.
+</code></pre></div></div>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2020 </p>-->
+ <footer class="site-footer">
+ <div class="wrapper">
+ <div class="footer-col-wrapper">
+
+ Apache NuttX is an effort undergoing <a href="https://incubator.apache.org/index.html">Incubation</a>
+ at The Apache Software Foundation (ASF), sponsored by the 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.
+ <hr>
+
+ <div style="text-align:center;">
+
+ <div style="margin-top: 20px; margin-bottom: 20px;">
+ <a href="http://incubator.apache.org"><img src="/assets/themes/apache/img/egg-logo.png"
+ alt="Apache Incubator"/></a>
+ </div>
+
+ <div>
+ Copyright © 2019 <a href="http://www.apache.org">The Apache Software Foundation</a>.
+ Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
+ 2.0</a>.
+ <br>
+
+ Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+ Software Foundation.
+
+ </div>
+ </div>
+ </div>
+ </div>
+</footer>
+
+ </footer>
+ </div>
+
+
+ <script src="/assets/themes/apache/jquery/jquery-2.1.1.min.js"></script>
+
+ <script src="/assets/themes/apache/bootstrap/js/bootstrap.min.js"></script>
+
+
+ </body>
+</html>
+
diff --git a/content/releases/7.22/index.html b/content/releases/7.22/index.html
new file mode 100644
index 0000000..823100d
--- /dev/null
+++ b/content/releases/7.22/index.html
@@ -0,0 +1,1213 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>7.22</title>
+
+ <meta name="author" content="">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le styles -->
+ <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+ -->
+
+ </head>
+
+ <body>
+
+ <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <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>
+ <a class="navbar-brand" href="/">
+ <img src="/assets/themes/apache/img/logo.png" width="30">
+ Apache NuttX
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav navbar-right">
+ <li id="community">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
+ <ul class="dropdown-menu dropdown-left">
+ <li><a href="/community">Get Involved</a></li>
+ <li><a href="/community-members">Who we are</a></li>
+ </ul>
+ </li>
+ <li><a href="https://github.com/apache/incubator-nuttx">GitHub</a></li>
+ <li id="apache">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ <li><a href="http://www.apache.org/events/current-event">Events</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+
+ <div class="container">
+
+
+<!--<div class="hero-unit 7.22">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <!--
+
+-->
+
+<h2 id="nuttx-722-release-notes">NuttX-7.22 Release Notes</h2>
+
+<p>The 122nd release of NuttX, Version 7.22, was made on September 6, 2017,
+and is available for download from the Bitbucket.org website. Note
+that release consists of two tarballs: nuttx-7.22.tar.gz and
+apps-7.22.tar.gz. These are available from:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://bitbucket.org/nuttx/nuttx/downloads
+https://bitbucket.org/nuttx/apps/downloads
+</code></pre></div></div>
+
+<p>Both may be needed (see the top-level nuttx/README.txt file for build
+information).</p>
+
+<p>Additional new features and extended functionality:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - pthreads: Move functions from sched/pthreads to libc/pthreads. These
+ functions just coordinate other OS interface calls but are not a
+ fundamental OS interfaces and, hence, do not belong within the OS:
+ pthread_yield(), pthread_once(), pthread_cond_init(),
+ pthread_cond_destroy(), pthread_barrier_init(),
+ pthread_barrier_destroy(), and pthread_barrier_wait().
+ - Add power-related debug output.
+
+* File Systems/Block and MTD Drivers
+
+ - RAMTRON: Add support for splitting block writes in chunks. Some
+ Re-RAMs like MB85AS4MT have a write buffer size limitation. From
+ Boris Astardzhiev.
+ - MTD: Add driver for Macronix QuadSPI flash memory. From Simon Piriou.
+
+* Graphics/Display Drivers:
+
+ - SSD1306 LCD Driver: (1) Separate lcd_dev_s setup to separate object.
+ g_oleddev takes 1 KiB because framebuffer and was allocated to .data
+ section because of lcd_dev_s function pointer setup. Move lcd_dev_s
+ setup out, so that g_oleddev goes to .bss and avoid wasting ROM. (2)
+ Fix memory corruption caused by ssd1306_getrun(). ssd1306_getrun was
+ writing one extra byte (with value 0) past target buffer when pixlen
+ is multiple of 8. When pixlen was not multiple of 8, last byte of
+ buffer was fully cleared, instead of modifying only the (pixlen % 8)
+ bits of last byte. (3) Add support for board power control.
+ ThingseeOne has regulator for controlling display power on/off. Patch
+ adds support for board based power control to SSD1306 driver. (4) Add
+ DD-12864WO-4A/SSD1309 support to SSD1306 driver. From Jussi Kivilinna.
+
+* Networking/Network Drivers:
+
+ - Sockets: Support listening sockets in the getsockname() function.
+ From Roland Takacs.
+ - IP Forwading: At the IP level, network may be configured to forward
+ IP packets that are not destined for the target through a different
+ network device, decrementing the packet TTL.
+ - IP forwarding: Add optional support to forward broadcast and
+ multicast packets. Add missing ICMP support.
+ - ICMPv6: Add 6LoWPAN and IP forwarding support.
+ - ICMPv6: Support source link-layer address option in RA. From
+ Masayuki Ishikawa.
+ - TUN Driver: Add definitions that will permit TUN-only networking.
+ - Socket I/F: Created a socket interface used to provide socket support.
+ Each address family has an interface that describes how to perform
+ socket operations on that address family. Currently only a couple of
+ methods are defined in the socket interface call table
+ - Remove CONFIG_NET_MULTILINK. This increases code size by a little,
+ but greatly reduces the complexity of the network code.
+ - Network procfs: Add support for routing tables at proc/net/route.
+ - Network procfs: Add support for network procfs statistics for the
+ PF_IEEE802154 address family.
+ - Network Driver Backlog: Remove driver based backlog support. This
+ affects the entire network, but is used by only one driver. The only
+ supported RX backlog is now via common read-ahead buffering.
+
+* Wireless Networking/Wireless Drivers:
+
+ - IEEE 802.15.4 MAC / MRF24J60 Driver: Extensive updates for
+ association/beacon-enabled networks. From Anthony Merlino.
+ - IEEE 802.15.4 MAC / MRF24J60 Driver: Hook in setdevmode from newly
+ added radio attribute setting. From Anthony Merlino.
+ - IEEE 802.15.4 MAC: Supports get request for coordinator address. From
+ Anthony Merlino.
+ - IEEE 802.15.4 MAC: Notify radio layer of changes in devmode. From
+ Anthony Merlino.
+ - IEEE 802.15.4: Add special attribute that can be used to perform a
+ regdump of the radio. From Anthony Merlino.
+ - IEEE 802.15.4 loopback driver: Better simulation addressing: short
+ and extended addresses, panid, and IP address conversion.
+ - IEEE 802.15.4 Network Driver: Add logic to setup the network mask,
+ update the MAC-based IPv6 addressing when the network is brought up.
+ The idea is that addressing changes are supposed to occur only while
+ the network is down but won't take effect until the network is up
+ again.
+ - PktRadio: Add an infrastructure to support networking on generic
+ (non-IEEE 802.15.4) packet radios.
+ - PktRadio Loopback Driver: Add a PktRadio loopback network driver to
+ testing testing with 6LoWPAN and PktRadios on the simulator.
+ - Spirit Network Driver: The Spirit1 radio (SPSGRF-915) is the first
+ generic PktRadio Network driver. Based on STMicros STack packets
+ with 8-bit addressing. We need to use the STack packets in order to
+ provide the source address and automatic ACKing.
+ - Network procfs: Fix so that PktRadio address are shown correctly.
+ - Networking: Add support for some packet radio IOCTL commands.
+ - 6LoWPAN: Added handling for TCP and ICMPv6 packets.
+ - 6LoWPAN: Add configurable support for 6LoWPAN star topology. With
+ this change, the endpoints which are the 'points' of the star will
+ forward all traffic to the coordinator. The coordinator is assumed to
+ be the 'hub' of the star. This function also used IPv6 forwarding.
+ - 6LoWPAN: The original, Contiki-based design used only a single buffer
+ for reassemblying larger packets. This could be a problem issue for
+ hub configurations which really need the capability concurrently
+ reassemble multiple incoming streams concurrently. These was also a
+ design issue in that the reassembly buffer could be corrupted by
+ outgoing packets. The design was extended to support multiple
+ reassembly buffers, each associated with the reassembly tag and source
+ address. This assures that there can be be no corruption of the
+ reassembly once it has started.
+ - 6LoWPAN PktRadio: Now radio agnostic. All IEEE 802.15.4 dependencies
+ have been removed or isolated so that 6LoWPAN can be used with any
+ kind of packet radio. This involved things like: (1) generalizing
+ the representation of radio MAC meta-data, (2) changes to handle
+ variable-length radio addresses, (3) removal of all explicit IEEE
+ 802.15.4 types, references, and interfaces, (4) a new radio driver
+ interface to return 'capabilities' of the drvier.
+ - ICMPv6: Update so that ICMPv6 can be used with 6LoWPAN.
+ - IPv6 Neighbor: Update table format to support IEEE 802.15.4 MAC
+ addresses.
+ - PF_IEEE802154 Address Family: Add support for the PF_IEEE802154
+ address family socket type. This socket is similar to the PF_PACKET,
+ "raw" packet address family except that: (1) it supports only
+ SOCK_DRAM, not SOCK_RAW, and (2) works only with IEEE 802.15.4
+ MAC-based radios. This address family permits simple access to IEEE
+ 802.15.4 IOCTLs and frame-level network transfers.
+
+* Other Common Device Drivers:
+
+ - Dynamically configurable USB composite devices: We developed a huge
+ Changeset over a year ago to make USB Composite configuration
+ dynamical and be able to instantiate the CDC/ACM multiple times inside
+ this device. We use this feature to switch between one in typical USB MSC + CDC/ACM configuration and up to three CDCACMs dynamically.
+ I've changed the interface for some USB-Functions to receive also the
+ dynamic configuration. From Frank Benkert.
+ - Franks' change remained on a branch until all issues were resolved.
+ the current version in Master is complete and ready for use.
+ - power: battery_charger: add ioctl for charging input current. From
+ Juha Niskanen.
+ - SMPS driver: Add generic upper-half driver for SMPS. From Mateusz
+ Szafoni.
+ - LED Driver: Add support for inverted LEDS. From Jeff.
+ - LED Driver: Add lightness correction for RGB LED driver. From Jeff.
+ - LTC4151 Driver: Add driver for LTC4151 current and voltage monitor.
+ From Giorgio GroÃ.
+ - Serial TERMIOS: tcdrain() implementation based on a new term ioctl.
+ From Sebastien Lorquet.
+ - Serial TERMIOS: Add support for TCFLUSH. From Sebastien Lorquet.
+ - syslog: Add option to use the CLOCK_MONOTONIC for time stamping. From
+ Jussi Kivilinna.
+ - HC-SR04 Driver: Add support to HC-SR04 distance sensor. From Alan
+ Carvalho de Assis.
+ - COMP Driver: Add poll support. From Pekka Ervasti.
+ - BQ2429X Driver: add driver for TI BQ2429X battery charger. From Juha
+ Niskanen.
+ - ADC Driver: Add poll support. From Juha Niskanen.
+ - BCH Driver: Add poll support. From Jussi Kivilinna.
+ - RTC Driver: Extend the RTC framework with an alarm read ioctl
+ (RTC_RD_ALARM). Through it consumer could get configuration settings
+ about previously scheduled hardware alarms (active status, hours,
+ minutes, seconds). From Boris Astardzhiev.
+
+* Simulation
+
+ - sim/ipforward: Add an IP forwarding configuration using TUN devices
+ and apps/examples/tun.
+ - Console: Add non blocking read to devconsole driver. From Simon
+ Piriou.
+ - Networking: Poll for TX frames to speed up driver. From Simon Piriou.
+ - pf_ieee802154: Add configuration for testing PF_IEEE802154 address
+ family sockets.
+ - ARM Simulator: Adds necessary functionality to build Simulator under
+ ARM Linux. Tested only on Raspberry3. Currently setjmp/longjmp do not
+ save/restore floating point registers. From Nickolay Semyonov.
+
+* MicroChip/Atmel SAML21 Drivers:
+
+ - SAML21 I2C driver. Developed for and contributed with permissin from
+ Filament company. From Alan Carvalho de Assis.
+ - SAMD/L21 USB Driver: Add a USB driver. Developed for Filament Inc.
+ by Offcode, LTD. From Janne Rosberg.
+
+* MicroChip/Atmel SAMv7 Boards:
+
+ - SAMV71-XULT: Add support for the MRF24J40 radio and create a
+ mrf24j40-starhub configuration.
+ - SAME70-Xplained: Add MRF24J40 support.
+
+* NXP Freescale Kinetis Drivers:
+
+ - Kinetis USB Improvements: usbdev clean up ensuring proper use of HW.
+ Rework suspend and resume logic so they perform properly. Made attach
+ and detach functions optional. As they do not make sense for a bus
+ powered device. From David Sidrane.
+ - Kinetis SPI driver: From David Sidrane.
+ - Kinetis: I2C driver added I2C3, reference counting and reset.
+ Refactored the driver to support reference counting and reset added
+ I2C3. From David Sidrane.
+ - Kinetis RTC: Implementation of the alarm read function.
+
+* NXP Freescale Kinetis Boards:
+
+ - configs/teensy-3.x USB: Define USBOTG-FS Read from FLASH access in
+ board config. Allow the board config to define the USBOTG-FS to have
+ Read access to FLASH. From David Sidrane.
+ - configs/teensy-3.x: Removed call to khci_usbattach. The call is not
+ need by the driver if CONFIG_USBDEV_BUSPOWERED=y. On a USB powered device if we are running we are attached. From David Sidrane.
+ - freedom-k66f: Use SPI driver. Initalize SPI1 on connector J6. No
+ real use, as of yet. From David Sidrane.
+
+* NXP Freescale LPC43xx:
+
+ - LPC43xx: Modify up_allocate_(k)heap() to support PROTECTED mode. From
+ Alan Carvalho de Assis.
+
+* NXP Freescale LPC4xx Boards:
+
+ - configs/Bambino: Add protected mode configuration to Bambino board.
+ From Alan Carvalho de Assis.
+
+* On Semiconductor LC823450
+
+ - LC823450: Initial support for ON Semiconductor LC823450. From Masayuki
+ Ishikawa.
+ - LC823450: eMMC/SD and USB support for LC823450. From Masayuki Ishikawa.
+
+* On Semiconductor LC823450 Boards
+
+ - LC823450-XGEVK: LC823450-XGEVK board support. From Masayuki
+ Ishikawa.
+ - LC823450-XGEVK: Add eMMC/SD and USB support. From Masayuki Ishikawa.
+
+ * STMicro STM32:
+
+ - STM32 L4: Add support for the STM32L475 family.
+ - STM32 L4 RCC: Enable ADC clock source. From Juha Niskanen.
+ - STM32: Allow clock frequencies > 168 Mhz on stm32f427/429. We need
+ to enable the power overdrive for this case. This change allows the
+ required bits to be set in proper sequence. It also modifies the
+ local register access operations to allow more than 16-bit registers.
+ From Sebastien Lorquet .
+ - STM32 F4: Add support for STM32F433RC. From Alan Carvalho de Assis.
+ - STM32 F7: Add new configuration option for enabling flash ART
+ Accelerator and flash prefetcher. From Jussi Kivilinna.
+
+* STMicro STM32 Drivers:
+
+ - STM32 TIM: Add the set counter function for stm32 timers. From
+ Sergey Ustinov.
+ - STM32 HRTIM: Update HRTIM definitions. Add HRTIM driver. From
+ Mateusz Szafoni.
+ - STM32 HRTIM: Add HRTIM character driver. From Mateusz Szafoni.
+ - STM32 HRTIM: Fix DAC triggers configuration, Add missing master timer
+ logic, enable DAC triggering. From Mateusz Szafoni.
+ - STM32 HRTIM: Add DMA configuration. From Mateusz Szafoni.
+ - STM32 HRTIM: Add burst mode configuration. From Mateusz Szafoni.
+ - STM32 RTC: Port Boris Astardzhiev's RTC change for STM32L4 to STM32.
+ - STM32 DAC: Add support for HRTIM triggering. Separate dma buffer
+ configuration for channels. From Mateusz Szafoni.
+ - STM32 DAC: Conditional logic for timer triggering, fix TSEL
+ configuration when HRTIM, DMA request remapping, Add DMA buffers
+ initialization logic. From Mateusz Szafoni.
+ - STM32 DAC: Support external triggering for DMA transfer. From Mateusz
+ Szafoni.
+ - STM32 L1 TIM: Add base address for TIM11. From Juha Niskanen.
+ - STM32 F4 FLASH: Enable/disable the flash write protection on any
+ sector. I have verified it to work on the STM32 F427. From Sebastien
+ Lorquet.
+ - STM32 F4 Clocking: To use an external oscillator module (not just a
+ crystal) with the STM32F4, one needs to enable the HSEBYP bit in the
+ RCC_CR register. This change allows an integrator to define
+ STM32_RCC_CR_HSEBYP in their board.h file if they want this
+ configuration. From Jeff.
+ - STM32 F4 USB: I'm working on bringing up USB full-speed support on
+ STM32F405. My board does not include a USB power switch, VBus
+ sensing, over current detection, or ID pin. This commit add a
+ config STM32_OTGFS_VBUS_ CONTROL which lets us selectively disable
+ VBus sensing and control. I also sneaked in a change to disable the
+ configgpio call for the ID pin, which is only used in OTG mode which
+ isn't supported yet. The only pins that need to be initialized should
+ be OTGFS_DP and OTGFS_DM. From Jeff.
+ - STM32 FLASH: Add CONFIG_STM32_STM32F469 support. From David Sidrane.
+ - STM32 COMP: Add default INM configuration and some missing COMP
+ 1,3,5,7 code. From Mateusz Szafoni.
+ - STM32 F33: Add missing SYSCFG CFGR3 definitions. From Mateusz Szafoni.
+ - STM32 L4 Serial: Allow configuring Rx DMA buffer size. From Juha
+ Niskanen.
+ - STM32 L4 COMP: Input minus pin extended selection. From Juha Niskanen.
+ - STM32 L4 COMP: Bind to upper half comp driver. From Pekka Ervasti.
+ - STM32 L4 DAC: Port from STM32. Add ADC register definitions. From
+ Juha Niskanen.
+ - STM32 L4 DAC: Add option for routing DAC output to ADC. Actually
+ write something to the DAC DMA buffer. From Juha Niskanen.
+ - STM32 L4 DAC: Separate DMA buffer configuration for channels. From
+ Juha Niskanen.
+ - STM32 L4 ADC: Implement peripheral. From Juha Niskanen.
+ - STM32 F7: Definitions for I2C4, SDMMC2. Adapted RAM start / size to
+ internal SRAM. From Titus von Boxberg.
+ - STM32 F7 I2C4: I2C4_SDA can also be on GPIO PB7. From Titus von
+ Boxberg.
+ - STM32 F7 LTDC: Option for DSI output, inconsistency: the stm32f746
+ does not feature a DSI interface. compilable with LTDC_INTERFACE and
+ LTDC_USE_DSI. From Titus von Boxberg.
+ - STM32 F7 Clocking: Added functions for DSI clock source selection.
+ From Titus von Boxberg.
+ - STM32 F7 Clocking: Enable APB2 DSI clock. From Titus von Boxberg.
+ - STM32 F7 LTDC: No board specific dithering values used; corrected
+ dithering init. Corrected LIPOS/LIPCR calculation. Change only
+ polarity bits in LTDC_GCR. From Titus von Boxberg.
+ - STM32 F7 Reset: Added function for reset. From Titus von Boxberg.
+ - STM32 F7 DMA: DMA add dcache alignment check in stm32_dmacapable. In
+ the case dcache write-buffed mode is used (not write-through) buffer
+ alignment is required for DMA transfers because a)
+ arch_invalidate_dcache could lose buffered writes data and b)
+ arch_flush_dcache could corrupt adjacent memory if the maddr and the
+ mend+1, the next next address are not on ARMV7M_DCACHE_LINESIZE
+ boundaries. From David Sidrane.
+ - STM32 F7 SDMMC: SDMMC remove widebus limitation on DMA. There is no
+ documantation for the STM32F7 that limits DMA on 1 bit vrs 4 bit
+ mode. From David Sidrane.
+ - STM32 F7 SDMMC: SDMMC add dcache alignment check in
+ dma{recv|send}setup. In the case where CONFIG_SDIO_PREFLIGHT is not
+ used.
+ - STM32 F7 RTC: Port Boris Astardzhiev's RTC change for STM32L4 to
+ STM32F7.
+
+* STMicro STM32 Boards:
+
+ - STM32F103-Minimum: Add GPIO device driver example. From Alan
+ Carvalho de Assis.
+ - STM32F103-Minimum: Add small hello example for STM32F103-Minimum
+ board. From Alan Carvalho de Assis.
+ - STM32F103-Minimum: Add support for SmartFS on Winbond W25 SPI NOR
+ Flash. From Alan Carvalho de Assis.
+ - STM32F103-Minimum: (1) Enable CONFIG_MTD_PARTITION in Kconfig if flash
+ partition is enabled and (2) Update the README.txt file with info
+ needed to get SmartFS working. From Alan Carvalho de Assis.
+ - Nucleo-F334R8: Add HRTIM initialization. From Mateusz Szafoni.
+ - Nucleo-F334R8: UART2 is default serial port (STLINK Virtual Port).
+ From Mateusz Szafoni.
+ - Clicker2-STM32: Add a configuration that was used with the MRF24J60
+ for 6loWPAN testing.
+ - Clicker2-STM32: Allow both IEEE 802.15.4 MAC character and network
+ devices to be registered.
+ - Clicker2-STM32: Add configurations to support the endpoint and hub
+ roles in a star topology.
+ - Clicker2-STM32: Add support for per-function-call stack checking.
+ From Anthony Merlino.
+ - Clicker2-STM32: Configure EDBG SPI CS just to make that it is
+ disabled.
+ - STM32F4 Discovery: Add logic to register the button driver and the
+ user led driver if so configured. From Jan Pobrislo.
+ - STM32F4-Discovery: Add a configuration for testing libc++. From Alan
+ Carvalho de Assis.
+ - B-L475E-IOT01A: Add support for the STMicro B-L475E-IOT01A board.
+ From Simon Piriou.
+ - B-L475E-IOT01A: Add support for the SPSRGF/Spirit1 radio module. Add
+ a configuration for testing sprit radio.
+ - B-L475E-IOT01A: Add configurations to support a star topology.
+ - B-L475E-IOT01A: add basic support for external Macronix QuadSPI flash
+ memory. From Simon Piriou.
+ - B-L475E-IOT01A: Enable UDP broadcast test in the spirit-starhub
+ configuration.
+ - STM32F334-DISCO: Add STM32F334-DISCO basic support. From Mateusz
+ Szafoni.
+ - STM32F746-Disco: Add ADC3 support. From Ivan Ucherdzhiev.
+ - STM32L476-Disco: Add a knsh configuration that may be used to test
+ the PROTECTED build mode.
+ - STM32F769I-DISCO: Initial port to STM32F769I-DISCO. From Titus von
+ Boxberg.
+
+* C Library/Header Files:
+
+ - Move TUN ioctl command to include/nuttx/net/ioctl.h so that it will
+ always be unique.
+ - Math Library: Port gamma() and lgamma() from FreeBSD to NuttX. From
+ Alan Carvalho de Assis.
+ - C++: Compilation with recent C++ compiler needs an overloaded delete
+ operator that includes a size_t size argument. New sized delete
+ operators are only for C++14 and above.
+
+* Build/Configuration System:
+
+ - Initial clang compile. From Goran MekiÄ.
+ - Add CLANG definitions in Kconfig and Toolchain.defs.
+ - drivers/wireless/ieee802154: Moved radios to individual
+ sub-directories. From Anthony Merlino.
+ - Makefile.unix: Add savedefconfig target. From Gwenhael Goavec-Merou.
+ - Add Gwenhael's change to Makefile.win and update README.txt to
+ described the new make target.
+ - All defconfig files are now in the compressed format created with
+ 'make savedefconfig.' The original .config file can be reconstituted
+ using 'make olddefconfig.'
+ - Build System: It is no longer necessary to have a unique Make.defs
+ file for each configuration. A board may share a common Make.defs
+ file in the scripts directory. Duplicate Make.defs files removed;
+ common Make.defs file moved to the scripts/ sub-directory for each
+ board.
+ - Networking: Move INET socket interface out of net/sockets to its own
+ directory net/inet.
+
+* Tools:
+
+ - testbuild.sh: Added -x to fail build on errors for continous
+ integration (CI). On CI we want to know ASAP of a failure. From
+ David Sidrane.
+ - Improve configure.sh behavior: (1) enable to call from top directory.
+ (2) enable to designate direct path for config. (3) install .gdbinit
+ if the target has. From Hidetaka Takano.
+ - Update tools/configure.c to same functionality as configure.sh. Add
+ an array of optional file names. Currently, .gdbinit is the only
+ optional file but other things like IDE-specific project files might
+ need to be copied as well.
+ - tools/configure.sh will now copy Eclipse project files if they are
+ present in the board directory file.
+ - Update configure.sh, configure.bat, configure.c: With compressed
+ format, part of the installation requires that we run 'make
+ olddefconfig' to restore the uncompressed defconfig format. Also,
+ while I was at it, I also added options to select host platform on
+ configure command line.
+ - tools/refresh.sh: Now runs make savedefconfig before copying the new
+ defconfig file in place; Also, added a new option --defaults. Since
+ the number of defaults that you now have to answer is so large, the
+ option lets you just accept the default values. So it works just like
+ --silent but still prompts you for the decision to save or discard the
+ new defconfig file.
+ - tools/refresh.sh: Update so that it can find the Make.defs file in
+ the new location.
+
+* NSH: apps/nshlib:
+
+ - NSH Library: Add a Telnetd command. This is needed when network
+ initialization is deferred. In that case, telnet daemon cannot be
+ started until the network is finally initialized. The telnetd command
+ was added just for that case: So that the telnet daemon can be
+ started from the NSH command line after the network is configured.
+ - NSH Library: Misc changes needed for PktRadio support.
+ - NSH Library: Extend ifconfig command so that it can set variable
+ length packet radio addresss.
+ - NSH Library: Update addroute and delroute command. The would support either
+ IPv4 or IPv6, but not both. Allow expression of the netmask in IPv4 CIDR or
+ IPv6 slash notation. This really reduces the pain of using the commands,
+ especially for IPv6.
+ - NSH Library: Add a route command that will dump the content of routing table.
+
+* Examples/Tests: apps/examples:
+
+ - examples/udp: Add configurable network device name; Add option to
+ suppress network initialization which is not needed if started by NSH
+ or for 6LoWPAN.
+ - examples/udp: Fix registration as a built-in program; Change some
+ naming to make room for a second target. Current one endpoint is the
+ target and one is the host. This will (eventually) allow two targets
+ to be both endpoints of the test. Change build so that both server
+ and client can be on a target, rather than one on the target one on
+ the host PC. Server IP address may not be provided on the command line.
+ - examples/udp: Port numbers need to be configurable to work with
+ 6LoWPAN. Need to bind the client socket to a port number. This was
+ not required before so is a apparently a change in the UDP packet
+ dispatch logic.
+ - examples/udp: Enable testing with the broadcast address.
+ - examples/nettest: Support target boards on both ends of the test.
+ Separate out network initialization so that it may be used by both a
+ target server and a target client. Fix client/server naming
+ confusion; Add command line option to select the server address on the
+ target. Add support for both enpoints on target boards vs. one on a
+ target and one on the host PC.
+ - examples/nettest: The send buffer size is now a configuration option.
+ - examples/nettest: Loopback option should be available in Kconfig for
+ PktRadio.
+ - examples/keypadtest: REMOVED and warehoused in the Obsoleted
+ repository. This was just a bad clone of apps/examples/hidkbd for a
+ keypad driver that was removed years ago.ââIt also uses illegal
+ function calls into the OS.ââSo it has no purpse: It is redundant, it
+ uses illegal interfaces, and is a test for non-existent code.
+ - examples/ipforward: Add an IP forwarding example using only TUN
+ devices. Test extended to test forwarding of ICMPv6 multicast messages.
+ - Implement powermonitor example for ltc4151 current and voltage
+ monitor. From Giorgio GroÃ.
+ - examples/pf_ieee802154: Add for testing PF_IEEE802154 sockets. Add
+ PANID to command line options; Cannot bind to address zero... There is
+ no counterpart to INADDR_ANY for these radios (not now at least).
+ - examples/dac: add DAC example. From Juha Niskanen.
+
+* Network Utilies: apps/netutils:
+
+ - netutils/telnetc: This a port of libtelnet to NuttX.
+ - netutils/telnetd and users of telnetd: Add support for IPv6.
+ - netutils/thttpd: Remove the netstats demo. This depends on an
+ illegal function call and cannot be supported. That example could be
+ replaced with logic that uses the procfs network entries as was done
+ for NSH which had the same issue. But I am too lazy to implement that.
+ - netutils/netlib: Add support for PktRadio IOCTL commands.
+ - netutils/netlib: Add a helper to decode short addresses.
+
+* Wireless Utilies: apps/wireless:
+
+ - wireless/ieee802154/i8sak: Rewrote i8sak to be test CLI for IEEE
+ 802.15.4 MAC layer. From Anthony Merlino.
+ - wireless/ieee802154/i8sak: Updates to i8sak for
+ association/beacon-enabled changes to IEEE 802.15.4. From Anthony
+ Merlino.
+ - wireless/ieee802154/i8sak: Add option to make it easy to send large
+ frame for testing purposes. From Anthony Merlino.
+ - wireless/ieee802154/i8sak: Add scan command. From Anthony Merlino.
+ - wireless/ieee802154/i8sak: Add coordinfo command allowing you to
+ poll various attributes related to the coordinator. From Anthony
+ Merlino.
+ - wireless/ieee802154/i8sak: Add a option to retry on failures to the
+ assoc command (usually meaning tht the coordinator is not yet up).
+ - iwireless/ieee802154/8sak: Add reset command to reset the MAC layer.
+ Adds option to assoc command -t to specify how long to wait for a
+ response from the Coordinator. From Anthony Merlino.
+ - ieee802154/i8sak: Adds command to trigger regdump of radio. From
+ Anthony Merlino.
+
+* System Unitilities (apps/system)
+
+ - apps/system/composite: Update to apps/system/composite assocated with
+ big changes to the composite device logic. From Frank Benkert.
+ - apps/system/composite: Remove CDC/ACM and MSC configuration logic.
+ This belongs in the OS composite initialization. Add and argument so
+ that you can select the USB composite configuration to be attached.
+ Restore USB tracing; remove unused field in a structure. Remove
+ configuration settings that are no longer used. Fix configuration
+ selecting.. was setting the port number, not the configure ID. Also
+ add a configuration option to select the default configuration.
+ - apps/system/composite: Add a configuration option to the boardctl()
+ calls to support multiple composite device configurations dynamically.
+ - apps/system/composite: Remove references to USBMSC. There still
+ dependencies on CDC/ACM in the serial USB trace output.
+ - apps/system/telnet: Add Telnet Chat deamon and and client from
+ libtelent.
+
+* Platform-Specific Support (apps/platform)
+</code></pre></div></div>
+
+<p>Bugfixes. Only the most critical bugfixes are listed here (see the
+ChangeLog for the complete list of bugfixes and for additional, more
+detailed bugfix information):</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - Fix ELF loader up_checkarch on ARM arch. From Cristian Condurache.
+ - pthread_mutex_unlock(): Missing check for the case where
+ pthread_mutex_lock() is called when the mutex is not locked. In that
+ case, it would increment the underlying semaphore above 1. This is
+ the fix for a problem noted by initialkjc@yahoo.com.
+ - sig_timedwait(): Pending signal structure used after it has been
+ releasd. From anonymous Bitbucket Issue 59.
+ - mm_mallinfo: do heap end debug assert check with heap semaphore held.
+ From Jussi Kivilinna.
+ - sched/: Fix return value in sched_setaffinity(). From Masayuki
+ Ishikawa.
+ - Work Queues: work_queue() must cancel existing work prior to queuing
+ new work, otherwise the work queue list structure can become
+ corrupted. Problem noted by Pascal Speck.
+ - waitpid(): Corrects two problems when CONFIG_SCHED_HAVE_PARENT +
+ CONFIG_SCHED_CHILD_STATUS are enabled: (1) Was erroring out if the
+ waited for task had already exited, and (2) was not freeing resources
+ when a wait was completed. From Boris Astardzhiev.
+
+* File System/Block and MTD Drivers:
+
+ - VFS poll(): Fix timeout calculation. From Jim Paris.
+ - VFS poll(): Fix poll for regular files and block devices. Open Group
+ documentation says that poll (and select) support regular files and
+ that 'Regular files shall always poll TRUE for reading and writing'.
+ From Jussi Kivilinna.
+ - VFS epoll(): Fix epoll_wait function. From Simon Piriou.
+ - Smart FS: Fix wrong freeing of device structure and use-after-free
+ issues on error paths. From Jussi Kivilinna.
+ - MTD FLASH drivers: The byte write method of several drivers had a
+ cloned error: It was not locking the bus while performing byte write
+ operations.
+ - MTD M2PX: If we READ while a write/erase is pending, the command is
+ ignored and the write/erase continues. If we dont catch this situation
+ we will return garbage to the user because the flash will not execute
+ the command. So READ MUST wait for write completion, and before that,
+ the bus must be locked since it's a precondition to calling
+ waitwritecomplete(). From Sebastien Lorquet.
+ - MTD FLASH drivers: Clone Sebastien Lorquet's m25px change to at25,
+ is25xp, ramtron, and sst25xx.
+ - MTD W25: Add missing locking and fix SPI_SELECT usage for
+ w25_unprotect. From Jussi Kivilinna.
+ - MTD W25: Wait for BUSY flag to clear in w25_readid and
+ w25_unprotect. W25Q128 datasheet says that all instructions expect
+ 'Read Status Register' and 'Erase/Program Suspend' are ignored when
+ BUSY flag in status register is '1'. Therefore wait for busy flag to
+ clear in w25_readid() and w25_unprotect(). From Jussi Kivilinna.
+ - Automounter: FS_AUTOMOUNTER should depend on SCHED_LPWORK. From
+ Nickolay Semyonov.
+
+* Networking/Network Drivers:
+
+ - TCP Listen: Throw error when error happens in the tcp_listen
+ function. From Roland Takacs.
+ - Nework Device Management: Do not search net device when all-zeros
+ address is used. From Roland Takacs.
+ - Network Device Management: Fix a error in netdev_register(); it was
+ not handling device names properly when TUN is the only network device.
+ - Network Device Management: Fix netdev_dev_lladdrsize(). In some
+ configurations, it could return the wrong size for the address of a
+ packet radio.
+ - Network Device Management: Fix typo for 802.11 devices in
+ netdev_register(). Was being masked before because depended on
+ CONFIG_NET_MULTLINK.
+ - TUN Driver: Use critical section instead of semaphore in
+ tun_ifdown(). From Masayuki Ishikawa.
+ - TUN Driver: Do all polling on worker thread. Otherwise, the stack
+ gets very deep.
+ - TUN Driver: Currently cannot support TAP mode unless Ethenet is
+ enabled.
+ - netdb: Fixed buffer size used for sending DNS queries should depend
+ on the configured DNS name size. From Ritjaina.
+ - UDP networking: The TTL (time to live) was not being set in the IPv4
+ or IPv6 header unless the UDP socket was bound.
+ - UDP Networking: Fix a copy-paste error that could effect networking
+ when both IPv4 and IPv6 are enabled.
+ - UDP Networking: When upd_input() cannot process a packet, it returns
+ ERROR so that network drivers may try calling ipv4_input() later. In
+ this case, it must also set d_len to zero. Otherwise, all network
+ drivers will assume tht there is also an outgoing packet. This
+ results in a gratuitous ARP.
+ - TCP Networking: Correct some issues that prevent TCP from working
+ correctly when both IPv4 and IPv6 are enabled.
+ - TCP Networking: TCP disconnection callbacks are not retained in a
+ list. This will support mutiple callbacks per lower-level TCP
+ connection structure. That is necessary for the cae where a socket is
+ dup'ed and shares the same lower-level connection structure. NOTE:
+ There still needs to be a call to tcp_start_monitor() when the socket
+ is dup'ed.
+ - TCP Networking: Start the network monitor for a socket when a TCP
+ socket is dup'ed.
+ - TCP Networking: If one of the dup'ed socket's is closed, then network
+ monitor resources associated with that one socket must be recovered.
+ Also, in the event that socket is being used on one thread, but then
+ closed on another, any threads waiting for events from the socket
+ should be informed of the closure. That latter requirement is not
+ implemented because current data structures do not support it.
+ - TCP Networking: Fix a race condition. The accept() operation is
+ performed with the network locked. However, the network is unlocked
+ BEFORE the connected state is set. Therefore, a context switch may
+ occur and the socket may no longer be connected when it is marked so.
+ Noted by Pascal Speck.
+ - Network routing tables: Fix a compilation error when IPv6 and
+ routing are enabled.
+ - Network procfs: Fix some spacing when both IPv6 and IPv4 are enabled.
+ - Network Local Sockets: Fix accept for local stream sockets. From
+ Jussi Kivilinna.
+ - Network Local Sockets: Fix server lc_waitsem overflow. From Jussi
+ Kivilinna.
+ - IPv6 Networking: Remove comparisons to the address with all ones
+ set. IPv6 does not support broadcast addresses and certainly not in
+ that form. Replace with multicast addresses beginning with 0xff02.
+ - ICMPv6 Networking: Fix a compilation issue with
+ CONFIG_NET_ICMPv6_AUTOCONF=y. From Masayuki Ishikawa.
+ - Networking: Fix net_lock returning ERROR when instead of real error
+ code on failure. From Jussi Kivilinna.
+ - IGMPv2 Networking: Remove special support for interrupt level
+ processing (there is none) and fix some timer cancellation logic. In
+ many files, correct comments. There is no interrupt level processing
+ in the networking layer.
+
+* Wireless/Wireless Drivers:
+
+ - IEEE 802.15.4 MAC: Need counting protection on the logic that
+ releases the notification resources. Otherwise, notification handlers
+ may be operating with a stale pointer.
+ - IEEE 802.15.4 MAC: Improves internal timer logic to handle work
+ serially. Before, the MAC timer used a watchdog to schedule work with
+ the high priority worker queue. However, since everything in the MAC
+ is supposed to be serialized through the use of the high priority work
+ queue, but the timer uses a watchdog, there are some unintended
+ consequences. To simplify, we now use the delayed work feature of the
+ work queue. From Anthony Merlino.
+ - IEEE 802.15.4 Network Driver: Update RX statistics in network driver.
+ - IEEE 802.15.4 MRF24J40 Driver: Minor timing fix. Matches recommended
+ value in datasheet. Splits up driver into multiple files to make it
+ easier to navigate. Fixes issue with non-beacon enabled mode. From
+ Anthony Merlino.
+ - IEEE 802.15.4 MRF24J40 Driver: Fix a bug causing radio to cease
+ transmitting. From Anthony Merlino.
+ - IEEE 802.15.4 MRF24J40 Driver: Fixes issues with sleeping for beacon
+ enabled networking. From Anthony Merlino.
+ - EEE 802.15.4 MRF24J40 Driver: Fix math error for calculating sleep
+ count values. From Anthony Merlino.
+ - IEEE 802.15.4: Fix timing issues for beacon enabled coordinators and
+ endpoints. From Anthony Merlino.
+ - iIEEE 802.15.4: Fix issue with association on beacon-enabled
+ networking. From Anthony Merlino.
+ - 6LoWPAN: Correct a few addressing issues. Also reserve two bytes at
+ the end of the frame for the FCS.
+ - 6LoWPAN: Fixes needed when extended addressing is enabled; broke short
+ addressing. Loopback driver needs to initialize the MAC meta data;
+ Address decompression logic must have the MAC address to handle the
+ most common compression cases. Fix a src/dest address confusion and
+ other addressing problems.
+ - 6LoWPAN: Add missing IPv6 address creation to HC1 decode logic. Fix a
+ typo in an index that prevented use with HC1 and extended addresses.
+ - 6LoWPAN: TCP logic was not obeying MTU packet size limitations.
+ - 6LoWPAN: Major re-architecting of TCP logic to properly handle TCP
+ stuff like ACKs and TDP windowing which were not properly covered in
+ the initial design.
+ - 6LoWPAN: HC06, copy TCP header as though it were data. TCP packet
+ reassembly now seems to work OK.
+ - 6LoWPAN: Fix duplicate and bad memcpy in loopback driver.
+ - 6LoWPAN: Fix a misconception about HC06 16-bit IPv6 address
+ compression.
+ - 6LoWPAN: TCP send logic was returning a failure in one case when, in
+ fact, the send was successful.
+
+* Common Drivers:
+
+ - USB MSC: Use struct instead of pointer to the struct as sizeof
+ argument in memset in usbmsc.c. Otherwise it leads to error: argument
+ to sizeof in memset call is the same pointer type struct usbmsc_lun_s
+ * as the destination. From Oleg Evseev.
+ - USB MSC: Add missing logic to define endpoints. The composite
+ changes broke the the non-composite, USB MSC only case because it omitted the critical setup when USB MSC was not part of the composite.
+ - USB CDC/ACM. Fix several known problems resulting from merge of USB
+ composite device. That merge now breaks some of the non-composite USB
+ devices.
+ - Button Driver: Interrupts weren't enabled since nothing updates them
+ after btn_poll() marks the file descriptor structure as being polling.
+ From Jan Pobrislo.
+ - ADC Driver: Fix some data alignment issues in the ADC driver.
+ - I2C Drivers: Handle I2C_TRANSFER return value consistently. Some I2C
+ peripherals transfers return zero on success, others number of
+ completed transfers. Make drivers robust against this. From Juha
+ Niskanen.
+ - COMP Driver: Fix compilation errors when poll disabled. From Mateusz
+ Szafoni.
+
+* Simulation:
+
+ - Simulation: Fix mkdir issue in GNU target. From Simon Piriou.
+ - Simulation: x86 stack needs to be aligned to 16-byte boundaries.
+ - Simulation: Fix building 32-bit simulation on 32-bit X86. From Jussi
+ Kivilinna.
+
+* ARM:
+
+ - ARM: The older ARM7 and ARM9 configurations were determining CFLAGS
+ based on the GCC version 4.x.x or not. That needx to be extended for
+ 5.x.x and 6.x.x which also behave like 4.x.x.
+
+* ARMv7-M:
+
+ - Fixed ARMv7-M Toolchain setting. Cortex-M4 only have Single
+ Precision FPU. From Hidetaka Takano.
+ - ARMv7-M syscall logic: Clear bit 0 in PC settings. Bit 0 is the
+ thumb mode indication and should not be set in the PC. This extra bit
+ has not caused problems in the past, but seeing it set in the PC is
+ unnerving.
+
+* Expressif ESP32:
+
+ - Fix ESP32 gpio enable reg and default UART pin. Modify default UART
+ pin for ESP-WROOM-32. Fix gpio enable reg. From Sungki Kim.
+
+* Microchip/Atmel SAMD21 Drivers:
+
+ - SAMD21: Fix some SPI-related issues. From Matt Thompson.
+ - SAMD21 SPI: I was having issues with the bus freezing up .. slaves
+ holding SDL low.. so I rewrote a good portion of the interrupt logic
+ based on the application notes from Atmel. One major improvement is
+ using the RXNACK flag in the STATUS register, which indicates that no
+ device responded to an address packet. Assuming that the chip will
+ always give an interrupt status, I believe it's possible to eliminate
+ the timer as well. From Matt Thompson.
+ - SAMD/L21: Need to preserve errno value across syslog() call.
+ - SAMD21: Changes needed to get USB working. From Matt Thompson.
+
+* Microchip/Atmel SAMv7 Drivers:
+
+ - SAMv7 TWIHS: TWIHS driver add reference counting. From David Sidrane.
+ - SAMv7 CAN: We discovered a problem with the samv7 mcan driver which
+ results, under some circumstances, in a very high CPU load. The
+ problem occurs, and is easily reproducible, if the device is connected
+ to a CAN network with a wrongly configured CAN speed (baud rate). In
+ our tests we set the CAN speed of the device to 1000000 and the speed
+ of the other CAN nodes to 500000. The device is restarted and sends a
+ CANopen "bootup message" to the CAN network. This results in huge
+ amount of errors messages on the CAN bus, probably because of the CAN
+ feature for acknowledging error messages. The error messages canât be
+ read by the device because of the misconfigured CAN speed, instead the
+ CAN chip reports lots of errors, which are reported to the application
+ which uses the CAN driver (CONFIG_CAN_ERRORS is enabled). The CAN
+ errors are reported from the CAN chip via interrupts and thus the
+ interrupt load is very high in this scenario. To fix the problem the
+ driver now disables each RX error interrupt after it is occurred. The
+ RX error interrupts are turned back on if at least one CAN message is
+ received successfully. From Stefan Kolb.
+ - SAMv7 CAN: I discovered while working on the SAMV7 mcan driver that
+ the implementation of the CAN error handling is suboptimal. In the
+ current implementation the many errors are implemented as pending
+ errors. But those errors are not pending, the errors occurred and are
+ gone directly afterwards. This commit changes the described behavior
+ and simplifies the handling of CAN errors. From Stefan Kolb.
+
+* Microchip/Atmel SAMv7 Boards:
+
+ - SAMv71-XULT: Fix MRF24J40 interrupt GPIO number.
+
+* NXP/Freescale Kinetis:
+
+ - Kinetis MPU: Disable MPU when not in protected mode. The hardware
+ reset state of the the MPU precludes any bus masters other then DMA
+ access to memory. Unfortunately USB and SDHC have there own DMA and
+ will not have access to memory in the default reset state. This change
+ disabled the MPU if present on system startup. From David Sidrane.
+ - Kinetis MPU: Fixed warning for kinetis_mpudisable. Missing header
+ file added. From David Sidrane.
+ - Kinetis SIM: Ensure isolation of clock dividers for 0 value case.
+ This fixes a bug were a SoC does not have a clockdivN register and
+ passes a 0 for the init value. This prevents overflow of the 0
+ decremented to -1 (0xffffffff) spilling over to other clockdivN
+ fields. From David Sidrane.
+
+* NXP/Freescale i.MX6 Drivers:
+
+ - i.MX6: Fix a wrong parameter passed when calling irq_attach() in
+ imx_serial.c. From Masayuki Ishikawa.
+ - Based on Masayuki's change, I review all serial driver vector
+ attachment. I Found one additional error and updated all relevant
+ drivers to current interrupt parameter passing.
+
+* STMicro STM32:
+
+ - STM32 F410 Kconfig: Fix peripherals available on the STM32 F410.
+ This also adds a select for STM32_HAVE_DAC1 present on this STM32
+ flavor. From Gwenhael Goavec-Merou.
+ - STM32 L4 DMA: Correct USART3_RX bad channel definition. From Juha
+ Niskanen.
+ - STM32 L4 PWR: Correct PWR_SR2 REGLPS and REGLPF bits, add port I
+ registers. Also remove duplicate section from Kconfig. From Juha
+ Niskanen.
+ - STM32 F7: do not enable read-modify-write on DTCM. "AN 4667 - STM32F7
+ Series system architecture and performance" recommends to disable
+ read-modify-write on DTCM: "If the DTCM-RAM is used as data location
+ and the variables used are byte or/and halfword types, since there is
+ no ECC management in this RAM on the STM32F7 Series, it is recommended
+ to disable the read-modify-write of the DTCM-RAM in the DTCM interface
+ (inthe DTCMCR register) to increase the performance." From Jussi
+ Kivilinna.
+
+* STMicro STM32 Drivers:
+
+ - STM32 TIM3/4 are always 16-bits; never 32-bits. Noted by Eetu
+ Nevalainen..
+ - STM32 ADC: Invalidate dma buffer before use. Missing invalidation
+ caused old samples being fetched from cache. From Jussi Kivilinna.
+ - STM32, STM32L4, STM32F7 ADC: Fix channel 18 sample time. From Juha
+ Niskanen.
+ - STM32 DAC: Fix some configuration logic. When STM32_NDAC is greather
+ than 1, then second channel is always DAC1OUT2. From Mateusz Szafoni.
+ - STM32 DAC: Fix compilation when DMA disabled for channel. From
+ Mateusz Szafoni.
+ - STM32 F0: Fix some funny shifts in DAC header files. From Juha
+ Niskanen.
+ - STM32 F1 RTC fixes: (1) Compile issues because of missing RTC_MAGIC
+ #defines, (2) missing functionality based on RTC_MAGIC in RTC based on
+ stm32_rtcounter.c, (3) IRQ setup from up_rtc_initialize was later
+ reset in up_irqinitialize, (4) write access to backup registers
+ without enabling access to backup domain, (5) possible races in
+ set/cancel alarm. tested with STM32F103C8 only. device now wakes up
+ from forced STANDBY mode by alarm. From Leif Jakob.
+ - STM32/STM32 L4 PWM: While attempting to output a 70 MHz square wave
+ from the timer output of a STM32 clocked at 140 MHz, found that the
+ reload calculation was off by one. This correction does allow the
+ output up to 70 MHz. I am not sure this affects most users
+ generating slow PWM but for frequencies close to the PCLK, the
+ difference becomes significant. From JM.
+ - STM32 L4 I2C: Set I2C SDA and SCL pins to open drain mode. From Pekka
+ Ervasti.
+ - STM32 L4 I2C: I2C4 was writing to wrong RCC registers. From Juha
+ Niskanen.
+ - STM32 L4 DAC: Report transfer as completed in DMA callback. Without
+ this even O_NONBLOCK writes block the calling task if DAC was using
+ DMA. From Juha Niskanen.
+ - STM32 L4 COMP: comparators share RCC enable bit with SYSCFG. From
+ Juha Niskanen.
+ - STM32 L4 ADC: Correct EXTSEL macros. From Juha Niskanen.
+ - STM32 L4 TIM: TIM15,16,17 are always in APB2. From Juha Niskanen.
+ - STM32 F7 I2C: Set I2C4 SDA and SCL pins to open drain mode. From Juha
+ Niskanen.
+ - STM32 F4 RTCC: ISR register and write protection fix. From Eetu
+ Nevalainen.
+ - STM32 F7 Ethernet: Fix typo in header; Add memory sync barrier
+ between writing to DMA TX descriptor and restarting DMA TX. Avoid
+ calling work_queue on pollwork if it's already queued, just skip a
+ poll cycle instead. Nucleo-144: Fix RMII TXD1 signal, connected to
+ PB13 not to PG14. From savinz.
+ - STM32 F7: Added missing config option for register value debugging.
+ From Titus von Boxberg.
+ - STM32 F7: No FSMC, only FMC for STM32F7. From Titus von Boxberg.
+ - STM32 F7: HEAP2 depends on CONFIG_ARCH_HAVE_HEAP2, not on particular
+ FMC RAM type. From Titus von Boxberg.
+ - STM32 F7: STM32_RCC_DCKCFGR2 has nothing to do with PLLI2S; PLLI2S is
+ not dependent on LTDC, instead on SAICLK1/2 generated from PLLI2S.
+ From Titus von Boxberg.
+ - STM32F7: Some STM32F7 builds failed in build testing due to undefined
+ STM32_SRAM1_BASE. I think that is because stm32_allocateheap.c was
+ not including chip/stm32_memorymap.h.
+ - STM32 F7: dcache write-buffed mode is used (not write-through) buffer
+ alignment is required for DMA transfers because a)
+ arch_invalidate_dcache could lose buffered writes data and b)
+ arch_flush_dcache could corrupt adjacent memory if the buffer and the
+ bufflen, are not on ARMV7M_DCACHE_LINESIZE boundaries. From David
+ Sidrane.
+
+* STMicro STM32 Boards:
+
+ - STM32F103-Minumum SPI: SPIDEV_WIRELESS used when this has
+ changed to SPIDEV_CONTACTLESS. From Nicolas Estibals.
+ - configs/: a few more places where SPIDEV_WIRELELSS should be
+ SPIDEV_CONTACTLESS.
+ - STM32F103-Minumum: Fix a BUG when reading from output pin. We need
+ a different read_ops to read from output pin. This patch fixes the
+ issue. From Alan Carvalho de Assis.
+ - STM32F103-Minumum: Use separated read_ops for GPIO interrupt pins.
+ From Alan Carvalho de Assis.
+ - STM32F103-Minumum: Fix compiler error in MCP2415 logic.
+ - STM32F746G-DISCO: Fix for compilation of STM32F746G-DISCO. From Ivan
+ Ucherdzhiev.
+ - STM32F746G-DISCO: Fix for stm32f746g-disco board for button support
+ with interrupt. This change is tested with buttons app example and it
+ is working with interrupts (signals). I tried the test with polling
+ but at this point it doesn't work. From Ivan Ucherdzhiev.
+
+* Build System
+
+ - Fix -Werror=implicit-fallthrough on gcc7. From Julien Lecoeur.
+ - configs/Board.mk: Remove comment form end of line. In windows native
+ build, it appears to be trying to make that an extra parameter to the
+ AR command. From Jeff.
+ - configs/Board.mk: Remove quotes from CONFIG_ARCH_FAMILY. Causes
+ problems with Windows native build. From Jeff.
+ - Makefile.win would only create uboot images for ARM. MIPS support
+ also needed. From Lwazi Dube.
+
+* C Library/Header Files:
+
+ - C++: Fix C++ __guard implementation for ARM. The standard C++ ABI
+ that most platforms follow defines __guard to be 64 bits. The existing
+ implementation of libxx_cxa_guard.cxx follows this. However, the
+ 32-bit ARM C++ ABI defines it as 32 bits instead, and changes the
+ meaning slightly so only the lowest bit is used. This matters because
+ GCC creates guard symbols without regards to what libxx_cxa_guard.cxx
+ says. So on ARM, gcc allocates 4 bytes, but __cxa_guard_release
+ writes 8 bytes, zeroing out another unlucky variable nearby. Fix it
+ by special-casing 32-bit ARM in libxx_cxa_guard. From Jim Paris.
+ - C++: In cwchar it uses CONFIG_LIBC_WCHAR to only export the wc/mb
+ functions. When a build does not want to use wide or multibyte char
+ CONFIG_LIBC_WCHAR is not set. Therefore we should to only export the
+ wc/mb functions when defined. Regardless of the stat of
+ CONFIG_LIBC_WCHAR the non mb/wc definitions such as mbstate_t,
+ wint_t, wctype_t need to be exported. From David Sidrane.
+ - C Library: Fix an error in mkstemp() the could result in an infinite
+ loop. From Alan Carvalho de Assis.
+ - C Library: (1) Fix an error in mkstemp() the could result in an
+ infinite loop. (2) Fix for wrong output in some cases. For Example:
+ (a) input: "FILEXX", output: "FILE00" and repeats same output for
+ further invocations of mkstemp(). But, the ouput has to be FILE01,
+ FILE02, ...., FILEZZ. (b) input: "FILEXXXXXX", output: "FILE100000",
+ for next invocation "FILE200000" and so on. But it's good, if the
+ ouput goes like FILE000001, FILE000002, ..., FILE000101, ... From
+ Lokesh B V.
+ - C Library: gethostbyname_r: Fix check for space in buffer.
+ - C Library: inet_ntop() was printing negative values for fields >127.
+ - Math Library: Fix wrong ouput in modf() API. The sign of integral
+ part given by the modf() should be same as sign of input. But for
+ inputs between 0 and 1, the sign of integral part was not same as
+ sign of input. From Lokesh B V.
+ - Math Library: Fix wrong ouput in ceil() API. Ex:for input x = 1.0,
+ the output should be 1.0, but the ouput was 2.0. From Lokesh B V.
+
+* Tools
+
+ - tools/testbuild.sh: Fix missing $ before variable name.
+ - tools/mkdeps.c: Eliminate a warning. MAX_PATH may already be defined
+ in included system files. From Jeff.
+
+* Applications: apps/
+
+ - All apps/ Makefiles: Add .PRECIOUS: apps/libapps.a to every
+ Makefile. Hopefully this will end awkward problems when you Control-C
+ out of a build and libapps.a is deleted.
+ - platform/Makefile: More attempts to fix for Windows native build.
+ Backslash as a delimiter causes problems in pattern subsitutions.
+
+* NSH: apps/nshlib:
+
+ - NSH network initialization: Fix some ieee 802.15.4 initialization
+ logic. It should not set the saddr or panid; those cannot be
+ hard-coded but must come from the coordinator. Re-factor a function
+ that has gotten too big and too complex. Do not set the IP address
+ for 6loWPAN. The 6loWPAN stack uses IP address that derive from the
+ ieee 802.15.4 addressing and cannot be (safely) configured by the user.
+ - NSH Library: Fix copy-paste typo in nsh_usbconsole.c. From Oleg
+ Evseev.
+ - NSH Library: fix size of 6LoWPAN extended address.
+ - NSH Library: Fix build break in nsh_command.c with IPv4/IPv6 dual
+ stack. From Masayuki Ishikawa.
+ - NSH Library: Correct parsing of ifconfig so that you can specify the
+ HW address without specifying the IP address.
+
+* Examples/Tests: apps/examples:
+
+ - examples/smart: Fix some compilation errors. Obviously this test has
+ not been used in a LONG time.
+ - examples/udp: Renaming some files to prevent name collision in
+ libapps.a. Fix naming of a configuration setting.
+ - examples/nettest: Renaming some files to prevent name collision in
+ libapps.a
+ - examples/nximage: Remove unused global variable.
+ - examples/nsh: Remove APPNAME, PRIORITY, and STACKSIZE settings from
+ Makefile to avoid showing nsh in Builtin Apps. From Masayuki Ishikawa.
+
+* Network Utilies: apps/netutils:
+
+ - netutils/tftpc: Missing header file causes errors in some
+ configurations.
+ - netutils/tftpc: TFTPC depends on CONFIG_NET_IPv4.
+ - netutils/netlib: Fixes to work when only USRSOCK is enabled.
+ - netutils/netlib: Fix netlib_nodaddrconv() so that its return type is
+ the same as other address conversion functions.
+ - netutils/netlib: If only PF_IEEE802154 socket family is enabled, then
+ must use SOCK_DGRAM.
+ - netutils/ftpc: Fix some memory leaks. From Boris Astardzhiev.
+ - netutils/thttpd: Fix a malformed if condition detected by GCC 6.x.x.
+ - netutils/dhcpd: Prevent buffer overflow in dhcpd_addoption. offset
+ represents distance from start of option buffer. So this should be
+ changed current option pointer minus start of buffer. From EunBong
+ Song.
+
+* Wireless Utilies: apps/wireless:
+
+ - wireless/ieee802154/i8sak: Need to increment the next_saddr after
+ each successful association.
+
+* System Unitilities (apps/system)
+
+ - correct copy-paste typo in comments in composite_main.c From Oleg
+ Evseev.
+ - system/dhcpc: The DHCPC renew command did not build correctly due to
+ naming problems. Noted by Masayuki Ishikawa.
+ - system/dhcpc: Fix warning about renew_main.o appear twice in rule.
+
+* Tools (apps/tools):
+
+ - tools/mkkconfig.bat: Use %cd% instead of %~dp0 for usage of APPSDIR
+ in this batch file.
+ - tools/mkkconfig.bat: Remove quotes in echo. These were begin
+ Echo'ed and generating double quots in the output. From Jeff.
+ - Windows build fixes: tools/mkkconfig.bat - switch APPSDIR path to
+ use forward slashes for kconfig-frontends. interpreters/ficl -
+ Reorder some targets that causes GNUwin32 make to behave badly. From
+ Jeff.
+</code></pre></div></div>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2020 </p>-->
+ <footer class="site-footer">
+ <div class="wrapper">
+ <div class="footer-col-wrapper">
+
+ Apache NuttX is an effort undergoing <a href="https://incubator.apache.org/index.html">Incubation</a>
+ at The Apache Software Foundation (ASF), sponsored by the 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.
+ <hr>
+
+ <div style="text-align:center;">
+
+ <div style="margin-top: 20px; margin-bottom: 20px;">
+ <a href="http://incubator.apache.org"><img src="/assets/themes/apache/img/egg-logo.png"
+ alt="Apache Incubator"/></a>
+ </div>
+
+ <div>
+ Copyright © 2019 <a href="http://www.apache.org">The Apache Software Foundation</a>.
+ Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
+ 2.0</a>.
+ <br>
+
+ Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+ Software Foundation.
+
+ </div>
+ </div>
+ </div>
+ </div>
+</footer>
+
+ </footer>
+ </div>
+
+
+ <script src="/assets/themes/apache/jquery/jquery-2.1.1.min.js"></script>
+
+ <script src="/assets/themes/apache/bootstrap/js/bootstrap.min.js"></script>
+
+
+ </body>
+</html>
+
diff --git a/content/releases/7.23/index.html b/content/releases/7.23/index.html
new file mode 100644
index 0000000..7487f3d
--- /dev/null
+++ b/content/releases/7.23/index.html
@@ -0,0 +1,1250 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>7.23</title>
+
+ <meta name="author" content="">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le styles -->
+ <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+ -->
+
+ </head>
+
+ <body>
+
+ <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <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>
+ <a class="navbar-brand" href="/">
+ <img src="/assets/themes/apache/img/logo.png" width="30">
+ Apache NuttX
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav navbar-right">
+ <li id="community">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
+ <ul class="dropdown-menu dropdown-left">
+ <li><a href="/community">Get Involved</a></li>
+ <li><a href="/community-members">Who we are</a></li>
+ </ul>
+ </li>
+ <li><a href="https://github.com/apache/incubator-nuttx">GitHub</a></li>
+ <li id="apache">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ <li><a href="http://www.apache.org/events/current-event">Events</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+
+ <div class="container">
+
+
+<!--<div class="hero-unit 7.23">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <!--
+
+-->
+
+<h2 id="nuttx-723-release-notes">NuttX-7.23 Release Notes</h2>
+
+<p>The 123rd release of NuttX, Version 7.23, was made on December 4, 2017,
+and is available for download from the Bitbucket.org website. Note
+that release consists of two tarballs: nuttx-7.23.tar.gz and
+apps-7.23.tar.gz. These are available from:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://bitbucket.org/nuttx/nuttx/downloads
+https://bitbucket.org/nuttx/apps/downloads
+</code></pre></div></div>
+
+<p>Both may be needed (see the top-level nuttx/README.txt file for build
+information).</p>
+
+<p>Additional new features and extended functionality:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - sem_open() should return SEM_FAILED on any failures. This is change
+ in the POSIX specification since the original sem_open() was written
+ so many years ago.
+ - exec(): The non-standard interface exec() is now enshrined as a
+ official NuttX API. I really dislike doing this but I think that
+ this is probably the only want to load programs in the protected
+ mode. It is currently used by some example code under apps/ that
+ generate their own symbol tables for linking. Other file execution
+ APIs relay on a symbol table provided by the OS. In the protected
+ mode, the OS cannot provide any meaning symbol table for execution
+ of code in the user-space blob so that is they exec() is really
+ needed in that build case. And, finally, the interface is
+ completely useless and will not be supported in the KERNEL build
+ mode where the contrary is true: An application process cannot
+ provide any meaning symbolic information for use in linking a
+ different process.
+ - OS Internal Functions: Rename many OS internal functions so it is
+ clear that they are not part of the application interface. All
+ internal functions with the sem_* prefix became nxsem_*, sig* become
+ nxsig_*, mq_* become nxmq_*, etc.
+ - Cancellation Points: Add new cancellation point interface,
+ check_cancellation_point().
+ - Signals: Add logic to wake up a thread that is waiting on a signal
+ if it is canceled.
+ - sigtimedwait(): Add logic to suppress the wait if there is a
+ pending cancellation.
+ - clock_nanosleep(): Implement clock_nanosleep(). nanosleep() is now
+ reduced to a libc wrapper around clock_nanosleep().
+ - task_delete(): Do not permit user applications to delete kernel
+ threads.
+ - kthread_create(): Rename kernel_thread() to kthread_create() for
+ better naming consistency with task_create() and kthread_delete().
+ - boardctl(): Remove the BOARDIOC_GRAPHICS_SETUP command.
+ - TCB: Move POSIX thread specific data from pthread TCB to common TCB
+ structure. This change allows using pthread_getspecific and
+ pthread_setspecific from main thread. Patch also enables using
+ pthread data with config option CONFIG_DISABLE_PTHREAD=y. From Jussi
+ Kivilinna.
+ - mm: Remove the CONFIG_GRAN_SINGLE configuration option. It adds no
+ technical benefit (other than some minor reduction in the number of
+ interface arguments) but adds a lot of code complexity. Better
+ without it.
+ - mm: Add a function to get information about the state of the
+ granule allocator. This is the moral equivalent of mallinfo().
+
+* File Systems/Block and MTD Drivers
+
+ - MT25Q Serial FLASH: Add support for Micron MT25Q series MT25Q128.
+ From Sebastien Lorquet.
+ - MX35LFxGE4AB: Add an MTD driver for Macronix MX35LFxGE4AB serial
+ NAND flash. From Ekaterina Kovylova.
+ - FileMTD: Add block device MTD interface. Block MTD interface
+ allows using block device directly as MTD instead of having to use
+ file-system in between. NOTE that this provides the opposite
+ capability of FTL which will let you use an MTD interface directly
+ as a block device. From Jussi Kivilinna.
+ - BCH: The character driver to block device access now supports an
+ IOCTL to get the geomtry of the underlying block device.
+ - mkfatfs: Remove mkfatfs from the OS. This is a user-space
+ application and belongs in apps, not in the OS.
+ - procfs: Implements procfs /proc/fs/blocks and /proc/fs/usage files,
+ replacing the NSH df command. Also implements procfs /proc/fs/mount
+ file, replacing the NSH mount command when there are no arguments.
+ - procfs: Add /proc/meminfo. This is an alternative way to get the
+ information that was previoulsy available in apps/system/free.
+ apps/system/free was removed beause it made illegal calls into the
+ OS violating the portable interface. This new procfs entry provides
+ the same information with no such violation. it also provides
+ information about the kernel heap (formerly /proc/kmm), about the
+ use of program memory(formerly /proc/progmem). And also information
+ for the page table usage in the KERNEL build.
+ - UserFS: Adds the UserFS client and of the UserFS feature in
+ general. Initially used Unix domain local sockets instead of
+ message queues. Easier to transfer big data in local sockets than
+ message queues. However, that lead to certain inescapable deadlock
+ conditions So the IPC was converted to UDP LocalHost loopback
+ sockets. The problem with the local sockets is that they do require
+ operations on the top level psuedo-file system inode tree. That
+ tree must be locked during certain traversals such as enumerate
+ mountpoints or enumerating directory entries. This conversion is
+ unfortunate in the sense that Unix local domain sockets are
+ relatively lightweight. LocalHost UDP sockets are much heavier
+ weight since they rely on the full UDP stack.
+
+* Graphics/Display Drivers:
+
+ - Framebufer character driver: Add framebuffer character device driver.
+ - LCD Framebuffer: Add support for a generic front-end that will
+ convert any LCD driver into a framebuffer driver.
+ - Framebufer character driver: Include support for LCD drivers that
+ use a simulated framebuffer and must receive explicit notification
+ when there is an update to a region in the framebuffer.
+ - LCD: Make LCD driver configuration indepently selected from NX
+ graphics configuration. This makes things awkward and loses some
+ error checking but is a necessary step in order to make LCD drivers
+ usable when the NX graphics system is disabled.
+
+* Networking/Network Drivers:
+
+ - Networking: Add implementation of logic for SIOCGIFCONF and
+ SIOCGLIFCOF IOCTL commnds.
+ - Network IOCTLs: Add support for the SIOCGIFBRDADDR ioctl() command.
+ - Routing Tables: Permit IPv4 and IPv6 routing tables to be of
+ different sizes.
+ - Routing Tables: Adds support for read-only routing tables. Prior
+ to this change, routing tables were only support in RAM and had to
+ be initialized with explicit logic to add the necessary routes to
+ the routing table. With this change, routes may be defined in the
+ pre-initialized, read-only routing table provided by the
+ board-specific logic.
+ This would be particularly useful, for example, in the case where
+ there is only a single network adaptor and you want all output
+ packets to go to the single adaptor in all cases. So for that
+ behavior you could add a read-only routing table to the
+ board-specific long that contains a single entry, the default route:
+ 0.0.0.0/0.
+ - Routing Tables. Added support for routing tables in files in a file
+ system. This might be useful for customized, per-unit routing
+ tables. There are two issues with it however:
+ 1. Reading from file system on a per packet basis could be slow. I
+ think it probably should have a small, in-memory cache of most
+ frequently used routes for good problem.
+ 2. Currently the delroute logic is disabled due to a problem with
+ the design. NuttX does not currently support truncate().
+ Therefore, it is not possible to delete entries from the routing
+ table file. In this current implementation, that leaves the last
+ entry intact at the end of the file. An alternative design
+ might include a tag on each record to indicate if the record is
+ valid or not. That would work but would add complexity to the
+ other routing table functions.
+ - Routing Tables: Add support for an in-memory routing table cache in
+ order to improve performance when the routing table is retained in a
+ file. The cache holds the most recently used routing table entries
+ and so can eliminate some file access. Flush the in-memory cache
+ when any entry is deleted from the routing table. When a router
+ matching an IP address is found, add the routing table entry to the
+ cache.
+ - Routing Tables: Add logic to mark a route as most-recently-used in
+ the route cache.
+ - ICMP: This change adds support for semi-standard IPPROTO_ICMP
+ AF_INET datagram sockets. This replaces the old ad hoc, nonstandard
+ way of implementing ping with a more standard, socket interface.
+ - ICMPV6: This commit adds support for semi-standard IPPROTO_ICMP6
+ sockets. This is a replacement for the non-standard ICMPv6 ping
+ support that violated the portable POSIX OS interface.
+ - ICMPv6: Add option to manually specify router prefix in router
+ advertisement message. From Sakari Kapanen.
+ - Local Sockets: This commit modifies the Unix domain local socket
+ design. Local sockets are built on top of pipes. The Local socket
+ implementation maintained file descriptors to interrupt with the
+ pipes. File descriptors have the bad property that they are valid
+ only while running on the thread within the task that created the
+ local socket.
+ As a policy, all internal OS implementations must use "detached"
+ files which are valid in any context and do not depend on the
+ validity of a file descriptor at any point in time. This commit
+ converts the usage of file descriptors to detached files throughout
+ the local socket implementation.
+
+* Wireless Networking/Wireless Drivers:
+
+ - IEEE-802154: Adds support for receiving MAC events via IOCTL through
+ socket interface. From Anthony Merlino.
+ - IEEE-802154: Simplifies notify() and rxframe() calls to a single
+ notify() call. dataind's and all other "notifs" are now "primitives"
+ which aligns with standard terminology From Anthony Merlino.
+ - MAC802154: Add support for getting promiscuous mode state From
+ Anthony Merlino.
+ - MAC802154 Character Driver: When in promiscuous mode, the char
+ driver sends the entire frame, including the MAC header. This
+ change adds an offset field indicating the header-payload boundary.
+ It is set to 0 when not in promiscuous mode as the header is not
+ passed to the application
+ - 6LoWPAN: Remove CONFIG_NET_6LOWPAN_FRAMELEN. In this case where
+ multiple radios are supported, this may not be a constant. 6LoWPAN
+ now always queries the driver to get the maximum frame length.
+ - 6LoWPAN: Support sending to a router that is on-link and may be
+ able to forward the packet for us if the destination is not
+ reachable directly. From Anthony Merlino.
+ - XBee: Adds XBee S2C (802.15.4 firmware) support. XBee driver
+ emulates mac802154 interface. From Anthony Merlino.
+
+* Other Common Device Drivers:
+
+ - PowerLED: Add upper-half driver for high power LED driver (powerled)
+ From Mateusz Szafoni.
+ - RTC Driver: Add periodic alarms to upper and lower halves. From
+ Juha Niskanen.
+ - Pipes: Fix writing large buffers not triggering POLLIN for reader
+ poll. From Jussi Kivilinna.
+ - USB CDC/ACM Device: Add support for RX flow control to the CDC/ACM
+ driver.
+ - USB CDC/ACM Device: Add support for flow control TERMIOs in CDC/ACM
+ driver.
+ - USB RNDIS Device: Add RNDIS-over-USB driver. From Sakari Kapanen
+ with added Hi-Speed support from Masayuki Ishikawa.
+ - Loop Driver: Don't use file descriptors... Use the internal file
+ system interfaces so that the loop device can be shared across
+ threads.
+ - APA102 LED controller: Add driver for APA102 LED controller. These
+ LEDs are used on LED Strips and are controlled over SPI.
+ - INA219. Add INA219 Driver. The INA219 is a combined voltage and
+ current sensor that can measure up to 26 volts and a current that
+ depends on an external shunt resistor. Connection happens via
+ i2c/smbus and the chip features a power supply rail that is
+ independent from the measured voltage, so it can measure low
+ voltages. Right now it measures bus voltage and current, and does
+ not use the internal calibrated current reading, nor the available
+ power measurement. From Sebastien Lorquet.
+ - PCA9555: The IRQ subsystem now supports passing a void * parameter
+ to IRQ handlers. Use that method to support multiple PCA9555
+ devices, by passing a pointer to the device to the board defined irq
+ handler. Now the CONFIG_ for multiple PCA devices just allocates
+ device structures dynamically instead of statically when not enabled.
+ The same interrupt handler is entered with the device structure
+ parameter in all situations, multiple or single PCA. One should
+ still be careful if multiple PCA devices share the same IRQ. From
+ Sebastien Lorquet.
+ - APDS-9960: Add driver for the APDS-9960 gesture sensor. From Alan
+ Carvalho de Assis.
+ - MAX7219: Add support to MAX7219 LED Matrix as LCD interface. From
+ Alan Carvalho de Assis.
+ - WM8774: Add WM8774 audio DAC support. From Masayuki Ishikawa.
+ - Nunchuck: Add Nintendo Wii Nunchuck driver. From Alan Carvalho de
+ Assis.
+
+* Simulation
+
+ - Simulation: Add a configuration for non-graphical testing of the
+ frambuffer character driver using apps/example/fb.
+ - Simulation: Add a configuration for testing the UserFS using
+ apps/examples/userfs.
+
+* Broadcom BCM2708:
+
+ - BCM2708: Add enough infrastructrue (more stubs) to get a clean
+ compilation of the Pi Zero configuration (with many undefined things
+ at link time). This includes several register definition header
+ files (some from Alan Carvalho de Assis), basic interrupt handling
+ logic, boot-up files, GPIO support, tickless timer, build and
+ configuration logic
+
+* Broadcom BCM2708 Boards:
+
+ - Raspberry Pi Zero. Basic board support at configs/pizero. Untested
+ in this release and still some remaining issues.
+
+* Infineon XMC4xxx Boards:
+
+ - XMC4500-Relax: Add config for UART3 on RXD P0.0 and TXD P0.1 pins.
+ From Alan Carvalho de Assis.
+
+* NXP Freescale LPC17xx Boards:
+
+ - Open1788: Add initialization of Framebuffer driver. Add
+ configuration for testing the framebuffer driver.
+
+* NXP Freescale LPC43xx Drivers:
+
+ - LPC43xx: Add LPC43xx CAN driver. From Alexander Vasiljev.
+
+* NXP Freescale LPC43xx Boards:
+
+ - MCB1700: Add support for Keil MCB1700 board. From Alan Carvalho de
+ Assis.
+ - Open1788: Add support for the discrete joystick driver.
+ - Open1788: Add a configuration for testing pdcurses with discrete
+ joystick.
+
+* On Semiconductor LC823450
+
+ - LC823450: Add ADC driver and watchdog drivers. From Masayuki
+ Ishikawa.
+ - LC823450: Add IPL2 support. From Masayuki Ishikawa.
+ - LC823450: Add I2S support. From Masayuki Ishikawa.
+ - LC823450: Add auto LED for CPU activity. From Masayuki Ishikawa.
+
+* On Semiconductor LC823450 Boards
+
+ - LC823450-XGEVK: Enable ADC and watchdog driver. From Masayuki
+ Ishikawa.
+ - LC823450-XGEVK: Add IPL2 support. From Masayuki Ishikawa.
+ - LC823450-XGEVK: Add WM8774 support. From Masayuki Ishikawa.
+ - LC823450-XGEVK: Add auto LED support. From Masayuki Ishikawa.
+ - LC823450-XGEVK: Enable CONFIG_SMP for audio. From Masayuki Ishikawa.
+ - LC823450-XGEVK: Add rndis configuration. From Masayuki Ishikawa.
+
+* STMicro STM32:
+
+ - ARM Kconfig: Add support for classic ARM11 architecture selections.
+ - STM32 Tickless: Removes the restriction to 16-bit counts when a
+ 32-bit timer is used for tickless operation on the stm32. As it
+ was, the restriction is very limiting, especially if one wants high
+ granularity and large achievable intervals and has the hardware
+ (namely the 32bit timers) available. From Rajan Gill.
+ - STM32 L4 Kconfig: Add some L486 and L496 chips. From Juha Niskanen
+ - STM32 F7: Adds architecture support for the STM32 F72x and F73x
+ families. From Bob Feretich.
+ - STM32 F7: Allow changing voltage output scaling setting and
+ prevents enabling over-drive mode for low frequencies (STM32 F74xx,
+ 75xx, 76xx, 77xx). From Jussi Kivilinna. Changes replicated for
+ the 72xx and 73xx families.
+
+* STMicro STM32 Drivers:
+
+ - STM32 ADC: Added support for ADC's IO_ENABLE_TEMPER_VOLT_CH ioctl
+ on STM32F10XX and STM32F20XX. From Dmitriy Linikov.
+ - STM32 Wakeup: Add logic for enabling wakeup pins. From Oleg Evseev.
+ - STM32 PWR: Adds stm32_pwr_getsbf and stm32_pwr_getwuf functions
+ that return the standby flag and the wakeup flag PWR power
+ control/status register. From Oleg Evseev.
+ - STM32 HRTIM: Sdd support for capture, chopper, deadtime and dump
+ registers. From Mateusz Szafoni.
+ - STM32 RTC: Canceling an alarm marks it as inactive. From Juha
+ Niskanen
+ - STM32 Serial: Add interface to get uart_dev_t by USART number,
+ stm32_serial_get_uart(). From Juha Niskanen.
+ - STM32 F33xx ADC: Initial ADC support for the STM32F33XX. From
+ Mateusz Szafoni.
+ - STM32 F33xx ADC: Add ADC DMA support to STM32F33 configuration. From
+ Mateusz Szafoni.
+ - STM32 L4 ADC: Port analog watchdog ioctl commands from the Motorola
+ MDK. From Juha Niskanen
+ - STM32 L4 ADC: Add option for routing ADC data to DFSDM, fix DFSDM
+ DMA. From Juha Niskanen
+ - STM32 L4 ADC: Add PM hooks from Motorola MDK
+ - STM32 L4 FLASH: Add function for modifying device option bytes,
+ From Juha Niskanen.
+ - STM32 L4 DFSDM: Add peripheral support for digital filters for
+ sigma-delta ADCs. Initial version. Timer trigger support is not
+ completed and there is some issue with DMA. From Juha Niskanen.
+ - STM32 L4 I2C: Port then STM32 F7 I2C driver to STM32 L4. STM32L4 I2C
+ driver is in work-in-progress state (plentiful of TODOs and
+ #warnings) and lags many features found in more up-to-date STM32 I2C
+ drivers. The peripheral on STM32F7 and STM32L4 are identical except
+ for L4's 'wakeup from stop mode' flag and STM32F7's I2C driver is in
+ more 'ready to use' state. The I2C clock configuration is kept the
+ same as before (I2CCLK = PCLK1 80 Mhz) instead of switching to
+ STM32F7 arch default that is I2CCLK=HSI. Further work would be to
+ add configuration option for choosing I2C clock source instead of
+ current hard-coded default. From Jussi Kivilinna.
+ - STM32 L4 RTC: Add up_rtc_getdatetime_with_subseconds
+ - STM32 L4 RTC: Change maximum alarm time from 24h to one month. From
+ Juha Niskanen.
+ - STM32 L4 RTC: Add support for periodic interrupts with
+ (experimental) CONFIG_RTC_PERIODIC. From Juha Niskanen.
+ - STM32 L4 SDMMC: Add support for an SDMMC driver. From Miha Vrhovnik.
+ - STM32 L4 Serial: Suspend serial for Stop mode. From Juha Niskanen.
+ - STM32 L4 Serial/PM: STM32L4 serial PM interface improvements:
+ Check rx/tx buffers for pending data in pmprepare. Remove adhoc PM
+ interfaces and move serial suspend functionality behind CONFIG_PM.
+ From Jussi Kivilinna.
+
+* STMicro STM32 Boards:
+
+ - STM32F103-Minimum: Add board support for APA102 driver. From Alan
+ Carvalho de Assis.
+ - STM32F103-Minimum: Add ADC support on stm32f103-minimum board.
+ From Alan Carvalho de Assis.
+ - STM32F103-Minimum: Add support for LM75 in the stm32f103-minimum
+ board. From Alan Carvalho de Assis.
+ - STM32F103-Minimum: Add an ADPS-9960 example configuration. From
+ Alan Carvalho de Assis.
+ - STM32F103-Minimum: Add board support for MAX7219 LED Matrix
+ controller. From Alan Carvalho de Assis.
+ - STM32F103-Minimum: Add USB MSC device initialzation to
+ stm32f103-minimum. From Alan Carvalho de Assis.
+ - STM32F103-Minimum: Add framebuffer driver initialization for
+ stm32f103-minimum board. From Alan Carvalho de Assis.
+ - STM32F103-Minimum: Add Nunchuck board support for
+ stm32f103-minimum board. From Alan Carvalho de Assis.
+ - STM32F4 Discovery: Add support for JLX12864G display on STM32F4
+ Discovery board. From Alan Carvalho de Assis.
+ - Viewtool-STM32F107: Add support to auto-mount the procfs file system.
+ - Photon: Support SPI1 and SPI3. From Anthony Merlino.
+ - STM32F334-DISCO: Add lower half driver for high power LED
+ (powerled). From Mateusz Szafoni.
+ - STM32F334-DISCO: Add flash mode support for powerled driver. From
+ Mateusz Szafoni.
+ - STM32F334-DISCO: Add powerled example configuration. From Mateusz
+ Szafoni.
+ - STM32F334-DISCO: Add lower-half driver for SMPS (buck-boost onboard
+ converter). From Mateusz Szafoni
+ - Nucleo-F334R8: Add logic for zero latency high priority interrupts
+ example. From Mateusz Szafoni.
+ - Nucleo-F334R8: Add highpri example configuration. From Mateusz
+ Szafoni.
+ - STM32 F4 Discovery: Added support for the LIS3DSH accelerometer on
+ the STM32F4 Discovery rev. C boards. From Florian Olbrich.
+ - STM32 F4 Discovery: ROMFS for STM32F4 Discovery board. From Tomasz
+ Wozniak.
+ - STM32 F4 Discovery: Add a USB MSC configuration. From Alan Carvalho
+ de Assis.
+ - STM32 F4 Discovery: RNDIS support on STM32F4Discovery + DM-STF4BB.
+ NOTE: MAC address for the host side starts 0xaa. This assignment
+ scheme should be fixed later. From Masayuki Ishikawa.
+ - STM32 F4 Discovery: Add STM32F4 Discovery board support for
+ Nunchuck joystick. From Alan Carvalho de Assis.
+ - STM3240G-EVAL: Add a configuration for testing the Framebuffer
+ character driver using the LCD framebuffer front.
+ - STM3240G-EVAL: Mount procfs if enabled.
+ - STM3240G-EVAL: Add support for pdcurses and the pdcurses demo
+ programs in the 'fb' configuration.
+ - Clicker2-STM32: Adds SD card, automount, and syslog file
+ support and fixes a few minor issues. From Anthony Merlino.
+ - Clicker2-STM32: Adds support for USB RNDIS device. From Anthony
+ Merlino.
+ - Olimex STM32-H407: Add serial support on the on-board UEXT
+ connector. Add USART6 for UEXT connector. Add nsh_uext
+ configuration and README update. From Jan PobÅÃslo.
+ - Nucleo-F410RB: Add support for the nucleo-F410RB board. From
+ Gwenhael Goavec-Merou.
+ - STM32F429i-DISCO: Add framebuffer driver initialization. Add a
+ framebuffer (fb) configuration.
+ - STM32F429i-DISCO: Add logic to auto-mount procfs. Enable procfs in
+ all configurations that use NSH.
+ - STM32F429i-DISCO: Enable support for the STMPE811 touchscreen
+ controller. Enable touchscreen and also the touchscreen testa at
+ apps/examples/touchscreen in the fb configuration.
+ - STM32F429i-DISCO: Convert NxWM configuration to use LTDC
+ framebuffer driver instead of SPI serial. Also reduce number of
+ layers from 4 to 1 in fb configuration. Only one layer is used.
+ - STM32L476-MDK: Add support for the on-board LEDs.
+ - Nucleo-L496ZG: Add DFSDM initialization. From Juha Niskanen
+ - Nucleo-L496ZG: Add support for SDMMC driver. From Miha Vrhovnik.
+ - Nucleo-L496ZG: Enable I2C4 bus with i2ctool in NSH configuration.
+ From Jussi Kivilinna.
+ - Nucleo-L496ZG: Make HSE on Nucleo-L496ZG default to enable USB.
+ From Miha Vrhovnik.
+ - Nucleo-F746ZG: Use the serial console over /dev/ttyACM0 by default.
+ The Nucleo-F746ZG doesn't come with Arduio RS-232 shield, then it is
+ better to use the serial over the /dev/ttyACM0 that is created
+ automatically when the board is plugged in the computer. From Alan
+ Carvalho de Assis.
+ - Nucleo-144: Adds support for the Nucleo-144 boards with
+ STM32F722ZE. From Bob Feretich.
+
+* ZiLOG Z80
+
+ - z80/include: compiler.h, limits.h, types.h: Update SDCC/z80 files
+ to include support for long long, inline, __FILE__, and __func__.
+
+* C Library/Header Files:
+
+ - include/: Add stdnoreturn.h. Holds definitions for the C11
+ noreturn keyword. Applies to C too.
+ - include/netinet/tcp.h: Add trivial standard tcp.h header file.
+ - libc: Add support for readv() and writev().
+ - libc: Adds tcflow().
+ - libc: Add support for sigwait().
+ - libnx: Changes to allow the font subsystem to be built without
+ enabling the entire graphics system (CONFIG_NX). Adds
+ CONFIG_NXFONTS and CONFIG_NXGLIB. Needed to duplicate some Kconfig
+ setting for NXFONTs if it can be configured and built independently
+ of NX.
+
+* Tools:
+
+ - tools/configure.sh: Add special support so that you can start with a
+ windows native configuration and install on a different host (and
+ vice versa).
+ - tools/configure.c: Duplicate new functionaity added to configure.sh.
+ - tools/configure.sh: This commit adds a -m option for macOS. For
+ anyone not aware, Apple renamed OSX to macOS recently; thus the 'm'
+ instead of 'o'. This does not change the other uses of *_OSX to
+ macOS. From jeditekunum.
+ - tools/configure.c: Update functionality to match last change to
+ tools/configure.sh.
+
+* NSH: apps/nshlib:
+
+ - apps/nshlib: mount command no long uses the non-standard OS
+ interface foreach_mountpoint(). Now simply cats /proc/fs/mount
+ when there are no arguments to the mount command.
+ - apps/nshlib: df command no long uses the non-standard OS interface
+ foreach_mountpoint(). Now simply cats /proc/fs/blocks or
+ /proc/fs/usage.
+ - apps/nshlib: The free commands no longer used mallinfo() to get
+ the state of the use heap. Two reasons: That is not useful
+ information in the kernel build. And (2) there are other memory
+ resources of interest in other configurations such as the Kernel
+ heap in PROTECTED and KERNEL builds, and the prog mem uses when
+ FLASH is used to hold modifiable data. The free command has been
+ extended to just dump the content of procfs entries and to include
+ all of these other memory resources of the procfs entries are
+ available.
+
+* Examples/Tests: apps/examples:
+
+ - apps/examples/fb: Add a simple test for the framebuffer character
+ driver..
+ - apps/examples/ostest: sem_open() now returns SEM_FAILED in the
+ event of a failure.
+ - examples/ostest: Extend cancellation test to make sure that
+ cancelable threads waiting on a message queue or on a signal can be
+ canceled.
+ - Added a simple reader example for the LIS3DSH acceleration sensor
+ on STM32F4Discovery. From Florian Olbrich.
+ - apps/examples/apa102: Add a Rainbow example for APA102 LED Strip.
+ From Alan Carvalho de Assis.
+ - apps/examples/flowc: Add a simple test of serial hardware flow
+ control.
+ - Add powerled driver example. From Mateusz Szafoni.
+ - apps/examples/ina219: A simple infinite loop that polls the INA219
+ sensor and displays the measurements. From Sebastien Lorquet.
+ - apps/examples/alarm: Add options for reading alarm value and
+ canceling it. From Juha Niskanen.
+ - Add -n samples to lm75 app and replace Centigrade with Celsius.
+ From Alan Carvalho de Assis.
+ - apps/examples/adps9960: Add ADPS-9960 example. From Alan Carvalho
+ de Assis.
+ - apps/examples/obd2: Add OBD2 example application. From Alan
+ Carvalho de Assis.
+ - apps/examples/userfs: Add a test case for verifying UserFS.
+ - apps/examples/smps: add SMPS driver example. From Mateusz Szafoni.
+ - apps/examples/pdcurses: Bring in pdcurses demos and make them
+ conform to the NuttX coding style.
+ - apps/examples/pdcurses: Add a very simple example that just shows
+ the entire character set (7-bit only). It adapts to the size of
+ the framebuffer and, hence, can be used with very tiny displays.
+ In fact it looks really dumb on big displays.
+ - apps/examples/nunchuck: Add Nunchuck example application. From
+ Alan Carvalho de Assis.
+
+* File System Utilies: apps/fsutils:
+
+ - apps/fsutils/mkfatfs: Move mkfatfs from the OS to here.
+
+* Network Utilities: apps/netutils:
+
+ - apps/netutils/netlib: Add netlib_ipv6adaptor() and
+ netlib_ipv4adaptor().
+ - apps/netutils/netlib: Add helpers for reading the routing table:
+ netlib_read_ipv4route() and netlib_read_ipv6route().
+ - apps/netutils/netlib: Add new utilities netlib_ipv[4|6]router()
+ that can be used to determine the IP address of a router that would
+ be used some some destination IP address that is not locally
+ accessible.
+ - apps/netutils/ftpc: Adds support for IPv6 and fixes various
+ transfer issues. From Anthony Merlino.
+
+* CANUtilities: apps/canutils:
+
+ - apps/canutils/libobd2: Add libobd2 for NuttX. From Alan Carvalho
+ de Assis.
+
+* Graphics: apps/graphics:
+
+ - graphics/traveler: Convert to use the framebuffer driver.
+ - apps/graphics/pdcurs34: This commit brings the public domain
+ pdcurses library into NuttX. NuttX graphics support based on the
+ framebuffer character drivers has been integrated. Input is
+ currently limited to a discrete joystick driver.
+
+* Wireless Utilities: apps/wireless:
+
+ - apps/wireless/ieee802154/i8sak: Adds socket interface support. You
+ can now use both socket or char driver to control the MAC layer.
+ From Anthony Merlino.
+ - apps/wireless/ieee802154/i8sak: Adds sniffer port option and a few
+ other get/set parameters. From Anthony Merlino.
+ - apps/wireless/ieee802154/i8sak: Changes 'notif' to 'primitive'
+ corresponding to the changes in the Kernel. From Anthony Merlino.
+ - apps/wireless/ieee802154/i8sak: Channel setting is now saved
+ locally, so when performing a startpan or assoc, the channel
+ previously set is still used, even though the MAC layer gets reset.
+ From Anthony Merlino.
+ - apps/wireless/ieee802154/i8sak: Adds ability to get/set rxonidle
+ setting for MAC layer. From Anthony Merlino.
+ - apps/wireless/ieee802154/i8shark: Adds i8shark, a sniffer "adapter"
+ that captures all 802.15.4 traffic, packages it into a Wireshark ZEP
+ packet, and sends it to a host running Wireshark From Anthony
+ Merlino.
+
+* System Utilities (apps/system)
+
+ - apps/system/ping and ping6: This commit removes the ping and ping6
+ commands from NSH and replaces then with the apps/system/ping and
+ apps/system/ping6 built-in commands. The NSH ping[6] commands had
+ to be removed because they violated the portable POSIX OS interface.
+ The apps/system/png and ping6 command uses the sem-standard
+ IPPROTO_ICMP and IPPROTO_ICMP6 socket interfaces.
+
+* Platform-Specific Support (apps/platform)
+</code></pre></div></div>
+
+<p>Bugfixes. Only the most critical bugfixes are listed here (see the
+ChangeLog for the complete list of bugfixes and for additional, more
+detailed bugfix information):</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - Task Environment Creation: Fix an error in the duplication of the
+ child tasks environment in the special case where the parent's
+ environment was created, but then all of the variables were unset.
+ In that case, there is still an allocation in place but the size of
+ the allocation is zero. This case was not being handled correctly
+ when a child task attempts to create its environment and inherit the
+ zero-size partent environment. Noted by Anthony Merlino.
+ - timer_create(): Fix watchdog resource leak if cannot allocate a new
+ timer. From Bruno Herrera.
+ - OS Internal Functions: Internal OS functions should not return error
+ information via the user errno variable: This includes functions
+ like file_seek(), file_read(), file_write(), etc. The complete list
+ is too long to duplicate here (please refer to the ChangeLog for
+ details).
+ - OS Internal Functions: Not only should internal OS functions not
+ modify the errno variable, they should never introduce cancellation
+ points: psock_connect(), psock_listen(), psock_getsockopt(), etc.
+ The list is too long to duplicate here (please refer to the
+ ChangeLog for details).
+ - OS Internal Functions: Create OS internal versions of many
+ applications functions that were used by the OS. The new versions
+ differ from the application interfaces in that (1) they do not
+ return error information via the errno variable, and (2) they never
+ create cancellation points. This includes new internal interfaces
+ like nxsem_init() that is like sem_init(), etc. There are too many
+ to list here (see the ChangeLog for details).
+ - Task Exit: task_exithook.c fails to link if signals are disabled
+ because was unconditionally trying to send the SIGCHLD signal to the
+ parent in certain configurations. Noted by Jeongchan Kim.
+ - memalign(): Fix heap corruption caused by using unaligned chunk
+ size. Unaligned nodes generated by memalign later cause heap
+ corruptions when nodes are shrink further (for example, 24 bytes ->
+ 8 bytes, when alignment is 16 bytes). From Jussi Kivilinna.
+ - SMP: In sched/sched/sched_cpuselect.c, in order to find the cpu
+ with the lowest priority thread, we have to remember the already
+ found lowest priority. Noted by Anonymous in Issue #75.
+ - spinlocks: Disable local interrupts in spin_setbit() and
+ spin_clrbit() in order to avoid a deadlock condition. From Masayuki
+ Ishikawa.
+ - atexit()/on_exit(): Clear atexit()/on_exit() function pointer
+ before calling it. On most archs, up_assert() calls exit() so
+ without this change, if atexit() function triggers an assertion we
+ are in endless loop. From Juha Niskanen.
+
+* File System/Block and MTD Drivers:
+
+ - tmpfs: Fixed directory unlocking in tmpfs_opendir. From Dmitriy
+ Linikov.
+ - fcntl(): fcntl() did not return success fail for F_SETFL. Reported
+ by Jussi Kivilinna.
+ - tcdrain(): tcdrain() was recently added to the NuttX C library.
+ But there is a problem. The specification of tcdrain() requires
+ that it be a cancellation point. In order to do this, tcdrain was
+ moved from the C library into the OS and the addition cancellation
+ point hooks were added. In non-FLAT builds, access via system calls
+ is also now supported.
+ - FS FAT: Fix hard-fault when listing contents of FAT root. From
+ Jussi Kivilinna.
+ - procfs: Correct a problem that was causing an apparent directory to
+ be reported as a file instead of a directory by opendir. This
+ happened after adding these three new procfs entries: fs/block,
+ fs/mount, and fs/usage. Of course, there is no directory fs in this
+ case, only three files that have fs/ in their relative pathnames.
+ The logic was detecting that fs was the name of the enty to report,
+ but it was then declaring that fs was a file (because fs/block is of
+ type file). This was fixed by adding a check for matching lenghts.
+ i.e., if strlen(fs) != strlen(fs/block), then report fs as a
+ directory instead of a file.
+ - procfs: Fix uptime being clse to maximum 32-bit value in certain
+ config. From Juha Niskanen.
+
+* Binary Loader:
+
+ - binfmt/: Don't schedule starthook if there are no constructors.
+
+* Graphics/Display Drivers:
+
+ - LCD: ILI9341 initialize method not permitted to set errno.
+
+* Networking/Network Drivers:
+
+ - Networking: net/netdev/netdev_ifconfig.c: Was not returning all of
+ the address info.
+ - Networking: In some cases, packets are still not sent behind the
+ router. I found that NuttX sends the ARP requests not to the router
+ but to the target. Mistake in file net/route/netdev_router.c. From
+ Aleksandr Kazantsev.
+ - SIOCGIFCONF and SIOCGLIFCONF IOCTL commands should only report on
+ network adatpors in the UP state.
+ - recvfrom(): Fix double leave_cancellation_point on error path.
+ From Jussi Kivilinna.
+ - send(): Verify that sock descriptor is valid. Fixes assertion when
+ using send on closed socket. From Jussi Kivilinna.
+ - sendto(): Remove assert check for null psock and buf input
+ pointers. Removes check as 'psock == NULL' altogether because that
+ checked for later in psock_send and psock_sendto. Change null check
+ for 'buf' so that it is handled same as in recvfrom.c (return
+ -EINVAL instead of assert). From Jussi Kivilinna.
+ - sockgetname() files need to include udp/udp.h and tcp/tcp.h or
+ otherwise NET_UDP_HAVE_STACK and NET_TCP_HAVE_STACK are undefined
+ and the logic is never compiled. Noted by Anthony Merlino.
+ - dup()/dup2(): There was a reference counting problem in the TPC
+ logic of net_clone(). net_clone() which is the common logic
+ underlying dup() and dup2() for sockets. When net_clone() calls
+ net_start_monitor() and net_start_monitor() returns a failure
+ (because the underlying TCP connection) then net_clone() must back
+ out the reference count on the structure. Problem noted by Pascal
+ Speck and this implementation of the solution is based on his
+ suggestion.
+ - close(): There was a possible recursion that could eventually
+ overflow the stack. The error occurred when closing the socket with
+ inet_close() while a socket callback was still queued. When the
+ socket callback was executed by devif_conn_event(), this resulted in
+ a call to psock_send_eventhandler() with TCP_CLOSE flag set which
+ then called tcp_lost_connection(). tcp_shutdown_monitor() then
+ called tcp_callback() again, which again called
+ psock_send_eventhandler(), and so on.... Noted by Pascal Speck.
+ Solution is also similar to a solution proposed by Pascal Speck.
+ - inet: Add check for protocol before handing out TCP and UDP sockets.
+ - IP Forwarding: Fixes typo that caused build error when IP
+ forwarding was enabled with CONFIG_NET_ICMPv6_NEIGHBOR enabled as
+ well. From Anthony Merlino.
+ - IP Forwarding: Do not add link layer header size to d_len inside
+ devif_forward(). From Anthony Merlino.
+ - TCP Networking: When CONFIG_NET_TCP_WRITE_BUFF=y there is a
+ situation where a NULL pointer may be dereferenced. In this
+ configuration, the TCP connection's 'semi-permanent' callback,
+ s_sndcb was nullified in tcp_close_disconnect. However, other logic
+ in tcp_lost_connection() attempt to use that callback reference
+ after it was nullifed. Fixed in tcp_lost_connectino() by adding a
+ NULL pointer change before the access. This was reported by Dmitriy
+ Linikov in Bitbucket Issue 72.
+ - UDP Broadcat: Fix some issues with regard to UDP broadcast
+ handling. This is Bitbucket Issue #77.
+ - ICMP: Fix an error in the poll logic. It was assumed that the
+ input parmeter pvconn was valid. It was not. Instead, the poll
+ logic must work like the sendto() and recvfrom() logic: It must
+ keep a copy of the conn structure in the private data.
+ - ICMPv6: Fixes several errors preventing icmpv6_radvertise.c from
+ being compiled. Fixes conversions to network byte order (namely
+ vlifetime, plifetime, mtu). IPv6 source address is set to
+ link-local IP address instead of the address in the netdev
+ structure. This is in compliance to RFC 4861. RA didn't work on
+ Linux before this change. Finally, router prefix and prefix length
+ are derived from the IPv6 address and netmask in the netdev
+ structure. This seems to make more sense than using a predefined,
+ separate prefix from the config. From Sakari Kapanen.
+ - ICMPV6: icmpv6_input() needs to set d_len to 0 after consuming echo
+ reply, otherwise, garbage will get sent out. From Anthony Merlino.
+ - ICMPV6: Fix an error in the poll logic. It was assumed that the
+ input parmeter pvconn was valid. It was not. Instead, the poll
+ logic must work like the sendto() and recvfrom() logic: It must
+ keep a copy of the conn structure in the private data.
+ - IGMPv2 Send: Fix incoming IGMP checksum calculation. From Louis
+ Mayencourt.
+ - ARP: Fix IGMP Ethernet address computation. From Louis Mayencourt.
+
+* Wireless/Wireless Drivers:
+
+ - CC1101: CC1101 driver not permitted to set errno.
+ - 6LoWPAN: Correct an error in uncompressing multicast address.
+ - 6LoWPAN: Correct a bug in handling uncompressed frames (IPv6
+ dispatch). Adds a separate local variable, protosize, to keep track
+ of the size of thep protocol header.
+ - 6LoWPAN: Fix an endian-ness problem in 6LoWPAN address
+ decompression. From Anthony Merlino.
+ - 6LoWPAN: The logic that extracts interface identifier from the IP
+ address needs to be generalized to handle cases where the address is
+ not a link local address. From Anthony Merlino.
+
+* Common Drivers:
+
+ - Serial: 16550 UART driver IOCTL method must not set errno; it must
+ return a negated errno value.
+ - LIS3DSH: Added the argument parameter (FAR void *arg) to the
+ interrupt handler provided by the LIS3DSH driver to fit the
+ definition for ISRs in xcpt_t. Changed the check for working queue
+ availability in lis3dsh interrupt handler to use work_available()
+ and not crash in case of an overrun. From Florian Olbrich.
+ - LIS2DH: Fixes for self-test. From Jussi Kivilinna.
+ - LIS2DH: Fix use of obsolete dbg macro. From Jussi Kivilinna.
+ - LIS331DL: LIS331DL driver not permitted to set errno.
+ - HTS221: Power-on sensor for loading calibration data. From Jussi
+ Kivilinna.
+ - MCP2515: Fix the MCP2515 Bit Rate Prescale calculation. Fix BRP
+ for SET_BITTIMING ioctl as well. From Alan Carvalho de Assis.
+ - STMPE811: Fix GPIO operation of STMPE811 driver.
+ 1. STMPE811_GPIO_DIR was defined for register name and later was
+ redefined to be the pin direction mask for `stmpe811_gpioconfig`.
+ I decided to change register name to be STMPE811_GPIO_DIR_REG, and
+ keep pin direction mask STMPE811_GPIO_DIR, so that any external
+ code that already use this driver will be unchanged.
+ 2. The STMPE811 register GPIO_DIR uses bit value 1 for output and 0
+ for input, but `stmpe811_gpioconfig` set the opposite.
+ 3. The call to `stmpe811_gpiowrite` from inside of
+ `stmpe811_gpioconfig` leaded to deadlock.
+ From Dmitriy Linikov.
+ - BQ2429X: Add BATIO_OPRTN_SYSON for enabling BATFET after SYSOFF.
+ From Jussi Kivilinna.
+
+* Simulation:
+
+ - Simulation: Serial and console drivers are not permitted to set
+ the errno.
+
+* ARMv7-M:
+
+ - ARM Stack Check: Fix assert panic when both TLS and interrupt stack
+ are enable. From Jussi Kivilinna.
+
+* Expressif ESP32:
+
+* Infineon XMC4xxx Drivers:
+
+ - XMC4 USIC: Kconfig was not selecting XMC4_USIC for USIC1. From Alan
+ Carvalho de Assis.
+ - XMC4 UART: Fix XMC4xxx USIC UART sginal to be high level when in idle.
+ From Alan Carvalho de Assis.
+ - XMC4 UART:xmc4_uart_configure() expects the channel# not uartbase as
+ an input parameter. From Alan Carvalho de Assis.
+ - XMC4 UART: Enable RX/TX status. From Alan Carvalho de Assis.
+ - XMC4 UART: The Alternative Receive Interrupt was not being
+ configured.
+
+* Infineon XMC4xxx Boards:
+
+ - XMC4500-Relax: Setup max. freq. 120MHz and setup pull-up to UART
+ RXD pin. From Alan Carvalho de Assis.
+
+* Microchip/Atmel SAMv7 Drivers:
+
+ - SAMv7: DAC and ADC drivers are not permitted to set the errno.
+ - SAMv7: Correct an error in RX DMA setup. From Manish Kumar Sharma.
+ - SAMv7 USB: It is necessary to disable pre-emption and interrupts
+ around a loop that copies TX data into the hardware in order to
+ avoid a TX data underrun condition. From Anthony Merlino.
+
+* NXP/Freescale LPC31xx Drivers:
+
+ - LPC31xx: Serial and console drivers are not permitted to set
+ the errno.
+
+* NXP/Freescale LPC43xx:
+
+ - lpc43xx: lpc43_adc.c was being selected by the build system wehn
+ DAC was selected.
+
+* NXP/Freescale LPC43xx Drivers:
+
+ - LPC43xx Ethernet: Fix some backward logic setting full-duplex and
+ 100mbps when autoconfiguration is disabled. Noted by Anonymous in
+ Issue #76.
+ - lpc43xx: UART_RX pins should be configured with input buffers
+ enabled. Otherwise it cannot be read. From Alexander Vasiljev.
+
+* STMicro STM32:
+
+ - STM32 F2: Fixed build for STM32F20XX platforms when
+ CONFIG_STM32_DMACAPABLE is enabled. From Dmitriy Linikov.
+ - STM32 F4: Remove ltdc.h and dma2d.h. Those header files in that
+ location permitted inclusion into application space logic and,
+ hence, facilitated and encouraged calling into the OS and violating
+ the portable POSIX OS interface. The definitions in those header
+ files were move the appropriate location in the counterpart,
+ architecture specific files at arch/arm/src/stm32/dma2d.h and ltdc.h.
+ - STM32 L4: Build stm32l4_idle.c only if CONFIG_ARCH_IDLE_CUSTOM is
+ not enabled. From Jussi Kivilinna.
+ - STM32 F7: Remove ltdc.h and dma2d.h. Those header files in that
+ location permitted inclusion into application space logic and,
+ hence, facilitated and encouraged calling into the OS and violating
+ the portable POSIX OS interface. The definitions in those header
+ files were move the appropriate location in the counterpart,
+ architecture specific files at arch/arm/src/stm32f7/dma2d.h and
+ ltdc.h.
+
+* STMicro STM32 Drivers:
+
+ - STM32: DAC and ADC drivers are not permitted to set the errno.
+ - STM32 ADC: Clear pending interrupts. From Mateusz Szafoni.
+ - STM32 CAN: Lower part of STM32 CAN driver
+ arch/arm/src/stm32/stm32_can.c uses all three hw tx mailboxes and
+ clears TXFP bit in the CAN_MCR register (it means transmission order
+ is defined by identifier and mailbox number).
+ This creates situation when order frames are put in upper part of
+ CAN driver (via can_write) and order frames are sent on bus can be
+ different (and I experience this in wild). Since CAN driver API
+ pretends to be "file like" I expect data to be read from fd the same
+ order it is written. So I consider described behaviour to be a bug.
+ Fixed by settin the TXFP bit in the CAN_MCR register (FIFO
+ transmit order). From comments by Alexey T, in Bitbucket Issue 73.
+ - STM32 HRTIM: Fix pclk calculation. From Mateusz Szafoni.
+ - STM32 HRTIM: Fix burst mode prescaler update. From Mateusz Szafoni.
+ - STM32 (alt) I2C: Ensure proper error handling. Injecting data
+ errors would cause the driver to continually reenter the isr with
+ BERR an RxNE. This fix allows the error to be cleared and
+ propagated to the waiting task. From David Sidrane.
+ - STM32: LTDC and DMA2D drivers are not permitted to set the errno.
+ - STM32 RTC: Workaround for potential subseconds race condition. In
+ all recent STM32 chips reading either RTC_SSR or RTC_TR is supposed
+ to lock the values in the higher-order calendar shadow registers
+ until RTC_DR is read. However many old chips have in their errata
+ this silicon bug (at least F401xB/C, F42xx, F43xx, L15xxE, L15xVD
+ and likely others): "When reading the calendar registers with
+ BYPSHAD=0, the RTC_TR and RTC_DR registers may not be locked after
+ reading the RTC_SSR register. This happens if the read operation is
+ initiated one APB clock period before the shadow registers are
+ updated. This can result in a non-consistency of the three
+ registers. Similarly, RTC_DR register can be updated after reading
+ the RTC_TR register instead of being locked."
+ - STM32 Serial: Do not stop processing input in SW flow-control
+ mode. From Juha Niskanen.
+ - STM32F33xxx ADC: Add some publicly visable interfaces and some
+ code to support injected channels. From Mateusz Szafoni.
+ - STM32F33xxx DMA: Add public interface to handle with DMA
+ interrupts. From Mateusz Szafoni.
+ - STM32F33xxx RCC: Fix CAN clock enable. From Mateusz Szafoni.
+ - stm32 F4 I2C: Ensure proper interrupt handling. Injecting data
+ errors that causes a STOP to be perceived by the driver, will
+ continually re-enter the isr with SB not set and BTF and RxNE set.
+ This changes allows the interrupts to be cleared and propagates a
+ I2C_SR1_TIMEOUT to the waiting task. From David Sidrane.
+ - STM32 L4 Serial: Do not stop processing input in SW flow-control
+ mode. From Juha Niskanen.
+ - STM32 F7: LTDC and DMA2D drivers are not permitted to set the errno.
+ - STM32 L4: DAC and ADC drivers are not permitted to set the errno.
+ - STM32 L4 DAC: Do not configure output pin if it is not used. From
+ Juha Niskanen.
+ - STM32 L4 RTC, PM: Small fixes to subseconds handling, ADC
+ power-management hooks
+ - STM32 F4 RTC: Fix reading alarm value that is more than 24h in
+ future. From Juha Niskanen
+ - STM32 L4 RTC: Fix reading alarm value that is more than 24h in
+ future. From Juha Niskanen
+ - STM32 L4 TIM: Fix compilation of timers with complementary outputs
+ when not PWM_MULTICHAN. From Juha Niskanen.
+ - STM32 L4 RCC: Restore backup-registers after backup-domain reset.
+ From Jussi Kivilinna.
+ - STM32 L4 RTC: Correct RTC_SSR and RTC_TR read ordering. In all
+ recent STM32 chips reading either RTC_SSR or RTC_TR is supposed to
+ lock the values in the higher-order calendar shadow registers until
+ RTC_DR is read. Change the register read ordering to match this and
+ don't keep a workaround for a hypothetical race condition (not in
+ any L4 errata, lets for once assume ST's silicon works as it is
+ documented...)
+ - STM32 L4 RTC: Init mode was never exited because nested locking in
+ rtc_synchwait() disabled backup domain access. From Juha Niskanen.
+ - STM32 L4 RTC: Use backup register magic value instead of INITS
+ bit. The INITS (bit 4) of RTC_ISR register cannot be used to
+ reliably detect backup domain reset. This is because we can operate
+ our device without ever initializing the year field in the RTC
+ calendar if our application does not care about correct date being
+ set. Hardware also clears the bit when RTC date is set back to year
+ 2000. From Juha Niskanen.
+ - STM32 L4 RTC: Put back the SSR race condition workaround. ST has
+ confirmed that the issue has not been fixed, and that it applies to
+ STM32 L4 too (was not in errata sheets due to documentation bug) See
+ discussion: https://community.st.com/thread/43710-issue-with-rtc-maximum-time-resolution .
+ From Juha Niskanen.
+ - STM32 F7 BBSRAM: Avoid assert in stm32_bbsram_savepanic. If panic
+ happens before stm32_bbsram is initialized, stm32_bbsram_savepanic
+ caused additional assert panic. Function has null pointer check, so
+ drop DEBUGASSERT. From Jussi Kivilinna.
+ - STM32 F7 I2C: fix I2C_M_NORESTART handling. From Jussi Kivilinna.
+ - STM32 F7 I2C: Restore bus frequency after I2C reset. Copy
+ frequency restoration fix from STM32L4 I2C driver to STM32F7 I2C
+ driver. From Jussi Kivilinna.
+ - STM32 F7 RTC: Fix reading alarm value that is more than 24h in
+ future. From Juha Niskanen
+
+* STMicro STM32 Boards:
+
+ - STM32F334-DISCO: Add missing ram_vectors configuration in linker
+ script. From Mateusz Szafoni.
+ - Nucleo-F334R8: Add missing ram_vectors configuration in linker
+ script. From Mateusz Szafoni.
+ - Nucleo-F334R8: Add Missing ADC trigger configuration tot he highpri
+ configuration. From Mateusz Szafoni.
+ - STM3240G-EVAL: The timer frequencies (BOARD_TIMx_FREQUENCY) are
+ incorrectly defined in board.h. Since the APB prescalers are set to
+ divide by 4 and 2 respectively, the frequencies should be "2xAPBx"
+ as said in the comment. The correct frequencies are already defined
+ but as STM32_APBx_TIMx_CLKIN. From Mattias Edlund.
+ - STM32F429i-DISCO: The ltdc configuration has been deleted because
+ it violated the portable POSIX OS interface. It used
+ apps/examples/ltdc and include ltdc.h and dma2d.h which were also
+ removed for the same reason.
+
+* ZiLOG Z80
+
+ - configs/z80sim and xtrs: Serial driver lower halfs ioctl methods
+ should return a negated errno value, not set the errno variable.
+ - z80 Make.defs: Fixes dependency generation with newest SDCC
+ compiler.
+ - configs/z80sim: Fix a naming problem. Also, don't try to build the
+ serial driver if CONFIG_NFILE_DESCRIPTOR=0.
+ - Z80: Makefile fix for use with current SDCC.
+
+* Build System
+
+ - configs/: All defconfig filess that include
+ CONFIG_NET_ICMPv6_SOCKET=y need to select CONFIG_SYSTEM_PING6=y and
+ deselect CONFIG_DISABLE_POLL.
+ - configs/: All NX configuration... Because of recent changes to
+ libnx/nxfonts, Supported bit per pixel must be separated specified
+ for NXFONTs too and need to match the select BPP for NX.
+ - Build system: Fix CONFIG_BUILD_KERNEL logic directories that have
+ ubin and kbin subdirectories. Conditional logic was fine for
+ CONFIG_BUILD_FLAT and CONFIG_BUILD_PROTECTED but generated useless
+ dependencies if CONFIG_BUILD_KERNEL.
+
+* C Library/Header Files:
+
+ - libc/stdio: Build the lib_noflush() and lib_snoflush() stubs even
+ if CONFIG_FILE_DESCRIPTORS=0. They may still be needed.
+ - libc and libnx: When the libraries are built into two libraries, a
+ user space library and a OS space library (as in the PROTECTED and
+ KERNEL build). Then the user space library must not use the OS
+ internal interfaces; similarly, the OS must avoid using the
+ userspace interfaces so that it does not muck the errno value or
+ create spurious cancellation points.
+ - libc/match: Use of exp() vs expf() in logf() caused function to be
+ slow. From Alan Carvalho de Assis.
+ - libnx: Fixes a memory leak that is caused because the client message
+ queue is not unlinked after the client disconnects from the NX
+ server. From Masayuki Ishikawa.
+ - sscanf(): Fix sscanf() character conversion (%c): do not add '\0' at
+ the end as for strings, cause, for example, parsing one character
+ will fill two bytes: character itself and zero one '\0' after it, so
+ will overflow one byte variable argument and corrupt memory for
+ variables allocated after it. From Oleg Evseev.
+
+* Tools
+
+ - tools/: configure.sh and configure.c should redirect stdout to
+ /dev/null but should not suppress stderr output.
+
+* NSH: apps/nshlib:
+
+ - apps/nshlib/: Avoid truncating the strcmp result in the parser
+ into a unsigned char variable. nshlib/nsh_netcmds.c: Check for
+ valid hostip before using it. From Bruno Herrera.
+ - apps/nshlib/: Fix resouce leak in 'dd' commenad when 'if=' or
+ 'of=' params are repeated in the command line. For example:
+ dd if=/dev/null if=/dev/zero of=/dev/null or
+ dd if=/dev/zero of=/dev/zero of=/dev/null. From Bruno Herrera.
+ - apps/nshlib: This commit eliminates the ping and ping6 commands
+ from NSH and replaces them with 'built-in' commands at
+ apps/system/ping and ping6. The original NSH version of ping[6]
+ commands violated the portable POSIX interface and, hence, had to
+ be removed. The new system/ping and ping6 built-in commands uses
+ the new IPPROTO_ICMP AF_INET and IPPROTO_ICMP6 AF_INET6 datagram
+ sockets to implement ping.
+ - apps/nshlib: Fix parsing of empty strings when CONFIG_NSH_CMDPARMS
+ is not defined. Problem noted by Juha Niskanen.
+
+* Examples/Tests: apps/examples:
+
+ - All configurations that use NXIMAGE or NXHELLO must select
+ NX_MULTIUSER. All configuratinos that use examples/nxterm must
+ enable CONFIG_LIB_BOARDCTL.
+ - All configurations that use NXLINES must select NX_MULTIUSER. All
+ configurations that use the NX server need to have larger POSIX
+ messages.
+ - apps/examples/adc: Fix g_adcstate.count initialization. From
+ Masayuki Ishikawa.
+ - apps/examples/elf: Remove low-level interfaces and replace with
+ call to exec().
+ - apps/examples/nxflat: Remove low-level interfaces and replace with
+ call to exec().
+ - examples/ostest: Works around a bug in printf() when cancellation
+ points are enabled. printf() is a cancellation point because it
+ calls write(). This is correct according to OpenGroup.org.
+ However, printf holds the stdio library semaphore when it is
+ canceled and this leaves the semaphore in a bad state. No fix for
+ the printf bug yet.
+ - apps/examples/nx: The NX example no longer supports single user
+ mode.
+ - apps/examples/nxtext: The nxtext example no longer supports single
+ user mode.
+ - apps/examples/nxhello now supports only multiuser mode.
+ - apps/examples/nximage now supports only multiuser mode.
+ - examples/nxlines: Now supports only multiuser mode.
+
+* Network Utilies: apps/netutils:
+
+ - apps/netutils/ftpc: Fix some crazy comparisons to determine is a
+ file is an absolute path. Noted by Anthony Merlino.
+
+* System Unitilities (apps/system)
+
+ - apps/system/i2ctool: Fixed i2ctool write operation in `no restart`
+ mode (flag `-n`). It seems that I2C driver has changed a bit since
+ i2ctool was written, so now i2ctool sends repeated start even if
+ `no restart` flag (-n) was passed to it. From Dmitriy Linikov.
+</code></pre></div></div>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2020 </p>-->
+ <footer class="site-footer">
+ <div class="wrapper">
+ <div class="footer-col-wrapper">
+
+ Apache NuttX is an effort undergoing <a href="https://incubator.apache.org/index.html">Incubation</a>
+ at The Apache Software Foundation (ASF), sponsored by the 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.
+ <hr>
+
+ <div style="text-align:center;">
+
+ <div style="margin-top: 20px; margin-bottom: 20px;">
+ <a href="http://incubator.apache.org"><img src="/assets/themes/apache/img/egg-logo.png"
+ alt="Apache Incubator"/></a>
+ </div>
+
+ <div>
+ Copyright © 2019 <a href="http://www.apache.org">The Apache Software Foundation</a>.
+ Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
+ 2.0</a>.
+ <br>
+
+ Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+ Software Foundation.
+
+ </div>
+ </div>
+ </div>
+ </div>
+</footer>
+
+ </footer>
+ </div>
+
+
+ <script src="/assets/themes/apache/jquery/jquery-2.1.1.min.js"></script>
+
+ <script src="/assets/themes/apache/bootstrap/js/bootstrap.min.js"></script>
+
+
+ </body>
+</html>
+
diff --git a/content/releases/7.24/index.html b/content/releases/7.24/index.html
new file mode 100644
index 0000000..1fdee5d
--- /dev/null
+++ b/content/releases/7.24/index.html
@@ -0,0 +1,892 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>7.24</title>
+
+ <meta name="author" content="">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le styles -->
+ <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+ -->
+
+ </head>
+
+ <body>
+
+ <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <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>
+ <a class="navbar-brand" href="/">
+ <img src="/assets/themes/apache/img/logo.png" width="30">
+ Apache NuttX
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav navbar-right">
+ <li id="community">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
+ <ul class="dropdown-menu dropdown-left">
+ <li><a href="/community">Get Involved</a></li>
+ <li><a href="/community-members">Who we are</a></li>
+ </ul>
+ </li>
+ <li><a href="https://github.com/apache/incubator-nuttx">GitHub</a></li>
+ <li id="apache">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ <li><a href="http://www.apache.org/events/current-event">Events</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+
+ <div class="container">
+
+
+<!--<div class="hero-unit 7.24">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <!--
+
+-->
+
+<h2 id="nuttx-724-release-notes">NuttX-7.24 Release Notes</h2>
+
+<p>The 124th release of NuttX, Version 7.24, was made on March 2, 2018,
+and is available for download from the Bitbucket.org website. Note
+that release consists of two tarballs: nuttx-7.24.tar.gz and
+apps-7.24.tar.gz. These are available from:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://bitbucket.org/nuttx/nuttx/downloads
+https://bitbucket.org/nuttx/apps/downloads
+</code></pre></div></div>
+
+<p>Both may be needed (see the top-level nuttx/README.txt file for build
+information).</p>
+
+<p>Additional new features and extended functionality:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - SMP: Introduce spin_lock_irqsave() and spin_unlock_irqrestore().
+ These APIs are simplified version of enter_critical_section()
+ and leave_critical_section() to protect data (e.g. registers) in
+ SMP mode. By using these APIs inside drivers, performance will
+ be improved. From Masayuki Ishikawa.
+ - System Timer: Replace critical section APIs with spinlock APIs.
+ (64bit only). If SMP=n or SMP=y && SPINLOCK_IRQ=n, this works
+ in the same way as before. If SMP=y && SPINLOCK_IRQ=y, performance
+ will be improved. From Masayuki Ishikawa.
+ - POSIX Timers: Replace critical section APIs with spin lock APIs in
+ clock_gettime.c. This change will improve performance for SMP
+ systems but nothing changes for non-SMP systems. In SMP mode,
+ the running TCB is not always at the g_readytorun.head. From
+ Masayuki Ishikawa.
+ - SMP: Introduce spin_lock_wo_note() and spin_unlock_wo_note(). These
+ APIs are used in sched_note.c to protect instrumentation data. The
+ difference between these APIs to exsiting spin_lock() and
+ spin_unlock() is that they do not perform instrumentation to avoid
+ recursive call when SCHED_INSTRUMENTATION_SPINLOCKS=y. From
+ Masayuki Ishikawa.
+ - Interrupts: Add a configuration option to show interrupt
+ information via a procfs file.
+
+* File Systems/Block and MTD Drivers
+
+ - VFS: Add support for truncate() and ftruncate().
+ - FAT, SmartFS, UserFS, UnionFS, TmpFS, NFS: Add truncate() support.
+ - FAT. Effectively handles the situation when a new file position is
+ within the current sector. Accelerates the work of the FS with a
+ multitude of operations to write small pieces of data within the
+ current sector. From Aleksandr Vyhovanec.
+
+* Graphics/Display Drivers:
+
+ - HiletGo OLED: Add configuration support for HiletGo SSD1306 OLED.
+ - lcd/ft80x: This commit adds an FTDI/BridgeTek FT80x GUI driver. It
+ is untested (I don't even have hardware yet) and, hence, it is
+ marked as EXPERIMENTAL).
+
+* Networking/Network Drivers:
+
+ - 6LoWPAN: Adds configuration options for specifying preloaded
+ address contexts for compression From Anthony Merlino.
+ - TCP: Introduce tcp receive window control based on I/O buffer.
+ NOTE: The algorithm is still experimental but useful for http
+ streaming. From Masayuki Ishikawa.
+ - UDP: Add an implementation of UDP write buffering.
+ - Routing Tables: Adding ftruncate() support eliminates an issue
+ in file-based routing table management system.
+ - Telnet: Add support for Telnet character mode From Masayuki
+ Ishikawa.
+
+* Other Common Device Drivers:
+
+ - drivers/input/ft5x06.c: Add a driver for the FT5x06 capacitive,
+ multi-touch, touchscreen controller.
+ - drivers/input/ft5x06: Add a polled mode of operation for the FT5x06
+ in attempt to work around the fact that the LPCXpresso-LPC54628
+ chose a non-interrupt pin for the FT5x06 interrupt. Driver is still
+ not yet functional.
+ - drivers/power/bq2429x.c: Add trickle charging mode From Juha
+ Niskanen.
+ - drivers/sensors: Add support to MAX44009 ambient light sensor.
+ From Juha Niskanen.
+ - drivers/sensors: Added support for LIS3DH accelerometer sensor.
+ From Matt Thompson.
+ - drivers/eeprom: EEPROM driver for AT24xx compatible EEPROMs.
+ From Sebastien Lorquet.
+
+* Simulation
+
+ - sim: Add support for a RAM MTD driver and initialization for use
+ with SmartFS.
+ - sim: Add support for testing NXFFS.
+
+* ARM:
+
+ - ARMv7-A, ARMv7-R, ARMv7-M: Add atomic read-add-write and
+ read-subtract-write functions.
+
+* Infineon XMC4xxx:
+
+ - XMC4xxx: Refactor PLL setup, refactored PLL/CLK config, easier,
+ checks for correctness, call go_os_start if STACK_COLORIZED, smarter
+ config of EXTCLK output freq. From David Alessio.
+
+* Infineon XMC4xxx Boards:
+
+ - Add FPU to xmc4 ostest. Remove +x from makefiles, preserve
+ .gdbinit across make clean, add FPU support to ostest on xmc4,
+ add FPU test to ostest on xmc4 From David Alessio.
+
+* Microchip/Atmel SAMD/L Drivers:
+
+ - SAMD: SAMD External Interrupt Controller (EIC) support From Matt
+ Thompson.
+ - SAMD/L: Added Analog Comparator basic initialization From Matt
+ Thompson.
+ - SAMD/L: Added FDPLL clock support. Fixed sequence of OSC32K
+ calibration setup. From Matt Thompson.
+ - SAMD/L: Added loading factory USB calibration data from NVRAM.
+ From Matt Thompson.
+ - SAMD/L: Added experimental DMA support to SPI driver. spi_exchange()
+ uses a pair of DMA channels for TX and RX. From Matt Thompson.
+
+* Microchip/Atmel SAM3/4 Boards:
+
+ - Flip&Click SAM3X: Add board support for the Mikroe Flip&Click
+ SAM3X.
+ - Flip&Click SAM3X: Adds basic board support for the HiletGo OLED.
+
+* Microchip PIC32MZ
+
+ - PIC32MZEF: Add architectural support for the PIC32MZEF family.
+
+* Microchip PIC32MZ Boards
+
+ - Flip&Click PIC32MZ: Adds board support for the Mikroe Flip&Click
+ PIC32MZ board.
+ - Flip&Click PIC32MZ: Add board support for HiletGo OLED.
+ - Flip&Click PIC32MZ: Add an nxlines configuration for use in
+ testing the custom HiletGo Click board.
+
+* NXP Freescale LPC43xx Drivers:
+
+ - LPC43xx: Adapt LPC176x RTC driver for the LPC43xx. From Gintaras
+ Drukteinis.
+ - LPC43xx: Add Windowed Watchdog Timer (WWDT) driver. Tested on
+ LPC4357 but should be compatible for all LPC43xx MCUs.
+ From Gintaras Drukteinis.
+ - Leverage the LPC54xx SD/MMC back to the LPC43xx (where it came from
+ originally).
+
+* NXP Freescale LPC43xx Boards:
+
+ - Bambino-200e: Add LPC43 SDMMC board support to Bambino-200E. From
+ Alan Carvalho de Assis.
+
+* NXP Freescale LPC54xx:
+
+ - LPC546xx: Added basic architectural support for the LPC546xx
+ family.
+
+* NXP Freescale LPC54xx Drivers:
+
+ - LPC546xx: Basic NSH configuration includes support for UARTs,
+ SysTick timer, GPIOs, LEDs, and buttons
+ - LPC546xx: Additional drivers include EMC, I2C, Ethernet
+ - LPC546xx: Implement GPIO interrupt support.
+ - LPC546xx: And unverified SPI driver is included.
+ - LPC546xx: Ported LPC1788 LCD driver to use the LPC54xx pin.
+ - LPC546xx: Bring in LPC43xx SD/MMC driver from
+ https://github.com/Smoothieware/smoothie-nuttx/tree/master/nuttx/arch/arm/src/lpc43xx
+ and adapt for use with the LPC43xx
+ - LPC546xx: Add DMA driver ported from the LPC43xx GPDMA driver.
+ - LPC546xx: Bring in WWDT driver from LPC43.
+ - LPC546xx: Add an RTC driver and a RTC character driver lower half.
+ - LPC546xx: Add support for a random number generator.
+ - LPC546xx: Add an Ethernet driver.
+
+* NXP Freescale LP54xx Boards:
+
+ - LCXpresso-LPC54628: Added support for the LPCXpresso-LPC54628
+ board. The initial bring-up used a basic NSH port.
+ - LCXpresso-LPC54628: On-board SDRAM is also supported
+ - LCXpresso-LPC54628: Add support for I2C2 and for the I2C tool to
+ the NSH configuration.
+ - LCXpresso-LPC54628: Add support for the USER button. Enable the
+ apps/examples/button test in the NSH configuration.
+ - LCXpresso-LPC54628: Add the fb configuration for testing the LCD.
+ - LCXpresso-LPC54628: Add support for the the FT5x06 touchscreen
+ controller. Enable the driver as well as the apps/examples
+ touchscreen test.
+ - LCXpresso-LPC54628: Add an NxWM configuration.
+ - LCXpresso-LPC54628: Add logic to bring up SDMMC.
+ - LCXpresso-LPC54628: Add logic to register the RTC character driver
+ if it is enabled. Enable the RTC and RTC character driver in the
+ NSH configuration.
+ - LCXpresso-LPC54628: Add a netnsh configuration that was be used to
+ test the Ethernet driver.
+ - LCXpresso-LPC54628: Add LittlevGL graphics demo configuration.
+
+* On Semiconductor LC823450
+
+ - LC823450 SMP improvements: (1) Apply irq_spin APIs to
+ modifyregXX, (2) Do not use modifyreg32() to enable Mutex, (3)
+ Modify IRQ control for i2s. Apply irq_spin APIs to
+ dma/syscontrol/usbdev. From Masayuki Ishikawa.
+ - LC823450: LC823450 http streaming improvements: (1) Use spinlock
+ APIs in lc823450_gpio.c. (3) Fix a potential race condition in
+ up_enable_irq(), (3) Use spinlock APIs instead of critical section
+ APIs, (4) Enable HRT_TIMER in lc823450_timerisr.c. (5) Use spinlock
+ APIs instead of critical section APIs. (6) Fix race conditions in
+ dma/usbdev. From Masayuki Ishikawa.
+ - LC823450: Introduce DVFS. This version only supports manual mode
+ and Vdd1 is fixed to 1.2V. From Masayuki Ishikawa.
+
+* On Semiconductor LC823450 Drivers
+
+ - LC823450: Refactor timer driver. Add MTM timer APIs for DVFS.
+ Introduce up_rtc_gettime() for CONFIG_RTC_HIRES. Introduce idle
+ time calculation in DVFS. Also, DVFS autonomous mode based on CPU
+ idle time is supported. NOTE: voltage control is still disabled.
+ From Masayuki Ishikawa.
+
+* On Semiconductor LC823450 Boards
+
+ - LC823450-XGEVK: I2S interrupt will be handled on CPU0 with this
+ change. Assign CPU1 to lpwork. This change will improve load
+ balancing for networking with RNDIS. From Masayuki Ishikawa.
+ - LC823450-XGEVK: Enable SPINLOCK_IRQ and NXPLAYER in rndis. From
+ Masayuki Ishikawa.
+ - LC823450-XGEVK: LC823450 http streaming improvements: (1) In SMP
+ mode, H/W interrupts should be handled on CPU0 to avoid deadlocks.
+ (2) Call up_enable_irq() to assign CPU0 for IRQ handling. (3)
+ Enable HRT_TIMER, LC823450_MTM0_TICK, SPINLOCK_IRQ, (4) Enable
+ NET_TCP_RWND_CONTROL, NXPLAYER_HTTP_STREAMING_SUPPORT (rndis only)
+ From Masayuki Ishikawa.
+ - LC823450-XGEVK: Enable DVFS in lc823450_bringup.c. Enable DVFS
+ in audio and rndis. Add Telnet character mode to rndis. From
+ Masayuki Ishikawa.
+ - LC823450-XGEVK: Explicitly assign I2S IRQ handling to CPU0. From
+ Masayuki Ishikawa.
+ - LC823450-XGEVK: Enable RTC_HIRES instead of RTC_DATETIME (audio/
+ rndis). Disable TCP_WRITE_BUFFERS and change SCHED_LPWORKPRIORITY
+ (rndis). Update SMP and DVFS related part. From Masayuki Ishikawa.
+
+* STMicro STM32:
+
+ - STM32 F7: Add support for the STM32F72x/73x family. From Bob
+ Feretich.
+
+* STMicro STM32 Drivers:
+
+ - STM32 HRTIM: Add interface to change outputs SET/RST configuration.
+ From Mateusz Szafoni.
+ - STM32 HRTIM: Add interface to get timer clock frequency,
+ calculation, add compare/capture registers significant bits
+ checking. From Mateusz Szafoni.
+ - STM32 HRTIM: Add interface to set timer frequency, fix slave timers
+ reset configuration, change POWER_INFO to TIMER_INFO From Mateusz
+ Szafoni.
+ - STM32 HRTIM: Add repetition support and fix enum overflow From
+ Mateusz Szafoni.
+ - STM32 HRTIM: Add HRTIM push-pull mode configuration. From
+ raiden00pl.
+ - STM32 FLASH: Add progmem support for STM32L15XX From Juha Niskanen.
+
+* STMicro STM32 Boards:
+
+ - configs/photon: Adds BOARD_TIMn_FREQUENCY macros From Anthony
+ Merlino.
+ - configs/indium-f7: Adds support for the RAF Research Indium-F7
+ board. From Bob Feretich.
+ - Rename the configs/stm32f0discovery board directory to
+ configs/stm32f051-discovery. There are others stm32f0discovery
+ boards with different MCUs and different peripherals on the board.
+ From Alan Carvalho de Assis.
+ - configs/stm32f072b-discovery: Adds support for stm32f072b-disco
+ board. This is the board. I added the LEDs of this board and tested
+ the compilation. From Alan Carvalho de Assis.
+ - configs/stm32f103-minimum: Add AT24 EEPROM support on STM32F103-
+ Minimum board From Alan Carvalho de Assis.
+ - configs/stm32f103-minimum: Add support to BMP180 on BluePill
+ (stm32f103-minimum) board. From Alan Carvalho de Assis.
+ - configs/stm32f334-disco: Add buck converter and boost converter
+ logic. From Mateusz Szafoni.
+ - configs/stm32f103-minimum: Add zerocross support to STM32F103-
+ Minimum board From Alan Carvalho de Assis.
+ - configs/stm32f103-minimum: Add OLED SSD1306 support to
+ STM332F103-Minimum From Alan Carvalho de Assis.
+ - configs/stm32f103-minimum: Add board support to MAX6675 Thermocouple
+ sensor From Alan Carvalho de Assis.
+ - configs/stm32f746g-disco: Add stm32f746g-disco Ethernet configuration.
+ Add USART1 support (connected to the USB virtual serial port) From
+ Louis Mayencourt.
+ - configs/viewtool-stm32f107: Add support for FT80X initialization.
+ Add ft80x configuration that will eventually be used for testing the
+ ft80x if I ever receive hardware.
+
+* Tools:
+
+ - tools/logparser: Add a tool which will help me to convert git logs
+ to ChangeLog format.
+
+* NSH: apps/nshlib:
+
+ - apps/nshlib: Add support for a truncate command. This will be used
+ to test the new ftruncate file system support.
+ - apps/nshlib: Add support for Telnet character mode. From Masayuki
+ Ishikawa.
+ - apps/nshlib: Add support for '-n' option to the echo command. From
+ Masayuki Ishikawa.
+ - apps/nshlib: Add irqinfo command.
+
+* Examples/Tests: apps/examples:
+
+ - apps/examples/userfs: Add truncate() support for userfs.
+ - apps/examples/lvgldemo: Add lvgldemo example for LittlevGL.
+ - apps/examples/veml6070: Add VEML6070 Application Example. From
+ Alan Carvalho de Assis.
+ - apps/examples/bmp180: Add BMP180 application example. From Alan
+ Carvalho de Assis.
+ - apps/examples/ft80x: Add a test of the FT80x based on FTDI
+ SampleApp. Includes tests of GPU primitives and graphics co-
+ processor commands.
+
+* Network Utilities: apps/netutils:
+
+ - apps/netutils/netlib: Add default route in netlib_set_dripv4addr().
+ From Masayuki Ishikawa.
+
+* Graphics: apps/graphics:
+
+ - apps/graphics/littlevgl: Add littlevgl library. From Alan Carvalho
+ de Assis.
+ - apps/graphics/ft80x: Add the FTDU FT80x GUI support library.
+ Consists of some display list helpers, audio helpers, touch helpers,
+ RAM access, register access etc.
+
+* System Utilities (apps/system)
+
+ - apps/system/nxplayer: Add support for HTTP streaming in nxplayer.
+ From Masayuki Ishikawa.
+ - apps/system/setlogmask: Adds 'setlogmask' application that allows
+ you to set the syslog priority via a simple command. From Anthony
+ Merlino.
+ - apps/system/usbmsc: Added Kconfig options to configure write
+ protection for each LUN. From Fabio D'Urso.
+ - system/stackmonitor: Re-design the stack monitor so that it does not
+ make forbidden calls directly into the OS, breaking the portable POSIX
+ OS interface. It now properly uses the PROCFS file system to glean
+ information about stack usage.
+</code></pre></div></div>
+
+<p>Bugfixes. Only the most critical bugfixes are listed here (see the
+ChangeLog for the complete list of bugfixes and for additional, more
+detailed bugfix information):</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* Core OS:
+
+ - System Timer: Change the way that the 64-bit time is sampled.
+ Previously, we disabled interrupts before sampling the 64-bit
+ timer since the uint64_t access is not atomic on most CPUs. However,
+ disabling (local) interrupts does not work in the SMP case. In that
+ case, the timer interrupt may be running on only one of the CPUs;
+ disabling interrupts on a different CPU will provide no protection
+ from timer rollover. To work around this, logic was added that
+ samples 64-bit timer is sampled twice and if 32-bit rollover was
+ detected between samples, then loops until there is no rollover.
+ - POSIX Timers: In SMP mode, running TCB is not always at the head of
+ the g_readytorun list. This change removes DEBUGASSERT() to avoid
+ this condition. From Masayuki Ishikawa.
+ - Spinlocks: Add memory barrier operations in spin_unlock(). In ARM
+ document regarding memory barriers, SP_DMB() must be issued before
+ changing a spinlock state to SP_UNLOCKED. However, we found that
+ SP_DSB() is also needed to ensure that spin_unlock() works
+ correctly for network streaming aging test. From Masayuki Ishikawa.
+ - Sporadic Scheduler: Fix compiler error in Sporadic Scheduler when
+ priority inheritance is enabled. Noted by eunb.song@samsung.com
+ - Priority Inheritance: Fix some priority inheritance related issues
+ noted during review of logic. Also add some REVISIT comments for some issues noted in the design.
+ - boardctl: Remove the BOARDIOC_TSCTEST_TEARDOWN and
+ BOARDIOC_TSCTEST_SETUP boardctl() commands. Remove all
+ implementations of board_tsc_teardown(). Each board now initializes
+ the touchscreen controller as a normal part of its board bring-up.
+ board_tsc_setup() is gone; the touchscreen controller is now treated
+ like any other on-board device.
+ - configs: CONFIG_MAX_TASKS must be a power of 2.
+ - SMP: Introduce a new global IRQ clearing logic and tasklist
+ protection. The previous implementation of clearing global IRQ in
+ sched_addreadytorun() and sched_removereadytorun() was done too
+ early. As a result, nxsem_post() would have a chance to enter the
+ critical section even nxsem_wait() is still not in blocked state.
+ This patch moves clearing global IRQ controls from
+ sched_addreadytorun() and sched_removereadytorun() to
+ sched_resumescheduler() to ensure that nxsem_post() can enter the
+ critical section correctly. For this change,
+ sched_resumescheduler.c is always necessary for SMP configuration.
+ In addition, by this change, task_exit() had to be modified so that
+ it calls sched_resumescheduler() because it calls
+ sched_removescheduler() inside the function, otherwise it will cause
+ a deadlock. However, I encountered another DEBUGASSERT() in
+ sched_cpu_select() during HTTP streaming aging test on LC823450-XGEVK.
+ Actually sched_cpu_select() accesses the g_assignedtasks which might
+ be changed by another CPU. Similarly, other tasklists might be
+ modified simultaneously if both CPUs are executing scheduling logic.
+ To avoid this, I introduced tasklist protection APIs. With these
+ changes, SMP kernel stability has been much improved. From Masayuki
+ Ishikawa.
+ - SMP: Fix this_task() to be an atomic operation. In the previous
+ implementation, this_task() was defined in sched.h by using just a
+ macro current_task(this_cpu()). However, I found that this is not
+ atomic and actually sometimes switching CPU happened in executing
+ the macro when we tested audio steaming plus executing commands via
+ Telnet. This change resolves this issue by implementing atomic
+ this_task()in sched_thistask.c which is newly introduced. From
+ Masayuki Ishikawa.
+ - SMP: Implements a global scheduler lock capability as part of SMP
+ support. This allows the scheduler to be locked with no knowledge
+ or access to the TCB of the currently running task. This is
+ necessary because accessing the TCB of the currently running task
+ is, itself, a non-atomic operation. This global scheduler lock
+ capability was add just to support that atomic access to the TCB.
+ - SMP: Extend the last global lock change to work with the
+ LC823450-XGEVK which does not support the atomic fetch add but
+ does support disabling interprocessor interrupts. Disabling
+ interprocessor interrupts will also guarantee that the TCB address
+ calculation is atomic.
+ - SMP: Fix a infinite recursion problems that a recent changes
+ introduced into the i.MX6 SMP implementation. This is not seen
+ with the LC823450 because you can disable inter-processor interrupts
+ in that architecture; but you cannot in the ARMv7-A/GIC architecture.
+ - SMP: Remove SMP related logic in sig_dispatch.c. This change
+ prevents from a deadlock in up_schedulesigaction.c where inter-CPU
+ signal handling is actually implemented. arch/arm/src/armv7-m: Fix
+ signal handling for SMP. In previous implementation, signal handling
+ for SMP was incorrect. Thus, for example, if an inter-CPU signal
+ happened an incorrect tcb was signaled and caused ASSERT(). This
+ change fixes the issues and works for both inter-CPU signal handling
+ and signal handling on the same CPU. From Masayuki Ishikawa.
+ - Tasking: Add nxtask_create(). Kthread_create() and nxtask_create()
+ are internal OS functions and should not modify the errno variable.
+ Convert legitimate uses of task_create() to nxtask_create().
+ Review handling of returned values from all uses of kthread_create()
+ (as well as nxtask_create()).
+ - Tasking: Threads started by board bring-up logic should be kernel
+ threads, not user tasks.
+ - Tasking: Threads started by drivers should be kernel threads, not
+ user tasks.
+ - Semaphore Usage: Added ECANCELED condition to DEBUGASSERT's
+ checking sem_wait result From Dmitriy Linikov.
+
+ - errno: Add new internal OS function nxsched_setaffinity() that is
+ identical to sched_isetaffinity() except that it does not modify the
+ errno value. All usage of sched_setaffinity() within the OS is
+ replaced with nxsched_setaffinity().
+ - errno: Internal functions sched_reprioritize() and
+ sched_setpriority() no longer modify the errno value. Also renamed
+ to nxsched_reprioritize() and sched_setpriority().
+ - errno: Add new internal OS function nxsched_getscheduler() that is
+ identical to sched_getscheduler() except that it does not modify the
+ errno value. All usage of sched_getscheduler() within the OS is
+ replaced with nxsched_getscheduler().
+ - errno: Add new internal OS function nxsched_setparam() that is
+ identical to sched_setparam() except that it does not modify the
+ errno value. All usage of sched_setparam() within the OS is
+ replaced with nxsched_setparam().
+ - errno: Add new internal OS function nxsched_getparam() that is
+ identical to sched_getparam() except that it does not modify the
+ errno value (actually, the previous value erroneously neglected to
+ set the errno value to begin with, but this fixes both issues). All
+ usage of sched_getparam() within the OS is replaced with
+ nxsched_getparam().
+ - errno: wd_start() is an internal OS function and should not set the
+ errno value. Reviewed and updated every call to wd_start() to
+ verify if return value is used and if so if the errno value is
+ accessed.
+ - errno: Fix several inappropriate accesses to get_errno() that were
+ missed in previous changes (some going back to nuttx-7.23). Add new
+ nxsched_setscheduler() and nxsched_getaffinity() which are
+ equivalent to their counterparts without the nx on front. These
+ versions do not modify the errno value. Changed all calls within
+ the OS to use these newer versions of the functions.
+ - errno: binfmt/, configs/, grahics/, libc/, mm/, net/, sched/: OS
+ references to the errno variable should always use the set_errno(),
+ get_errno() macros.
+ - drivers/, fs/ and libc/: OS references to the errno variable should
+ always use the set_errno(), get_errno() macros.
+
+* File System/Block and MTD Drivers:
+
+ - FAT: CONFIG_FAT_MAXFNAME may not exceed NAME_MAX (CONFIG_NAME_MAX)
+ - NFS: Correctly infer file type. The file type is in struct
+ nfs_statinfo_s's ns_type field, not in the ns_mode field. From
+ Michael Jung.
+ - NFS: Fix buffer corruption. In case multiple read requests to the
+ NFS server are required to fill up the user provided buffer,
+ nfs_read() might write behind the end of said buffer. This is fixed
+ with this change. From Michael Jung.
+ - VFS: reopen() should return NULL when oflags is less than 0, not
+ equal to 0. Because negative value is returned on failure of
+ lib_mode2offlags() which converts the mode string into file open
+ mode flag.
+ - ProcFS: Fix an error in a common function that manages read data.
+ - drivers/mmcsd: Respect SDIO_CAPS_DMABEFOREWRITE on CMD25. From
+ Evgeniy Bobkov.
+ - AT24xx: Correct page size for AT24C02 part. From Alexander
+ Oryshchenko.
+ - mtd_config.c: Add still more error handling (to detect bad
+ underlying flash implementations). Remove MTD_ERASE that was
+ erasing data block instead of erase block. This is a partial
+ revert of 4f18b4. Reported-by: Pascal Speck <iktek01@yahoo.com>
+
+* Graphics/Display Drivers:
+
+ - drivers/lcd: Fix the default I2C address of SSD1306 OLED display
+ (7- vs 8-bit addressing) From Alan Carvalho de Assis.
+ - drivers/lcd: lcd_framebuffer.c does not need to include board-
+ specific board.h.
+ - include/lcd: Eliminate a warning from an SSD1306 header file by
+ adding a forward reference to struct i2c_master_s. From Sebastien
+ Lorquet.
+
+* Networking/Network Drivers:
+
+ - ARP: Fix an error introduced when ICMP and ICMP6 socket support was
+ added in NuttX-7.3. A gratuitous ARP (or solicitation) was being
+ sent after receive of the ECHO replay (advertisement).
+ - ARP: Fix IGMP multicast address computation on Nuttx network stack.
+ This change fixes the IGMP address computation to allow multicast
+ UDP messages. The destination address was created with the incorrect
+ bytes of the given IPv4 address. From Louis Mayencourt.
+ - ioctl: The existence of the network driver ioctl() method should
+ depend on CONFIG_NETDEV_IOCTL rather than CONFIG_NETDEV_PHY_IOCTL.
+ The former enables the method, the later enables a subset of
+ possible driver IOCTLs.
+ - TCP: Write buffering logic should not wait for a free buffer if
+ the socket was opened non-blocking.
+ - TCP: Fixed bad return value handling in psock_tcp_send(). send()
+ expects psock_tcp_send() to return a negated errno value, not -1
+ with the errno set (GN: I added same change for tcp_send_buffered.c
+ which has the same issue as tcp_send_unbuffered.c) From Pelle
+ Windestam.
+ - TCP: Fixes hardfault when network goes done and network monitoring
+ is in place. From Gianpaolo Ferroni Ariani.
+ - TCP: tcp_send_[un]buffered.c: Check routing table in
+ psock_send_addrchck(). Previously only ARP table was considered
+ when determining if the data will actually be sent. From Juho
+ Grundstrom.
+ - TCP: Generalize Juho Grundstrom's IPv4 change for IPv6 as well.
+ - UDP: Remove some conditional logic that was true if there is only a
+ single network device, but not true in the multi-device context.
+ - UDP: In sendto(), return EHOSTUNREACH if the network is down.
+
+* Common Drivers:
+
+ - drivers/pipes: In poll logic, fix off-by-one error in calculation
+ of bytes in the buffer. Buffer calculation in pipe poll setup is
+ off-by-one when read index is larger than write index. This causes
+ poll() not getting POLLIN when buffer has one byte as calculation
+ gives zero bytes in buffer. From Jussi Kivilinna.
+ - drivers/audio: Improve stability of the WM8776 driver in SMP mode.
+ Apply irq_spin APIs to improve performance. Repeat to process a
+ message to avoid deadlock. From Masayuki Ishikawa.
+ - drivers/ioexpander: Fixed build of PCF8574 driver when its
+ interrupts aren't enabled by config. From Dmitriy Linikov.
+ - drivers/syslog: Fixes LOG_UPTO macro to include specified log level.
+ From Anthony Merlino.
+ - drivers/sensors: Fix HTS221 sensor reset with BOOT bit From Jussi
+ Kivilinna.
+ - drivers/loop: If we want to open read-only in losetup.c, flags
+ should be O_RDONLY not O_RDWR. From Fabio D'Urso.
+ - drivers/timers/ds3231.c: Correct some debug statements. From
+ Alexander Oryshchenko.
+ - drivers/sensors/lis2dh: Use realtime clock if monotonic is not
+ available From Juha Niskanen.
+ - drivers/i2c and drivers/spi: Fix compile error if
+ CONFIG_DISABLE_PSEUDOFS_OPERATIONS, fix bad NULL checks From Juha
+ Niskanen.
+
+* ARMv7-A:
+
+ - Data Cache: Fix cp15_invalidate_dcache. In cases where more than
+ one dcache line was to be invalidated, a missing branch label
+ would result in a false branch target into cp15_flush_idcache. Also
+ the .size macro was fixed for both cp15_invalidate_dcache. From
+ Michael Jung.
+ - SMP: Port the signal-related SMP change by Masayuki Ishikawa to the
+ ARMv7-A family.
+
+* Extensa:
+
+ - SMP: Port the signal-related SMP change by Masayuki Ishikawa to the
+ Xtensa family.
+
+* Infineon XMC4xxx Drivers:
+
+ - XMC4xxx: Only setup USB clock when USB PLL is enabled From Alan
+ Carvalho de Assis.
+ - XMC4xxx: Fix USIC_BRG_SCLKCFG definition From Alan Carvalho
+ de Assis.
+
+* Microchip PIC32MZ
+
+ - MIPS32: In up_idle, the kludge that was conditionally enabled if
+ the work queue was enable appears to be needed even when he work
+ queue is not enabled on the PIC32MZ.
+ - PIC32MZ: Fix some typos in debug instrumentation in pic32mz-gpio.c;
+ fix some typos related to UART5 configuration in pic32mz-serial.c.
+
+* Microchip/Atmel SAMD/L:
+
+ - SPI: In sam_spibus_initialize(), the pinmux configuration was
+ smashing the previous CTRLA register configuration. There are
+ also some typos in samd_spi.h From Matt Thompson.
+ - SPI: Fixes g_spi2ops and g_spi2dev using incorrect values From Matt
+ Thompson.
+ - SPI: SPI must be disabled before changing the mode bits in CTRLA
+ register From Matt Thompson.
+ - DMA: Fix DMA controller support. From Matt Thompson.
+
+* NXP/Freescale LPC17xx Drivers:
+
+ - LPC17xx: Disable LPC17 FDR when not used. If a boot loader set the
+ fractional divider (FDR) the baud rate in nuttx will be wrong
+ (multiplied by this fraction). So if it is not used, it should be
+ disabled. From Harald Gutsche.
+
+* NXP/Freescale Kinetis Drivers:
+
+ - Kinetis: Correct some Ethernet PHY register bit tests for the
+ KSZ8081 PHY. From Stewart.
+
+* On Semiconductor LC823450
+
+ - arch/arm/src/LC823450: Add SP_DMB() into lc823450_testset.c.
+ In LC823450, ldrex and strex are not supported. So we implemented
+ up_testset() with H/W Mutex. However, there was a bug in memory
+ access order. This change ensures correct memory access order in
+ up_testset() for LC823450. From Masatoshi Tateishi.
+
+* STMicro STM32 Drivers:
+
+ - STM32 F3 RCC: A flash wait state configuration. Flash latency must
+ be fixed according to sysclk frequency. If this operation is not
+ done or done after PLL configuration, the STM32 fail to continue
+ boot operation if the frequency if greater than 24MHz according to
+ the board variable STM32_SYSCLK_FREQUENCY. Tested on stm32f334-disco
+ board. From Gwenhael Goavec-Merou.
+ - STM32 RTC: Make STM32 usable with an external RTC.
+ - STM32 SPI: Removed unnecessary (and incorrect) speed limitation.
+ From Alexander Oryshchenko.
+ - STM32 SPI: I have a SPI bus with both Mode 0 and Mode 3 devices
+ on it. After performing SPI I/O to a Mode 0 device, switching to a
+ Mode 3 device locked up the SPI interface. Only zeroes would be
+ read. I traced the reason for the lock-up to arm/arm/src/stm32f7/stm32_spi.c function spi_setmode(). Changing
+ the mode causes a spurious SPI clock transmission that confuses the
+ stm32f7 SPI input hardware. This problem is solved by (1) changing
+ the SPI mode with SPI (and perhaps DMA) disabled, and (2) flushing
+ the receive FIFO if the mode change results in garbage in the FIFO.
+ From Bob Feretich.
+ - STM32 and STM32 F7: Remove confusing, redundant, and misleading
+ definitions of STM32_BKP_BASE from the F2, F3, and F4 memory
+ maps. Unlike the F1, these parts do not have a separate BKP address
+ region. The BKP registers are with the RTCC address regions.
+ stm32_bkp.h should only be used for STM32 F1. stm32_rtcc.h should be
+ used to access BKP registers on F2, F3, and F4.
+ - STM32 and STM32 F7: Architecture-specific code is not permitted to
+ modify the errno variable.
+ - STM32 F4 I2C: Correct some recent changes to STM32F4 I2C that broke
+ poll mode of operation. From Alexander Oryshchenko.
+ - STM32 F4 I2C: Corrections to STM32 F4 I2C to restore functionality.
+ From Alexander Oryshchenko.
+ - STM32 F4 I2C: Corrections to STM32 F4 I2C to fix the NORESTART
+ flag. From Alexander Oryshchenko.
+ - STM32 F7: Fixes a bug in multi-block SD-card operations on the
+ STM32F7 platform. DBLOCKSIZE must be the size of SD-card block, not
+ the total amount of transferred bytes. From Evgeniy Bobkov.
+ - STM32 F7: Fix undefined variable when using USART1 for other
+ purposes than UART (e.g. SPI). From Frank Benkert.
+ - STM32 F7: Backport RTC alarm setting changes from STM32L4. Most
+ notably this fixes RTC getting stuck issue when both alarms were
+ used. Root cause was writing RTC ISR register contents to RTC CR
+ register. From Juha Niskanen.
+ - STM32 L4 Flash: Change flash programming to use page buffer for
+ unaligned writes. From Juha Niskanen.
+
+* STMicro STM32 Boards:
+
+ - Nucleo-L432KC: Fix some bogus logic noted by Fanda.
+ - configs/nucleo-* and configs/stm32l476vg-disco: Fix more
+ stm32_userleds.c bogus logic From Juha Niskanen.
+ - Nucleo-L432KC: Fixed nucleo-l432kc broken build when
+ CONFIG_USERLED_LOWER defined From Fanda.
+ - Nucleo-L432KC: Issue #85: /dev/userleds is not working for
+ Nucleo-L432KC fixed From Fanda Vacek.
+ - STM32F429I-Disco: Separate SPI4 from MTD init. I was trying to
+ attach a non-MTD peripheral to an STM32F429I Discovery Board's SPI4
+ port and was hitting compilation problems, since CONFIG_MTD and
+ thus 'struct mtd_geometry_s' was not defined. This patch separates
+ SPI4 initialization logic from MTD initialization logic. From
+ Michael Jung.
+ - STM32F103-Minimum: Remove CONFIG_NX_LCDDRIVER dependence from
+ stm32_ssd1306.c From Alan Carvalho de Assis.
+
+* C Library/Header Files:
+
+ - libc/stdio: In dtoa(), up_interrupt_context() is used in a debug
+ assertion. up_interrupt_context() is not available in the user-mode
+ phase of the PROTECTED or KERNEL build configurations. In those
+ configurations, enabling libc floating point support and debug
+ assertions will result in an undefined reference to
+ up_interrupt_context().
+ - libc/netdb: Fixed parsing of DNS response packets having compressed
+ names ending with pointer. There were troubles parsing response
+ packets which have compression of QNAME/NAME field when only
+ trailing part of the name (not the whole name) is replaced with
+ pointer to another part of the packet. This commit fixes parsing of
+ such packets. Also I added checks to keep parsing only in bounds of
+ the read part of DNS response packet. From Dmitriy Linikov.
+
+* Tools
+
+ - tools/*.c: Add #define _GNU_SOURCE to all C files that call
+ asprintf() to eliminate a warning.
+ - tools/cvsparser.c: Add a check to avoid access past the end
+ of a fixed size array
+
+* NSH: apps/nshlib:
+
+ - apps/nshlib: Fix compile error when CONFIG_NSH_DISABLESCRIPT is not
+ defined. The field np_flags does not exist if scripting is disabled.
+
+* Examples/Tests: apps/examples:
+
+ - apps/examples/touchscreen: Eliminate BOARDIOC_TSCTEST_SETUP.
+
+* Network Utilities: apps/netutils:
+
+ - apps/netutils/ftpc: Fix some corner-cases that could cause FTP to
+ access past the end of valid data.
+
+* Wireless Utilities: apps/wireless:
+
+ - apps/wireless/ieee802154/i8shark: Fixes special XBee compensation
+ by purposely chopping off the FCS. From Anthony Merlino.
+</code></pre></div></div>
+
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2020 </p>-->
+ <footer class="site-footer">
+ <div class="wrapper">
+ <div class="footer-col-wrapper">
+
+ Apache NuttX is an effort undergoing <a href="https://incubator.apache.org/index.html">Incubation</a>
+ at The Apache Software Foundation (ASF), sponsored by the 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.
+ <hr>
+
+ <div style="text-align:center;">
+
+ <div style="margin-top: 20px; margin-bottom: 20px;">
+ <a href="http://incubator.apache.org"><img src="/assets/themes/apache/img/egg-logo.png"
+ alt="Apache Incubator"/></a>
+ </div>
+
+ <div>
+ Copyright © 2019 <a href="http://www.apache.org">The Apache Software Foundation</a>.
+ Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
+ 2.0</a>.
+ <br>
+
+ Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
+ Software Foundation.
+
+ </div>
+ </div>
+ </div>
+ </div>
+</footer>
+
+ </footer>
+ </div>
+
+
+ <script src="/assets/themes/apache/jquery/jquery-2.1.1.min.js"></script>
+
+ <script src="/assets/themes/apache/bootstrap/js/bootstrap.min.js"></script>
+
+
+ </body>
+</html>
+
diff --git a/content/releases/7.25/index.html b/content/releases/7.25/index.html
new file mode 100644
index 0000000..2a77028
--- /dev/null
+++ b/content/releases/7.25/index.html
@@ -0,0 +1,916 @@
+
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>7.25</title>
+
+ <meta name="author" content="">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le styles -->
+ <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
+ <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
+ <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+ -->
+
+ </head>
+
+ <body>
+
+ <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <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>
+ <a class="navbar-brand" href="/">
+ <img src="/assets/themes/apache/img/logo.png" width="30">
+ Apache NuttX
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav navbar-right">
+ <li id="community">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
+ <ul class="dropdown-menu dropdown-left">
+ <li><a href="/community">Get Involved</a></li>
+ <li><a href="/community-members">Who we are</a></li>
+ </ul>
+ </li>
+ <li><a href="https://github.com/apache/incubator-nuttx">GitHub</a></li>
+ <li id="apache">
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ <li><a href="http://www.apache.org/events/current-event">Events</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+
+
+ <div class="container">
+
+
+<!--<div class="hero-unit 7.25">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <!--
+
+-->
+
+<h2 id="nuttx-725-release-notes">NuttX-7.25 Release Notes</h2>
+
+<p>The 125th release of NuttX, Version 7.25, was made on June 3, 2018,
+and is available for download from the Bitbucket.org website. Note
+that release consists of two tarballs: nuttx-7.25.tar.gz and
+apps-7.25.tar.gz. These are available from:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://bitbucket.org/nuttx/nuttx/downloads
+https://bitbucket.org/nuttx/apps/downloads
+</code></pre></div></div>
+
+<p>Both may be needed (see the top-level nuttx/README.txt file for build
+information).</p>
+
+<p>Additional new features and extended functionality:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* File Systems/Block and MTD Drivers
+
+ - fs/cromfs: Added CROMFS file system. CROMFS is a commpressed, in-
+ memory, read-only file system based on LZF.
+ - fs/vfs: Added support for checking if a descriptor is a socket in
+ fstat(). From Pelle Windestam.
+
+* Graphics/Display Drivers:
+
+ - drivers/lcd: Remove support for the Nokia6100 LCD. That LCD uses a
+ 9-bit SPI interface (the 9th bit being the command/data bit that is
+ normally a discrete). That communication was never successfully
+ integrated. I now believe that it would would require some special
+ support from the low-level, MCU SPI driver to manage that 9th bit.
+ The deleted code is still available in the Obsoleted repository.
+
+* Networking/Network Drivers:
+
+ - net/tcp: Added support for TCP Keepalive, add SO_KEEPALIVE socket
+ option. Added socket options needed to manage TCP-keepalive and TCP
+ state machine logic to detect if that the remote peer is alive.
+ - net/tcp: In tcp_input(), add the logic to detect, decode, and
+ respond to TCP Keep-Alive packets.
+ - net/tcp: Extended support for sending to non-blocking tcp sockets.
+ From Pelle Windestam.
+ - net/bluetooth: Added support for AF_BLUETOOTH sockets.
+ - drivers/net: Added TAP (network bridge) mode to tun.c. In the
+ previous implementation, TAP mode did not handle a packet correctly.
+ Also, the driver did not set the link layer type and could not
+ assign the interface name. This change fixes such issues and supports
+ TAP mode correctly. From Masayuki Ishikawa.
+
+* Wireless/Wireless Drivers:
+
+ - wireless/ieee802154: Added basic MAC support for RX-ENABLE.request
+ primitive From Anthony Merlino.
+ - wireless/ieee802154: Added MAC ackreq flag to TX descriptor for use by
... 10378 lines suppressed ...