!163 NuttX升级到V12.2.0版本

Merge pull request !163 from zhangyao/master
This commit is contained in:
openharmony_ci
2023-12-08 09:09:29 +00:00
committed by Gitee
7 changed files with 34733 additions and 24503 deletions
+14 -3
View File
@@ -1,4 +1,4 @@
This is a list of all the contributors tha have submitted ICLA, SGA
This is a list of all the contributors that have submitted ICLA, SGA
If you are not on this list and believe you should be, please inform us.
ICLA
@@ -13,15 +13,21 @@ Anthony Merlino
Augusto Fraga Giachero
Beat Kung
Bill Gatliff
Boan Zou
Brennan Ashton
Chao An
Daniel P. Carvalho
David S. Alessio
David Sidrane
Dong Heng
Fotis Panagiotopoulos
Giorgio Groß
Goden Freemans
Guiding Li
Gustavo Henrique Nihei
Gwenhael Goavec
Haitao Liu
Heath Petersen
Henry Adam Feuer (Adam Feuer)
Herman A Glenn (Hal Glenn)
Ivan Petrov Ucherdzhiev (Ivan Ucherdzhiev)
@@ -53,11 +59,13 @@ Michael Jung
Michal Lyszczek
Miguel Ángel Herranz Trillo (Miguel Herranz)
Mihai Serban
Nathan Hartman
Neil Hancock
Nicholas Elliot Chin (Nicholas Chin)
Oki Minabe
Paul Alexander Patience (Paul A. Patience)
Petro Karashchenko
Philippe Coval (rzr)
Pierre-Noel Bouteville
Pierre-Olivier Vauboin (PO Vauboin)
Richard Cochran
@@ -69,6 +77,7 @@ Sebastien Lorquet
Sergey Nikitenko
Takashi Yamamoto (Yamamoto Takashi)
Thomas Axelsson
Tomek CEDRO
Uros Platise
Vasilijev Alexand Anatoljevich (Alexander Vasiliev)
Wolfgang Gerd Reißnegger (Wolfgang Reißnegger)
@@ -88,13 +97,15 @@ Bouffalo Lab (Nanjing) Co., Ltd.
Datavision S.R.O.
DS Automotion GmbH
Espressif Systems (Shanghai) Co. Ltd.
Falker Atomação Agrícola Ltda
Elfaro Lab SL
Falker Automação Agrícola Ltda
Gregory Ellis Nutt
Haltian Ltd
Hexagon AB
Max Holtzberg
Omni Hoverboards Inc
RAF Research LLC
Software Grant from Uniquix Technologia Ltda
Uniquix Technologia Ltda
Sony
UVC Ingenieure
Verge Aero
+2 -2
View File
@@ -14,10 +14,10 @@ it is very important you follow these guidelines:
<first line (up to ~80 characters)>
<more paragraphs here>
* The first line should have a prefix to give context
(unless context is really clear), such as:
<keyword>: <message>
i.e sched: Fixed compiler warning
+6145 -180
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -3,7 +3,7 @@
"Name" : "NuttX",
"License" : "Apache License V2.0",
"License File" : "LICENSE",
"Version Number" : "10.2.0",
"Version Number" : "12.2.0",
"Owner" : "tonghaoyang1@huawei.com",
"Upstream URL" : "http://www.nuttx.org",
"Description" : "Apache NuttX is a mature, real-time embedded operating system (RTOS)."
+53 -42
View File
@@ -1,7 +1,6 @@
# APACHE NUTTX (INCUBATING)
# APACHE NUTTX
* Introduction
- Incubation Status
* Community
- Getting Help
- Mailing Lists
@@ -47,25 +46,18 @@
# INTRODUCTION
Apache NuttX (Incubating) is a real-time operating system (RTOS) with an
emphasis on standards compliance and small footprint. Scalable from 8-bit
to 32-bit microcontroller environments, the primary governing standards in
NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and
other common RTOSs (such as VxWorks) are adopted for functionality not
available under these standards, or for functionality that is not
appropriate for deeply-embedded environments (such as fork()).
Apache NuttX is a real-time operating system (RTOS) with an emphasis on
standards compliance and small footprint. Scalable from 8-bit to 64-bit
microcontroller environments, the primary governing standards in NuttX are
POSIX and ANSI standards. Additional standard APIs from Unix and other
common RTOSs (such as VxWorks) are adopted for functionality not available
under these standards, or for functionality that is not appropriate for
deeply-embedded environments (such as fork()).
Extensive documentation can be found on the project wiki:
<https://cwiki.apache.org/NUTTX/NuttX>
## Incubation Status
Apache NuttX (Incubating) is an effort undergoing Incubation at The Apache
Software Foundation (ASF), sponsored by the Incubator. For more on our
incubation effort, please see the file DISCLAIMER-WIP, in the same
directory as this README.
For brevity, the rest of this file will refer to it as Apache NuttX or
For brevity, many parts of the documentation will refer to Apache NuttX as
simply NuttX.
# COMMUNITY
@@ -132,26 +124,26 @@ into future releases.
## Source Code
The project sources are in two Git repositories. The core OS is in
incubator-nuttx and the apps repository is in incubator-nuttx-apps. These
are housed in GitBox on ASF servers and also mirrored at GitHub. These
are kept in sync, so you can use whichever option you prefer.
The project sources are in two Git repositories. The core OS is in nuttx
and the apps repository is in nuttx-apps. These are housed in GitBox on
ASF servers and also mirrored at GitHub. These are kept in sync, so you
can use whichever option you prefer.
- NuttX core OS repository:
- Primary:
<https://gitbox.apache.org/repos/asf?p=incubator-nuttx.git>
<https://gitbox.apache.org/repos/asf?p=nuttx.git>
- GitHub Mirror:
<https://github.com/apache/incubator-nuttx>
<https://github.com/apache/nuttx>
- Apps repository:
- Primary:
<https://gitbox.apache.org/repos/asf?p=incubator-nuttx-apps.git>
<https://gitbox.apache.org/repos/asf?p=nuttx-apps.git>
- GitHub Mirror:
<https://github.com/apache/incubator-nuttx-apps>
<https://github.com/apache/nuttx-apps>
## Website Source Code
@@ -159,10 +151,10 @@ The project website sources are accessible via the website source code
repository which is also mirrored in GitHub:
- Primary:
<https://gitbox.apache.org/repos/asf?p=incubator-nuttx-website.git>
<https://gitbox.apache.org/repos/asf?p=nuttx-website.git>
- GitHub Mirror:
<https://github.com/apache/incubator-nuttx-website>
<https://github.com/apache/nuttx-website>
# ENVIRONMENTS
@@ -537,7 +529,7 @@ if you want to build the sim:
* ELF toolchain (if you want to build modules for CONFIG_LIBC_MODLIB)
brew install x86_64-elf-gc
brew install x86_64-elf-gcc
# INSTALLATION
@@ -633,19 +625,19 @@ The current NuttX du jour is available in from a GIT repository. Here are
instructions for cloning the core NuttX RTOS (corresponding to the nuttx
tarball discussed above):
git clone https://gitbox.apache.org/repos/asf/incubator-nuttx.git nuttx
git clone https://gitbox.apache.org/repos/asf/nuttx.git nuttx
-or-
git clone https://github.com/apache/incubator-nuttx.git nuttx
git clone https://github.com/apache/nuttx.git nuttx
And the semi-optional apps/ application directory and be cloned like:
git clone https://gitbox.apache.org/repos/asf/incubator-nuttx-apps.git apps
git clone https://gitbox.apache.org/repos/asf/nuttx-apps.git apps
-or-
git clone https://github.com/apache/incubator-nuttx-apps.git apps
git clone https://github.com/apache/nuttx-apps.git apps
That will give you the same directory structure like this:
@@ -687,9 +679,9 @@ some scripts like configure.sh. Before cloning, do the following:
These are standalone repositories:
* <https://gitbox.apache.org/repos/asf/incubator-nuttx-apps>
* <https://gitbox.apache.org/repos/asf/nuttx-apps>
or
<https://github.com/apache/incubator-nuttx-apps.git>
<https://github.com/apache/nuttx-apps.git>
This directory holds an optional package of applications and libraries
can be used with the NuttX RTOS. There is a README.txt file there that
@@ -962,6 +954,24 @@ not been converted to use the kconfig-frontends tools! This will
damage your configuration (see
<https://cwiki.apache.org/confluence/display/NUTTX/Converting+Legacy+Configurations+to+Use+kconfig-mconf>).
NuttX also supports kconfiglib(https://github.com/ulfalizer/Kconfiglib) by default,
which is a Kconfig tool implemented in Python 2/3. Compared with kconfig-frontends,
kconfiglib provides NuttX with the possibility of multi-platform support(configure
NuttX in Winodws native/Visual Studio), and also kconfiglib has a stronger Kconfig
syntax check, this will help developers to avoid some Kconfig syntax errors.
Install kconfiglib via following command:
pip install kconfiglib
If you are a working on Windows, which also need the support of windows-curses:
pip install windows-curses
**NOTE**: It should be noted that kconfiglib does not support **modules** attributes.
(<https://github.com/ulfalizer/Kconfiglib/blob/master/kconfiglib.py#L3239-L3254>,
the community seems to have stopped updating), if the features depends on
`CONFIG_BUILD_LOADABLE`, kconfiglib may not be a good choice.
How do we tell a new configuration from an old one? See "Incompatibilities
with Older Configurations" below.
@@ -987,7 +997,6 @@ The `menuconfig` make target depends on two things:
the more detailed build instructions in the top-level README.txt
file of the tools repository at <https://bitbucket.org/nuttx/tools>.
The `make install` step will, by default, install the `kconfig-mconf`
tool at `/usr/local/bin/mconf`. Where ever you choose to
install `kconfig-mconf`, make certain that your PATH variable includes
@@ -1325,7 +1334,7 @@ damage your configuration (see
environment:
1. You can run the configuration tool using Cygwin. However, the
Cygwin `Makefile.win` will complain so to do this will, you have
Cygwin `Win.mk` will complain so to do this will, you have
to manually edit the `.config` file:
a. Delete the line: `CONFIG_WINDOWS_NATIVE=y`
@@ -1403,7 +1412,7 @@ damage your configuration (see
toolchains. If you are using the older OABI toolchain the prefix for
the tools will be `arm-nuttx-elf-`; for the EABI toolchain the prefix will
be `arm-nuttx-eabi-`. If you are using the older OABI toolchain with
an ARM Cortex-M3/4, you will need to set CONFIG_ARMV7M_OABI_TOOLCHAIN
an ARM Cortex-M3/4, you will need to set CONFIG_ARM_TOOLCHAIN_BUILDROOT_OABI
in the `.config` file in order to pick the right tool prefix.
If the make system ever picks the wrong prefix for your toolchain, you
@@ -1546,12 +1555,12 @@ build directory.
build. (2) The logic in tools/mkexport.sh only supports GCC and, for example,
explicitly assumes that the archiver is 'ar'
* `download`
* `flash` (or `download` : DEPRECATED)
This is a helper target that will rebuild NuttX and download it to the target
This is a helper target that will rebuild NuttX and flash it to the target
system in one step. The operation of this target depends completely upon
implementation of the DOWNLOAD command in the user Make.defs file. It will
generate an error an error if the DOWNLOAD command is not defined.
implementation of the FLASH command in the user Make.defs file. It will
generate an error if the FLASH command is not defined.
The following targets are used internally by the make logic but can be invoked
from the command under certain conditions if necessary.
@@ -1873,7 +1882,7 @@ into your Web browser:
Documentation/index.html
NuttX documentation is also available online at <https://apache.nuttx.org>.
NuttX documentation is also available online at <https://nuttx.apache.org/>.
Below is a guide to the available README files in the NuttX source tree:
@@ -2079,6 +2088,8 @@ Below is a guide to the available README files in the NuttX source tree:
| | | `- metro-m4/
| | | `- README.txt
| | |- samv7/
| | | |- same70-qmtech/
| | | | `- README.txt
| | | |- same70-xplained/
| | | | `- README.txt
| | | `- samv71-xult/
+28506 -24247
View File
File diff suppressed because it is too large Load Diff
+12 -28
View File
@@ -1,42 +1,26 @@
############################################################################
# fs/romfs/Make.defs
#
# Copyright (C) 2008, 2011, 2013 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
# 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
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# http://www.apache.org/licenses/LICENSE-2.0
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name Nuttx nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# 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.
#
############################################################################
ifeq ($(CONFIG_FS_ROMFS),y)
# Files required for ROMFS file system support
ASRCS +=
CSRCS += fs_romfs.c fs_romfsutil.c
# Include ROMFS build support