From 956bcf316323f7141b31f0973cbdadebc0d9ff8d Mon Sep 17 00:00:00 2001 From: wangxiaodong1030 Date: Wed, 24 Sep 2025 11:02:28 +0800 Subject: [PATCH] adapt pd2408, refine drivers --- LICENSE | 45 +++++++++++++++++++++++---------------------- README.md | 39 ++++++++++++++++++++++++++------------- docs/ChangeLog.md | 9 +++++++++ install.py | 18 +++++++++--------- 4 files changed, 67 insertions(+), 44 deletions(-) diff --git a/LICENSE b/LICENSE index 30bd97b..90fe702 100644 --- a/LICENSE +++ b/LICENSE @@ -1,28 +1,29 @@ - - Phytium Public License 1.0 (PPL-1.0) +Copyright (C) 2024, Phytium Technology Co., Ltd. -UNLESS IT HAS ITS OWN COPYRIGHT/LICENSE EMBEDDED IN ITS BODY, EACH FILE IS SUBJECT TO THE FOLLOWING LICENSE TERMS +All rights reserved. -Copyright (C) 2022, Phytium Technology Co., Ltd. -All Rights Reserved. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -Redistribution and use in source and binary forms, with or without modification, are permitted provided that -the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. -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. -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 of the copyright holder nor the names of its contributors may be used +to endorse or promote products derived from this software without specific prior written +permission. -3. If the name of phytium or the names of its contributors are needed to endorse or promote products -derived from this software ,Prior written permission should be required. - -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 HOLDER 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. \ No newline at end of file +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 HOLDER 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. diff --git a/README.md b/README.md index 103345b..e26b87c 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,24 @@ # Phytium-NuttX-SDK -v1.0.0 [ReleaseNote](./docs/ChangeLog.md) +v1.0.2 [ReleaseNote](./docs/ChangeLog.md) + +如需Phytium全系CPU的软件适配支持,请联系 linan1284@phytium.com.cn ## 1. 介绍 -本项目主要对Phytium系列CPU的apache nuttx开发环境的部署方法进行介绍,目前支持在Linux和WSL上使用SDK,支持在x86_64设备上完成交叉编译。 +本项目主要对Phytium系列CPU的 Apache NuttX 开发环境的部署方法进行介绍,目前支持在Linux和WSL上使用SDK,支持在x86_64设备上完成交叉编译。 Phytium-NuttX-SDK作为整个开源项目的入口,提供了项目说明、部署手册、版本管理等开发者在调试过程中会使用到的必要内容。 -Phytium-NuttX-SDK仓库会自动下载对应的nuttx内核仓库、nuttx apps仓库、Phytium-Standalone-SDK仓库代码,完成nuttx开发环境的部署。 +Phytium-NuttX-SDK仓库会自动下载以下3个仓库代码,完成NuttX开发环境的部署。 + +[NuttX 内核仓库](https://gitee.com/phytium_embedded/nuttx) + +[NuttX Apps仓库](https://gitee.com/phytium_embedded/nuttx-apps) -本次版本发布的nuttx内核仓库、nuttx apps仓库,基于 nuttx releases/12.4 和 nuttx-apps releases/12.4 开发。 +[Phytium-Standalone-SDK](https://gitee.com/phytium_embedded/phytium-standalone-sdk) + +本次版本发布的NuttX内核仓库、NuttX Apps仓库,基于 NuttX releases/12.4 和 NuttX Apps releases/12.4 开发。 Phytium-NuttX-SDK架构如下图: ![Phytium-NuttX-SDK架构图](docs/figs/nuttx_sdk.png) @@ -27,7 +35,7 @@ NuttX的系统架构如下图: ## 2. NuttX SDK 的使用 -NuttX SDK 的代码结构如下所示,下载本仓库之后,执行 `./install.py`,下载nuttx内核仓库和nuttx apps仓库代码,下载Phytium-Standalone-SDK代码至 `nuttx/arch/arm64/src/phytium/phytium-standalone-sdk`中,其中apps和nuttx目录为执行 `install.py` 脚本后生成。 +NuttX SDK 的代码结构如下所示,下载本仓库之后,执行 `./install.py`,下载 NuttX 内核仓库和 NuttX Apps 仓库代码,下载Phytium-Standalone-SDK代码至 `nuttx/arch/arm64/src/phytium/phytium-standalone-sdk`中,其中apps和nuttx目录为执行 `install.py` 脚本后生成。 ``` . @@ -50,15 +58,20 @@ NuttX SDK 的代码结构如下所示,下载本仓库之后,执行 `./instal ## 3. 接口支持情况 +各测试例程的描述详见 + +[Phytium Examples](https://gitee.com/phytium_embedded/nuttx-apps/blob/releases/12.4/phytium_examples/README.md) + | Peripherals | Platform Supported | | ------------------------------- | ---------------------- | -| Generic Interrupt Controller v3 | E2000D `
` E2000Q | -| UART (PrimeCell PL011) | E2000D `
` E2000Q | -| IOPAD | E2000D `
` E2000Q | -| GPIO | E2000D `
` E2000Q | -| SDIO | E2000D `
` E2000Q | -| SPI | E2000D `
` E2000Q | -| Network | E2000D `
` E2000Q | +| Generic Interrupt Controller v3 | E2000D_DEMO、 E2000Q_DEMO、 PD2408_TEST | +| UART (PrimeCell PL011) | E2000D_DEMO、 E2000Q_DEMO、 PD2408_TEST | +| IOPAD | E2000D_DEMO、 E2000Q_DEMO、 PD2408_TEST | +| GPIO | E2000D_DEMO、 E2000Q_DEMO、 PD2408_TEST | +| SDIO | E2000D_DEMO、 E2000Q_DEMO、 PD2408_TEST | +| SPI | E2000D_DEMO、 E2000Q_DEMO、 PD2408_TEST | +| Network | E2000D_DEMO、 E2000Q_DEMO、 PD2408_TEST | +| DC | E2000D_DEMO、 E2000Q_DEMO | ## 4. 参考资料 @@ -80,4 +93,4 @@ wangxiaodong1030@phytium.com.cn ## 6. 许可协议 -Phytium Public License 1.0 (PPL-1.0) +[Phytium Public License](./LICENSE) diff --git a/docs/ChangeLog.md b/docs/ChangeLog.md index e290b33..63e0f75 100644 --- a/docs/ChangeLog.md +++ b/docs/ChangeLog.md @@ -1,3 +1,12 @@ +# Phytium NuttX SDK v1.0.2 ChangeLog + +- support pd2408 soc up and smp start, support spi, sdio, xmac drivers +- fix sd fstest and spi nxffs test + +# Phytium NuttX SDK v1.0.1 ChangeLog + +- support dc driver and lvgldemo + # Phytium NuttX SDK v1.0.0 ChangeLog - adapted nuttx kernel release/12.4 and nuttx-apps release/12.4 code diff --git a/install.py b/install.py index 44bda71..b35efd8 100644 --- a/install.py +++ b/install.py @@ -41,7 +41,7 @@ if (install_platform == windows_x64): else: nuttx_sdk_path=nuttx_sdk_path + '/nuttx' nuttx_remote = "https://gitee.com/phytium_embedded/nuttx.git" -nuttx_commit = "f6c51d11c8a40b2122f42aa97ba5ddbbfc5f5a93" +nuttx_commit = "d9d6915da0746541a928f1c03b250823e7fef47c" nuttx_branch = "releases/12.4" if not os.path.exists(nuttx_sdk_path): @@ -69,7 +69,7 @@ if (install_platform == windows_x64): else: nuttx_apps_path=nuttx_apps_path + '/apps' nuttx_apps_remote = "https://gitee.com/phytium_embedded/nuttx-apps.git" -nuttx_apps_commit = "0ff5be4d63ba343f8c6341d984a313c76a4a288d" +nuttx_apps_commit = "a9c92002e4e5b219f3c785020b9834a7aab7f8c7" nuttx_apps_branch = "releases/12.4" if not os.path.exists(nuttx_apps_path): @@ -93,7 +93,7 @@ standalone_path = install_path print("Standalone SDK at {}".format(standalone_path)) # STEP 2: Add standalone sdk -standalone_sdk_v="a12408931d45b250843e3d4c367cb7f31d95b10b" +standalone_sdk_v="1bb4161a6454103f64c8e719d9d3ca45edd6d6de" if (install_platform == windows_x64): standalone_path=standalone_path + '\\nuttx\\arch\\arm64\\src\\phytium\\phytium-standalone-sdk' else: @@ -111,12 +111,12 @@ if not os.path.exists(standalone_path): os.system("git sparse-checkout init") # 适配 windows 环境,路径不兼容 - os.system("git sparse-checkout set /arch \ - /board \ - /common \ - /drivers \ - !/drivers/port \ - /soc") + os.system("git sparse-checkout set arch/ \ + board/ \ + common/ \ + drivers/ \ + !drivers/port/ \ + soc/") os.system("git checkout {}".format(standalone_sdk_v)) print('Standalone sdk download is succeed') -- Gitee