diff --git a/README.md b/README.md
index 29b9a71d0b15b8676ab5c991fae822d6760aa5eb..158fee9baf80271ddf4731f752c1e38d35c6f370 100644
--- a/README.md
+++ b/README.md
@@ -29,6 +29,7 @@
- 参考[使用说明](./docs/reference/usr/usage.md), 新建Phytium FreeRTOS SDK的应用工程,与开发板建立连接
- 参考[例程](./example/template/), 新建Phytium FreeRTOS SDK的例程,在开发板上运行
+- 参考[添加板卡](./docs/reference/usr/how_to_add_board.md),添加自定义板卡
---
diff --git a/docs/ChangeLog.md b/docs/ChangeLog.md
index 8ce5e5d9244c89c3ff7bcec0c4e9f8ebf71dd8ad..7fd4a252d6d75f79037ae1e118c34d8b002fcc81 100644
--- a/docs/ChangeLog.md
+++ b/docs/ChangeLog.md
@@ -1,3 +1,55 @@
+# Phytium Standalone SDK 2024-01-19 ChangeLog
+
+Change Log since 2024-01-17
+
+## example
+
+- add xhci pcie device example
+- modify original xhci example as xhci platform example
+
+## third-party
+
+- fix some print mistype in debug log
+
+# Phytium Standalone SDK 2024-01-18 ChangeLog
+
+Change Log since 2024-01-18
+
+- Modify gitee install.py
+
+# Phytium Standalone SDK 2024-01-15 ChangeLog
+
+Change Log since 2024-01-15
+
+## docs
+
+- Added the description of user defined board
+- fixed image display issue on gitlab
+
+## third-party
+
+- Uniform use of faarch.h
+
+# Phytium Standalone SDK 2024-01-15 ChangeLog
+
+Change Log since 2024-01-12
+
+## example
+
+- update sdkconfig default platform
+
+# Phytium Standalone SDK 2024-01-12 ChangeLog
+
+Change Log since 2024-01-11
+
+## tools
+
+- modify install.py to support windows native build
+
+## doc
+
+- add reference doc to support windows native environment
+
# Phytium Standalone SDK 2024-01-11 ChangeLog
Change Log since 2024-01-09
diff --git a/docs/fig/windows_build_image.png b/docs/fig/windows_build_image.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e9af9a7f2d8fa1143587c4abd165d61866d4df7
Binary files /dev/null and b/docs/fig/windows_build_image.png differ
diff --git a/docs/fig/windows_env.png b/docs/fig/windows_env.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a7afe00529b9c65d916f5d6674160e575d3bb72
Binary files /dev/null and b/docs/fig/windows_env.png differ
diff --git a/docs/fig/windows_load_kconfig.png b/docs/fig/windows_load_kconfig.png
new file mode 100644
index 0000000000000000000000000000000000000000..0ec9cb4e9a6876ec33e6dc34f7d2d56d8be5d544
Binary files /dev/null and b/docs/fig/windows_load_kconfig.png differ
diff --git a/docs/reference/usr/how_to_add_board.md b/docs/reference/usr/how_to_add_board.md
new file mode 100644
index 0000000000000000000000000000000000000000..f3333df529ba5d6776554ca8ba50ea08dbb71561
--- /dev/null
+++ b/docs/reference/usr/how_to_add_board.md
@@ -0,0 +1,50 @@
+# FreeRTOS SDK
+## 添加board的步骤
+
+1. 通过git拉取Phytium FreeRTOS SDK的代码,如
+
+```
+git clone https://gitee.com/phytium_embedded/phytium-free-rtos-sdk.git ./phytium-free-rtos-sdk
+```
+
+2. 根据自己的环境按照[Linux aarch64](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk/blob/master/docs/reference/usr/install_linux_aarch64.md)/[Linux x86_64](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk/blob/master/docs/reference/usr/install_linux_x86_64.md)/[windows x86_64](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk/blob/master/docs/reference/usr/install_windows.md)进行SDK安装,环境变量打印正确无误,表示安装成功
+```
+echo $PHYTIUM_DEV_PATH $AARCH32_CROSS_PATH $AARCH64_CROSS_PATH
+```
+
+
+3. 在Phytium-FreeRTOS-SDK目录下的standalone文件夹中按照[添加board的步骤](https://gitee.com/phytium_embedded/phytium-standalone-sdk/blob/master/doc/reference/usr/how_to_add_board.md)进行操作
+ - 在board目录下添加以board命名的目录,以cus_demo为例
+ 
+ - 在board/board.kconfig文件下添加board相关信息,如CUS_DEMO_BOARD
+ 
+ - 在cus_demo目录下,新建cus_demo.kconfig文件,此文件用于配置默认board启动的项目,您可以配合fboard_init.c与fboard_init.h使用,用来程序启动时main.c来调用。以添加SPI默认启动项为例:
+ 
+ - 在cus_demo目录,添加fio_mux.c和fio_mux.h文件,可以参照已经写好的soc板fio_mux.c和fio_mux.h来配置您cus_board io复用配置(主要由于自行制作的soc板与我们例程使用的io接口存在差异)
+ 
+ - 在cus_demo目录下添加src.mk文件
+ ```
+ BOARD_CSRC += cus_demo/fio_mux.c
+ ```
+ - 在board目录下添加include.mk文件,使cus_demo目录下的*.h文件加入编译
+ ```
+ ifdef CONFIG_CUS_DEMO_BOARD
+ BUILD_INC_PATH_DIR += $(SDK_DIR)/board/cus_demo
+ endif
+ ```
+ - 在board目录下添加makefile文件,使cus_demo目录下的*.c文件加入编译
+ ```
+ # Use cus demo board
+ ifdef CONFIG_CUS_DEMO_BOARD
+ include cus_emo/src.mk
+ CSRCS_RELATIVE_FILES := $(BOARD_CSRC)
+ endif
+ ```
+4. 修改Phytium-FreeRTOS-SDK下example中的配置,使其能够选择到对应板子配置,在终端中执行以下操作:
+ - make menuconfig
+ - 选择Board Configuration -> Board Configuration -> Use Customization Board
+ 
+ - 保存退出
+ - make backup_kconfig
+ - 检查configs目录下是否生成新板卡的配置文件
+ 
diff --git a/docs/reference/usr/install_linux_aarch64.md b/docs/reference/usr/install_linux_aarch64.md
index 35a527d73b2aa0b2c687f14b07e1da36a9a087b3..2af566f147be5b3ae4287b1b50bf0b02a0e99909 100644
--- a/docs/reference/usr/install_linux_aarch64.md
+++ b/docs/reference/usr/install_linux_aarch64.md
@@ -2,7 +2,7 @@
Linux arm aarch64下通过下载SDK开发工具包完成安装,运行脚本`source ./setup_dev.sh`完成安装,安装前请先确认当前设备属于`Linux arm aarch64`
-
+
Linux arm aarch64安装包集成了,
- `gcc-arm-10.3-2021.07-aarch64-aarch64-none-elf.tar.xz`和`gcc-arm-10.3-2021.07-aarch64-arm-none-eabi.tar.xz`,aarch64交叉编译链,SDK安装过程中会被解压到DEV目录的`cross_tool`目录下
@@ -24,7 +24,7 @@ Linux arm aarch64安装包集成了,
- (2). 进入DEV目录,运行`./setup_dev.py`,安装开发环境
-
+
- (3). 通过git拉取Phytium FreeRTOS SDK的代码,如
@@ -64,7 +64,7 @@ echo $PHYTIUM_DEV_PATH
echo $AARCH32_CROSS_PATH
echo $AARCH64_CROSS_PATH
```
-
+
- 环境变量打印正确无误,表示**安装成功**
## 1.4 卸载开发环境
diff --git a/docs/reference/usr/install_linux_x86_64.md b/docs/reference/usr/install_linux_x86_64.md
index f05b4b573be23e887d6223a7e08687909841a117..9f5293ebba8d02da6d8a7ce2f1103af6f95986c7 100644
--- a/docs/reference/usr/install_linux_x86_64.md
+++ b/docs/reference/usr/install_linux_x86_64.md
@@ -2,7 +2,7 @@
Linux x86_64下通过下载SDK开发工具包完成安装,运行脚本`source ./setup_dev.sh`完成安装,安装前请先确认当前设备属于`Linux x86_64`
-
+
Linux x86_64安装包集成了,
- `gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz`和`gcc-arm-10.3-2021.07-x86_64-arm-none-eabi.tar.xz`,aarch64交叉编译链,SDK安装过程中会被解压到DEV目录的`cross_tool`目录下
diff --git a/docs/reference/usr/install_windows.md b/docs/reference/usr/install_windows.md
index d18ee5c418f29ee670e1e1c9e757dd0d7d7a0ff7..7a4fe69ed57ecef176c102c604ffc389c0ad7cd6 100644
--- a/docs/reference/usr/install_windows.md
+++ b/docs/reference/usr/install_windows.md
@@ -1,143 +1,35 @@
-# 1. Windows10 SDK安装方法
+# Windows 环境下的 FreeRTOS SDK 开发方法
-Windows 10 SDK开发环境集成了,
-- `msys64`,Msys2 portable环境, 主要提供Windows上的shell命令行开发环境,包括了Cygwin (POSIX 兼容性层) 和 MinGW-w64(从"MinGW-生成")
-- `setup_dev.py`, 安装脚本,主要的功能包括创建sdk的profile文件,创建`PHYTIUM_DEV_PATH`环境变量,通过git拉取SDK源码,以及完成SDK安装
-- `gcc-arm-10.3-2021.07-mingw-w64-i686-aarch64-none-elf.tar.xz`和`gcc-arm-10.3-2021.07-mingw-w64-i686-arm-none-eabi.tar.xz`, mingw64交叉编译链, SDK安装过程中会被解压到DEV目录的`cross_tool`目录下
-- `tftp`, tftp工具, 提供tftp服务,用于开发板下载二进制镜像文件,主要的功能包括安装tftp32服务和配置tftp目录
-- `run_msys2.cmd`,用于打开和配置msys2 shell的脚本,需要设置`PHYTIUM_DEV_PATH`后才能使用
-- `run_tftd.cmd`,用于打开tftpd工具的脚本,需要设置`PHYTIUM_DEV_PATH`后才能使用
-- `tftp/reinstall.cmd`, 用于安装和配置tftpd服务的脚本
-- `tftp/uninstall.cmd`, 用于卸载tftpd服务的脚本
+- 参考 Phytium Standalone SDK [安装 Winodws 下的开发环境](https://gitee.com/phytium_embedded/phytium-standalone-sdk/blob/master/doc/reference/usr/install_windows.md),支持 Windows 10/11 64 位环境
-## 1.1 获取SDK的开发环境
-- [Windows10](https://pan.baidu.com/s/1V96isNcPq4F7nKi3_8GoGg)
->提取码:WX64
-
-- Windows环境下可以用通用的unzip工具解压,如7zip和winrar
-
-## 1.2 安装SDK开发环境
-
-- (1). 添加Windows环境变量,`PHYTIUM_DEV_PATH`(环境变量名**不能自定义**),例如,指向文件夹`E:\phytium-dev-windows-nt`(可以自定义)
-
-
-
-- (2). 进入DEV目录,双击脚本`run_msys2.cmd`, 进入msys2控制台, 运行`./setup_dev.py`,注册开发环境
-
-
-
--(3). DEV目录注册完成后,通过git拉取Phytium FreeRTOS SDK的代码,如
+- (1) 通过git拉取Phytium FreeRTOS SDK的代码,如
```
git clone https://gitee.com/phytium_embedded/phytium-free-rtos-sdk.git ./phytium-free-rtos-sdk
-
-```
-
-- (4). 进入Phytium FreeRTOS SDK代码目录,运行`./install.py`
-
-```
-cd ./phytium-free-rtos-sdk
-./install.py
-```
-
-
-
-- (5). 安装完成后重启系统
-
-### Q: 如果当前环境无法连接互联网
-
-- 在执行第(2)步前,需要手动下载Phytium FreeRTOS SDK,放置在DEV目录下
-- https://gitee.com/phytium_embedded/phytium-free-rtos-sdk
-- 需要手动下载Phytium Standalone SDK,放置在DEV的standalone目录下
-- https://gitee.com/phytium_embedded/phytium-standalone-sdk
-
-
-
-## 1.3 检查安装是否成功
-
-- 打印下列环境变量,观察各变量是否存在,指向的目录是否正确
-> `PHYTIUM_DEV_PATH`指向DEV目录
-
-> `AARCH32_CROSS_PATH`指向32位交叉编译链目录
-
-> `AARCH64_CROSS_PATH`指向64位交叉编译链目录
-
-```
-echo $PHYTIUM_DEV_PATH $AARCH32_CROSS_PATH $AARCH64_CROSS_PATH
-```
-
-- 环境变量打印正确无误,表示**安装成功**
-## 1.4 Windows 10安装Msys2(可选)
-
-- (1). 获取[Windows环境安装包](https://pan.baidu.com/s/17WX5hec7t8_ubAKzFCwQAA)
-
-> 提取码:MGW6
-
-- msys2, `msys2-x86_64-20210725.exe`
-- mingw64-arm交叉编译链, `gcc-arm-10.3-2021.07-mingw-w64-i686-arm-none-eabi.tar.xz`, `gcc-arm-10.3-2021.07-mingw-w64-i686-aarch64-none-elf.tar.xz`
-- tftp工具,`tftp.zip`
-
-- (2). 创建Windows集成开发环境(DEV目录),如`D:/phytium-dev`, 将DEV目录添加在Windows环境变量中,变量名为`PHYTIUM_DEV_PATH`,如下图所示,保存环境变量,
-
-> 对于Windows 10,在桌面左下角系统搜索框中输入“环境变量”即可进入环境变量编辑界面
-
-> DEV目录中不要留空格
-
-
-
-- (3). 保存DEV环境变量后,打开一个控制台,输入`echo %PHYTIUM_DEV_PATH%`,检查环境变量是否设置成功,
-
-
-
-- (4). 双击`msys2-x86_64-20210725.exe`,设置`Msys2`的安装路径在DEV路径下,其余设置按默认安装,注意安装完成后不要马上启动,最后一步取消勾选“马上启动Msys2”
-
-
-
-
-
-- (5). `Msys2`安装完成后,需要添加国内软件源,否则下载速度会很慢,进入`D:\phytium-dev\msys64\etc\pacman.d`目录下,找到以下三个文件,在文件末尾分别添加对应的软件源
-
-- mirrorlist.mingw32
-```
-Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
+cd phytium-free-rtos-sdk
+python .\install.py
```
-- mirrorlist.mingw64
-```
-Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
-```
-
-- mirrorlist.msys
-```
-Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
-```
-
-- (6). 进入`D:\phytium-dev\msys64`目录,双击`msys2_shell.cmd`启动运行`Msys2`,输入以下命令,更新`Msys2`软件,安装必要组件
-
-> 如果执行失败,可以多次尝试,直到没有报错
-
-> 安装过程全部选用默认方式`default`或选择`y`,注意如果没有`default = all`,需要输入`y`
-
-```
-$ pacman -Syu
-$ pacman -S mingw-w64-x86_64-toolchain
-$ pacman -S base-devel git python3 python3-pip
-```
+
-
+- (2) 进入Phytium FreeRTOS SDK代码目录,选择一个 example 进行编译开发,例如使用 template 例程,目标平台为 E2000D Demo 板,首先加载默认配置
-- (7). 运行以下命令,检查组件是否安装完全
```
-$ pacman -Q make git wget python3 python3-pip
+cd .\example\template
+make list_kconfig
+make load_kconfig LOAD_CONFIG_NAME=e2000d_aarch64_demo_eg
+make menuconfig
+make clean
+make all
```
-## 1.5 卸载开发环境
+
-- 在DEV目录下双击`run_msys2.cmd`, 启动`Msys2`控制台,在控制台输入`./uninstall.py`完成SDK卸载
+- (3) 编译成功后会输出一系列镜像文件
-- 在`Msys2`控制台运行`rm /etc/profile.d/phytium_dev.sh`,删除SDK配置文件
+
-- 在DEV目录`D:\phytium-dev\tftp`下以**管理员权限**打开Windows命令行中断,运行`uninstall.cmd`完成Tftd卸载
+- (4) 参考 Phytium Standalone SDK [通过 TFTP 工具 上传镜像到开发板](https://gitee.com/phytium_embedded/phytium-standalone-sdk/blob/master/doc/reference/usr/install_windows.md)
-- 重启系统完成卸载
\ No newline at end of file
+- (5) 参考 Phytium Standalone SDK [使用 JTAG 适配器进行调试](https://gitee.com/phytium_embedded/phytium-standalone-sdk/blob/master/doc/reference/usr/install_windows.md)
diff --git "a/docs/reference/usr/pic/how_to_add_board/menuconfig\345\233\276.png" "b/docs/reference/usr/pic/how_to_add_board/menuconfig\345\233\276.png"
new file mode 100644
index 0000000000000000000000000000000000000000..45393f9029d672707e8788cc5a12469186c58d8a
Binary files /dev/null and "b/docs/reference/usr/pic/how_to_add_board/menuconfig\345\233\276.png" differ
diff --git "a/docs/reference/usr/pic/how_to_add_board/\346\211\223\345\215\260\347\216\257\345\242\203\345\217\230\351\207\217.png" "b/docs/reference/usr/pic/how_to_add_board/\346\211\223\345\215\260\347\216\257\345\242\203\345\217\230\351\207\217.png"
new file mode 100644
index 0000000000000000000000000000000000000000..658d21ce3582bf3b799466fcfde905fe0615f47f
Binary files /dev/null and "b/docs/reference/usr/pic/how_to_add_board/\346\211\223\345\215\260\347\216\257\345\242\203\345\217\230\351\207\217.png" differ
diff --git "a/docs/reference/usr/pic/how_to_add_board/\346\267\273\345\212\240board\347\233\256\345\275\225.png" "b/docs/reference/usr/pic/how_to_add_board/\346\267\273\345\212\240board\347\233\256\345\275\225.png"
new file mode 100644
index 0000000000000000000000000000000000000000..611faf43ddf69562e62754ad547dbcde474d1fea
Binary files /dev/null and "b/docs/reference/usr/pic/how_to_add_board/\346\267\273\345\212\240board\347\233\256\345\275\225.png" differ
diff --git "a/docs/reference/usr/pic/how_to_add_board/\346\267\273\345\212\240configs.png" "b/docs/reference/usr/pic/how_to_add_board/\346\267\273\345\212\240configs.png"
new file mode 100644
index 0000000000000000000000000000000000000000..b8d7d72dd41e55c4edf58d6bdf876022d90ee3bf
Binary files /dev/null and "b/docs/reference/usr/pic/how_to_add_board/\346\267\273\345\212\240configs.png" differ
diff --git "a/docs/reference/usr/pic/how_to_add_board/\346\267\273\345\212\240fio_mux.png" "b/docs/reference/usr/pic/how_to_add_board/\346\267\273\345\212\240fio_mux.png"
new file mode 100644
index 0000000000000000000000000000000000000000..645e4169f5a9efdfab7b2c1c394c8aa853af8ccf
Binary files /dev/null and "b/docs/reference/usr/pic/how_to_add_board/\346\267\273\345\212\240fio_mux.png" differ
diff --git "a/docs/reference/usr/pic/how_to_add_board/\346\267\273\345\212\240kconfig\346\226\207\344\273\266.png" "b/docs/reference/usr/pic/how_to_add_board/\346\267\273\345\212\240kconfig\346\226\207\344\273\266.png"
new file mode 100644
index 0000000000000000000000000000000000000000..7a70e739c7a7f408dbcb28c807c4f20a1b3c6ccd
Binary files /dev/null and "b/docs/reference/usr/pic/how_to_add_board/\346\267\273\345\212\240kconfig\346\226\207\344\273\266.png" differ
diff --git "a/docs/reference/usr/pic/how_to_add_board/\351\273\230\350\256\244\345\220\257\345\212\250\351\241\271.png" "b/docs/reference/usr/pic/how_to_add_board/\351\273\230\350\256\244\345\220\257\345\212\250\351\241\271.png"
new file mode 100644
index 0000000000000000000000000000000000000000..b93496d8fca4d7c989e653bbf5234a480735fd32
Binary files /dev/null and "b/docs/reference/usr/pic/how_to_add_board/\351\273\230\350\256\244\345\220\257\345\212\250\351\241\271.png" differ
diff --git a/docs/reference/usr/pic/linux-aarch64.png b/docs/reference/usr/pic/linux-aarch64.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a24eab86348f524e538f5279753a30b88b69227
Binary files /dev/null and b/docs/reference/usr/pic/linux-aarch64.png differ
diff --git a/docs/reference/usr/pic/linux-x86_64.png b/docs/reference/usr/pic/linux-x86_64.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a353ecd061bad0696df62b0e36304289e0d1f22
Binary files /dev/null and b/docs/reference/usr/pic/linux-x86_64.png differ
diff --git "a/docs/reference/usr/pic/tftpd\351\205\215\347\275\256\345\267\245\345\205\267.png" "b/docs/reference/usr/pic/tftpd\351\205\215\347\275\256\345\267\245\345\205\267.png"
new file mode 100644
index 0000000000000000000000000000000000000000..7c7155dd8a543064ae6d1237a7bfb23e8c2db27c
Binary files /dev/null and "b/docs/reference/usr/pic/tftpd\351\205\215\347\275\256\345\267\245\345\205\267.png" differ
diff --git "a/docs/reference/usr/pic/\345\220\257\345\212\250tftpd\346\234\215\345\212\241.png" "b/docs/reference/usr/pic/\345\220\257\345\212\250tftpd\346\234\215\345\212\241.png"
new file mode 100644
index 0000000000000000000000000000000000000000..4db954d0996cdda80eabc7538db82ae2f1e34590
Binary files /dev/null and "b/docs/reference/usr/pic/\345\220\257\345\212\250tftpd\346\234\215\345\212\241.png" differ
diff --git "a/docs/reference/usr/pic/\345\256\211\350\243\205\345\274\200\345\217\221\347\216\257\345\242\203.png" "b/docs/reference/usr/pic/\345\256\211\350\243\205\345\274\200\345\217\221\347\216\257\345\242\203.png"
new file mode 100644
index 0000000000000000000000000000000000000000..6e97ede9cff4c7a0d59896b27301344f13219327
Binary files /dev/null and "b/docs/reference/usr/pic/\345\256\211\350\243\205\345\274\200\345\217\221\347\216\257\345\242\203.png" differ
diff --git "a/docs/reference/usr/pic/\345\261\217\345\271\225\346\210\252\345\233\276.png" "b/docs/reference/usr/pic/\345\261\217\345\271\225\346\210\252\345\233\276.png"
new file mode 100644
index 0000000000000000000000000000000000000000..d16c1e52678c072a956c91931cab842e58a7748a
Binary files /dev/null and "b/docs/reference/usr/pic/\345\261\217\345\271\225\346\210\252\345\233\276.png" differ
diff --git "a/docs/reference/usr/pic/\346\243\200\346\237\245\347\216\257\345\242\203\345\217\230\351\207\217.png" "b/docs/reference/usr/pic/\346\243\200\346\237\245\347\216\257\345\242\203\345\217\230\351\207\217.png"
new file mode 100644
index 0000000000000000000000000000000000000000..48b958bbed0f808dc210713998c171e64f9988c8
Binary files /dev/null and "b/docs/reference/usr/pic/\346\243\200\346\237\245\347\216\257\345\242\203\345\217\230\351\207\217.png" differ
diff --git "a/docs/reference/usr/pic/\347\256\241\347\220\206\345\221\230\346\235\203\351\231\220\346\211\223\345\274\200.png" "b/docs/reference/usr/pic/\347\256\241\347\220\206\345\221\230\346\235\203\351\231\220\346\211\223\345\274\200.png"
new file mode 100644
index 0000000000000000000000000000000000000000..5b47cb97af0619f36f9c53773221e0918fcf42cc
Binary files /dev/null and "b/docs/reference/usr/pic/\347\256\241\347\220\206\345\221\230\346\235\203\351\231\220\346\211\223\345\274\200.png" differ
diff --git a/docs/reference/usr/usage.md b/docs/reference/usr/usage.md
index 099134baa508ee4fe213333568f1c115afa0bec2..7bdc19633733ecaa21f3984e9bddc88e35c3c191 100644
--- a/docs/reference/usr/usage.md
+++ b/docs/reference/usr/usage.md
@@ -122,17 +122,17 @@ tftp> q
- 将2.1.1章下载的`tftp.zip`解压到开发环境,如`D:\phytium-dev\tftp`
- 以**管理员权限**打开Windows cmd,进入`D:\phytium-dev\tftp`,运行`.\reinstall.cmd`完成Tftpd服务安装
-
+
-
+
- 之后每次使用前,进入Windows服务,手动将一下服务打开
-
+
- 进入SDK,双击`D:\phytium-dev\phytium-free-rtos-sdk`目录下的`run_tftd.cmd`,启动tftp工具,设置tftp目录和ip
-
+
- 将镜像文件放置在上图所示的`%PHYTIUM_IDE_PATH%\tftp`目录下,开发板即可通过`tftpboot`加载镜像
diff --git a/drivers/eth/xmac/fxmac_os.c b/drivers/eth/xmac/fxmac_os.c
index 2be61b76d9731f23673e98c0061c0da6a746f655..b7b93700b3a4231db1c8d0a97b26c18a98fc2271 100644
--- a/drivers/eth/xmac/fxmac_os.c
+++ b/drivers/eth/xmac/fxmac_os.c
@@ -31,12 +31,7 @@
#include "lwip_port.h"
#include "eth_ieee_reg.h"
#include "fcpu_info.h"
-
-#ifdef __aarch64__
- #include "faarch64.h"
-#else
- #include "faarch32.h"
-#endif
+#include "faarch.h"
#include "FreeRTOS.h"
#include "semphr.h"
diff --git a/example/freertos_feature/eventgroup/configs/d2000_aarch64_test_eventgroup.config b/example/freertos_feature/eventgroup/configs/d2000_aarch64_test_eventgroup.config
index 47498996aad06b9d21d0843086fd11217445f9f2..3dcc6cc84df7a0b6e228a525a1c328559993bf80 100644
--- a/example/freertos_feature/eventgroup/configs/d2000_aarch64_test_eventgroup.config
+++ b/example/freertos_feature/eventgroup/configs/d2000_aarch64_test_eventgroup.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/eventgroup/configs/e2000d_aarch64_demo_eventgroup.config b/example/freertos_feature/eventgroup/configs/e2000d_aarch64_demo_eventgroup.config
index 472a04611e17b2fd21bf1363b879fdfe29ff9752..a7902aef836cab1523949f07acd428096c5cc161 100644
--- a/example/freertos_feature/eventgroup/configs/e2000d_aarch64_demo_eventgroup.config
+++ b/example/freertos_feature/eventgroup/configs/e2000d_aarch64_demo_eventgroup.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/eventgroup/configs/e2000q_aarch64_demo_eventgroup.config b/example/freertos_feature/eventgroup/configs/e2000q_aarch64_demo_eventgroup.config
index babe89918e4d3961e68ef0949a623ee20c05423a..810a1d0dfb78d486f061bf6a53259d31caf21f11 100644
--- a/example/freertos_feature/eventgroup/configs/e2000q_aarch64_demo_eventgroup.config
+++ b/example/freertos_feature/eventgroup/configs/e2000q_aarch64_demo_eventgroup.config
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/eventgroup/configs/ft2004_aarch64_dsk_eventgroup.config b/example/freertos_feature/eventgroup/configs/ft2004_aarch64_dsk_eventgroup.config
index bcc215f5dc7731c9bfb6051a97500c4096a4eb6a..65451f6d925f43c888d80f830ea70fe82ad72441 100644
--- a/example/freertos_feature/eventgroup/configs/ft2004_aarch64_dsk_eventgroup.config
+++ b/example/freertos_feature/eventgroup/configs/ft2004_aarch64_dsk_eventgroup.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/eventgroup/configs/phytiumpi_aarch64_firefly_eventgroup.config b/example/freertos_feature/eventgroup/configs/phytiumpi_aarch64_firefly_eventgroup.config
index e47e93d2abda010d2da9ddc1454462ef391c8860..7d0bd380effa65c1e957152c4ec31fab4049cc8c 100644
--- a/example/freertos_feature/eventgroup/configs/phytiumpi_aarch64_firefly_eventgroup.config
+++ b/example/freertos_feature/eventgroup/configs/phytiumpi_aarch64_firefly_eventgroup.config
@@ -185,7 +185,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/eventgroup/sdkconfig b/example/freertos_feature/eventgroup/sdkconfig
index e47e93d2abda010d2da9ddc1454462ef391c8860..7d0bd380effa65c1e957152c4ec31fab4049cc8c 100644
--- a/example/freertos_feature/eventgroup/sdkconfig
+++ b/example/freertos_feature/eventgroup/sdkconfig
@@ -185,7 +185,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/eventgroup/sdkconfig.h b/example/freertos_feature/eventgroup/sdkconfig.h
index 604c022a77b4e926bbb481eb75d8fd7244f59eff..57d4aec07990ac6dea4f969ac2fc9ea33913452b 100644
--- a/example/freertos_feature/eventgroup/sdkconfig.h
+++ b/example/freertos_feature/eventgroup/sdkconfig.h
@@ -170,7 +170,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/freertos_feature/interrupt/configs/d2000_aarch64_test_interrupt.config b/example/freertos_feature/interrupt/configs/d2000_aarch64_test_interrupt.config
index c77b13a8e4193d0205cc78a755e805d488233242..765f7fa5c0b32dc9d0ff5921dbcc8383673d11d6 100644
--- a/example/freertos_feature/interrupt/configs/d2000_aarch64_test_interrupt.config
+++ b/example/freertos_feature/interrupt/configs/d2000_aarch64_test_interrupt.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/interrupt/configs/e2000d_aarch64_demo_interrupt.config b/example/freertos_feature/interrupt/configs/e2000d_aarch64_demo_interrupt.config
index a8ecc228b6ec4409114cfaf6c3e6857022bd8f05..c9706c6b20040e04114bd103e47381773e7042b8 100644
--- a/example/freertos_feature/interrupt/configs/e2000d_aarch64_demo_interrupt.config
+++ b/example/freertos_feature/interrupt/configs/e2000d_aarch64_demo_interrupt.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/interrupt/configs/e2000q_aarch64_demo_interrupt.config b/example/freertos_feature/interrupt/configs/e2000q_aarch64_demo_interrupt.config
index 21803179ba7a77b9e8be83e4b4c4dc236ad451e8..cbf467981918d059d1764c1e53d9c439e7bc206c 100644
--- a/example/freertos_feature/interrupt/configs/e2000q_aarch64_demo_interrupt.config
+++ b/example/freertos_feature/interrupt/configs/e2000q_aarch64_demo_interrupt.config
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/interrupt/configs/ft2004_aarch64_dsk_interrupt.config b/example/freertos_feature/interrupt/configs/ft2004_aarch64_dsk_interrupt.config
index 341eecad1633d792b442a0d882e265824061f986..7d7d4411079a7df812c10fac44dca84d39908035 100644
--- a/example/freertos_feature/interrupt/configs/ft2004_aarch64_dsk_interrupt.config
+++ b/example/freertos_feature/interrupt/configs/ft2004_aarch64_dsk_interrupt.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/interrupt/configs/phytiumpi_aarch64_firefly_interrupt.config b/example/freertos_feature/interrupt/configs/phytiumpi_aarch64_firefly_interrupt.config
index 65ec9d5678f8901c413c43e05f927b946e123798..a228f988f80a1252e8cbdfc5951585673bf9f63e 100644
--- a/example/freertos_feature/interrupt/configs/phytiumpi_aarch64_firefly_interrupt.config
+++ b/example/freertos_feature/interrupt/configs/phytiumpi_aarch64_firefly_interrupt.config
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/interrupt/sdkconfig b/example/freertos_feature/interrupt/sdkconfig
index 65ec9d5678f8901c413c43e05f927b946e123798..a228f988f80a1252e8cbdfc5951585673bf9f63e 100644
--- a/example/freertos_feature/interrupt/sdkconfig
+++ b/example/freertos_feature/interrupt/sdkconfig
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/interrupt/sdkconfig.h b/example/freertos_feature/interrupt/sdkconfig.h
index 307b92704872621be26491837f15fb48aad8a102..cedb95b5e080f130a53102ad85b0afc1de70ad12 100644
--- a/example/freertos_feature/interrupt/sdkconfig.h
+++ b/example/freertos_feature/interrupt/sdkconfig.h
@@ -183,7 +183,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/freertos_feature/queue/configs/d2000_aarch64_test_queue.config b/example/freertos_feature/queue/configs/d2000_aarch64_test_queue.config
index 9441cf0336a59760119df3dd1f4cf69c7312600b..2a260531bac8dc2464077b255822c1262ee88ad1 100644
--- a/example/freertos_feature/queue/configs/d2000_aarch64_test_queue.config
+++ b/example/freertos_feature/queue/configs/d2000_aarch64_test_queue.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/queue/configs/e2000d_aarch64_demo_queue.config b/example/freertos_feature/queue/configs/e2000d_aarch64_demo_queue.config
index 2351d466198eacd740a31cbcbc2db6dcedba8ec8..f4f53a846db75e2d9eb60efeed07d828cd5776dc 100644
--- a/example/freertos_feature/queue/configs/e2000d_aarch64_demo_queue.config
+++ b/example/freertos_feature/queue/configs/e2000d_aarch64_demo_queue.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/queue/configs/e2000q_aarch64_demo_queue.config b/example/freertos_feature/queue/configs/e2000q_aarch64_demo_queue.config
index ac3fd2936cb1cb40a4aa3825bef5c60cd9005755..ca86589f1293da1f2a77e212c8101f5c97523529 100644
--- a/example/freertos_feature/queue/configs/e2000q_aarch64_demo_queue.config
+++ b/example/freertos_feature/queue/configs/e2000q_aarch64_demo_queue.config
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/queue/configs/ft2004_aarch64_dsk_queue.config b/example/freertos_feature/queue/configs/ft2004_aarch64_dsk_queue.config
index 15d3ffa2cdf5a83ca94f6cbcf5262d2e45532527..205f340df4e28c1b50fe35b6e772cb68fe5ba57b 100644
--- a/example/freertos_feature/queue/configs/ft2004_aarch64_dsk_queue.config
+++ b/example/freertos_feature/queue/configs/ft2004_aarch64_dsk_queue.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/queue/configs/phytiumpi_aarch64_firefly_queue.config b/example/freertos_feature/queue/configs/phytiumpi_aarch64_firefly_queue.config
index 596f6d1211709c10e167d1f8ac19edcb86db7176..43eef3aa52a924216f0e642cd99e374a942914a1 100644
--- a/example/freertos_feature/queue/configs/phytiumpi_aarch64_firefly_queue.config
+++ b/example/freertos_feature/queue/configs/phytiumpi_aarch64_firefly_queue.config
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/queue/sdkconfig b/example/freertos_feature/queue/sdkconfig
index 596f6d1211709c10e167d1f8ac19edcb86db7176..43eef3aa52a924216f0e642cd99e374a942914a1 100644
--- a/example/freertos_feature/queue/sdkconfig
+++ b/example/freertos_feature/queue/sdkconfig
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/queue/sdkconfig.h b/example/freertos_feature/queue/sdkconfig.h
index 20ccecd66fb6a823519255871a32460096a54429..67971596b61293ae6e84dbe14ebda46121a42e39 100644
--- a/example/freertos_feature/queue/sdkconfig.h
+++ b/example/freertos_feature/queue/sdkconfig.h
@@ -183,7 +183,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/freertos_feature/resource/configs/d2000_aarch64_test_resoure.config b/example/freertos_feature/resource/configs/d2000_aarch64_test_resoure.config
index 31c2472170c7aa8e78d98f3b8120cb5a3375374b..f5380f240a5d79f8bb11d925b1301e32678eb106 100644
--- a/example/freertos_feature/resource/configs/d2000_aarch64_test_resoure.config
+++ b/example/freertos_feature/resource/configs/d2000_aarch64_test_resoure.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/resource/configs/e2000d_aarch64_demo_resoure.config b/example/freertos_feature/resource/configs/e2000d_aarch64_demo_resoure.config
index 64ee308ae2514878f7d682ee3e01b39f29f74c52..d02b7439c7b3087bd915fbbc0009205b702080ed 100644
--- a/example/freertos_feature/resource/configs/e2000d_aarch64_demo_resoure.config
+++ b/example/freertos_feature/resource/configs/e2000d_aarch64_demo_resoure.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/resource/configs/e2000q_aarch64_demo_resoure.config b/example/freertos_feature/resource/configs/e2000q_aarch64_demo_resoure.config
index 11af4b7f871feb5405e34cc13ab60f24d39565e2..9329a2ae40e11b7bc71bec37b26bc767f0b91d5e 100644
--- a/example/freertos_feature/resource/configs/e2000q_aarch64_demo_resoure.config
+++ b/example/freertos_feature/resource/configs/e2000q_aarch64_demo_resoure.config
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/resource/configs/ft2004_aarch64_dsk_resoure.config b/example/freertos_feature/resource/configs/ft2004_aarch64_dsk_resoure.config
index ac32f118dbc5ab83447fd0dfbd5161c250ebebae..3278b9ca83b7456a6b887be69bb5662286ed8886 100644
--- a/example/freertos_feature/resource/configs/ft2004_aarch64_dsk_resoure.config
+++ b/example/freertos_feature/resource/configs/ft2004_aarch64_dsk_resoure.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/resource/configs/phytiumpi_aarch64_firefly_resoure.config b/example/freertos_feature/resource/configs/phytiumpi_aarch64_firefly_resoure.config
index 3740502c8a387c43c37f7f6fd7af3cb26b2ef47c..be8d150db3e1e5577ad37fdd4178c86f6823d461 100644
--- a/example/freertos_feature/resource/configs/phytiumpi_aarch64_firefly_resoure.config
+++ b/example/freertos_feature/resource/configs/phytiumpi_aarch64_firefly_resoure.config
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/resource/sdkconfig b/example/freertos_feature/resource/sdkconfig
index 3740502c8a387c43c37f7f6fd7af3cb26b2ef47c..be8d150db3e1e5577ad37fdd4178c86f6823d461 100644
--- a/example/freertos_feature/resource/sdkconfig
+++ b/example/freertos_feature/resource/sdkconfig
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/resource/sdkconfig.h b/example/freertos_feature/resource/sdkconfig.h
index 956efb551e1000e633d615867a0087fefba460ee..322e7ef85e758fc3168e0b786d72a1552970f772 100644
--- a/example/freertos_feature/resource/sdkconfig.h
+++ b/example/freertos_feature/resource/sdkconfig.h
@@ -183,7 +183,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/freertos_feature/software_timer/configs/d2000_aarch64_test_software_timer.config b/example/freertos_feature/software_timer/configs/d2000_aarch64_test_software_timer.config
index 432ab4418742ee6449c5e40cf6b5b039001ba9ab..2c13b31e5210055acbbe78a64578e86de1574e04 100644
--- a/example/freertos_feature/software_timer/configs/d2000_aarch64_test_software_timer.config
+++ b/example/freertos_feature/software_timer/configs/d2000_aarch64_test_software_timer.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/software_timer/configs/e2000d_aarch64_demo_software_timer.config b/example/freertos_feature/software_timer/configs/e2000d_aarch64_demo_software_timer.config
index 00ee23a0709b29e10847c6d618fc9af1a6261bac..684d63b6cc793fe9ad9d204a751f850baa6cc8d8 100644
--- a/example/freertos_feature/software_timer/configs/e2000d_aarch64_demo_software_timer.config
+++ b/example/freertos_feature/software_timer/configs/e2000d_aarch64_demo_software_timer.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/software_timer/configs/e2000q_aarch64_demo_software_timer.config b/example/freertos_feature/software_timer/configs/e2000q_aarch64_demo_software_timer.config
index 667e7a06327e07e7b391c03d9dea631642267c7d..7ea4927ed1a4409f2cd1395b3a008d7f1597b5fc 100644
--- a/example/freertos_feature/software_timer/configs/e2000q_aarch64_demo_software_timer.config
+++ b/example/freertos_feature/software_timer/configs/e2000q_aarch64_demo_software_timer.config
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/software_timer/configs/ft2004_aarch64_dsk_software_timer.config b/example/freertos_feature/software_timer/configs/ft2004_aarch64_dsk_software_timer.config
index 3398d307a78d37e996fc88668deaa43c2e508266..a741e4f8b6062e512cbc6403dee464b6361a7d34 100644
--- a/example/freertos_feature/software_timer/configs/ft2004_aarch64_dsk_software_timer.config
+++ b/example/freertos_feature/software_timer/configs/ft2004_aarch64_dsk_software_timer.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/software_timer/configs/phytiumpi_aarch64_firefly_software_timer.config b/example/freertos_feature/software_timer/configs/phytiumpi_aarch64_firefly_software_timer.config
index c9c5958f7e1f8f79efeca1abc84ce377b553ff52..614dc06576a3722214b2bb4d7cc7b243bd0ddcf6 100644
--- a/example/freertos_feature/software_timer/configs/phytiumpi_aarch64_firefly_software_timer.config
+++ b/example/freertos_feature/software_timer/configs/phytiumpi_aarch64_firefly_software_timer.config
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/software_timer/sdkconfig b/example/freertos_feature/software_timer/sdkconfig
index c9c5958f7e1f8f79efeca1abc84ce377b553ff52..614dc06576a3722214b2bb4d7cc7b243bd0ddcf6 100644
--- a/example/freertos_feature/software_timer/sdkconfig
+++ b/example/freertos_feature/software_timer/sdkconfig
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/software_timer/sdkconfig.h b/example/freertos_feature/software_timer/sdkconfig.h
index e68ac0d41af2fa18b47e1a9e76c35ef56628e9b5..25557fde7dc832e53244bd8b1561876975d51dc5 100644
--- a/example/freertos_feature/software_timer/sdkconfig.h
+++ b/example/freertos_feature/software_timer/sdkconfig.h
@@ -183,7 +183,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/freertos_feature/task/configs/d2000_aarch64_test_task.config b/example/freertos_feature/task/configs/d2000_aarch64_test_task.config
index c62a83f42fb853e189f3cafe111552ce3c725dbf..25367617a892fc50c91f2da0be9a86edfc1cd4f2 100644
--- a/example/freertos_feature/task/configs/d2000_aarch64_test_task.config
+++ b/example/freertos_feature/task/configs/d2000_aarch64_test_task.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/task/configs/e2000d_aarch64_demo_task.config b/example/freertos_feature/task/configs/e2000d_aarch64_demo_task.config
index 6cedbacc114a75c69d3a472f8ccf75bcb415752f..b5f8fd08916c3c4bc69e83378d9d7256f2ea6818 100644
--- a/example/freertos_feature/task/configs/e2000d_aarch64_demo_task.config
+++ b/example/freertos_feature/task/configs/e2000d_aarch64_demo_task.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/task/configs/e2000q_aarch64_demo_task.config b/example/freertos_feature/task/configs/e2000q_aarch64_demo_task.config
index e160f440c23634ea7cacb67b9b572002e8e41698..496b288b3db93af27dafc8a2006b549e3c86b39d 100644
--- a/example/freertos_feature/task/configs/e2000q_aarch64_demo_task.config
+++ b/example/freertos_feature/task/configs/e2000q_aarch64_demo_task.config
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/task/configs/ft2004_aarch64_dsk_task.config b/example/freertos_feature/task/configs/ft2004_aarch64_dsk_task.config
index 7366d5cb04ef4c6f1e02ecb97a3d186f530070ef..b1406762197b5e0c1e5301cb07a5274722f613f2 100644
--- a/example/freertos_feature/task/configs/ft2004_aarch64_dsk_task.config
+++ b/example/freertos_feature/task/configs/ft2004_aarch64_dsk_task.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/task/configs/phytiumpi_aarch64_firefly_task.config b/example/freertos_feature/task/configs/phytiumpi_aarch64_firefly_task.config
index a70a6f8d20b538f37794d25d93099b0bcbadb3bc..978d6b9dda0b7330321d291a30260cc313b2bd08 100644
--- a/example/freertos_feature/task/configs/phytiumpi_aarch64_firefly_task.config
+++ b/example/freertos_feature/task/configs/phytiumpi_aarch64_firefly_task.config
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/task/sdkconfig b/example/freertos_feature/task/sdkconfig
index a70a6f8d20b538f37794d25d93099b0bcbadb3bc..978d6b9dda0b7330321d291a30260cc313b2bd08 100644
--- a/example/freertos_feature/task/sdkconfig
+++ b/example/freertos_feature/task/sdkconfig
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/task/sdkconfig.h b/example/freertos_feature/task/sdkconfig.h
index 697157a7ad124be1627257d266e6984f3c339b15..d46a1f638dc1e3a238a5cb5550c376b3ba4bb48a 100644
--- a/example/freertos_feature/task/sdkconfig.h
+++ b/example/freertos_feature/task/sdkconfig.h
@@ -183,7 +183,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/freertos_feature/task_notify/configs/d2000_aarch64_test_task_notify.config b/example/freertos_feature/task_notify/configs/d2000_aarch64_test_task_notify.config
index c01e416e98a3d29e1935910752623867818774ad..8d2f42410b7c60721b67db46c21e4a0bbe47d21d 100644
--- a/example/freertos_feature/task_notify/configs/d2000_aarch64_test_task_notify.config
+++ b/example/freertos_feature/task_notify/configs/d2000_aarch64_test_task_notify.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/task_notify/configs/e2000d_aarch64_demo_task_notify.config b/example/freertos_feature/task_notify/configs/e2000d_aarch64_demo_task_notify.config
index 743cdb6e21dc951bbc1de3c1659a25f6df31f93e..5d2f9802ba199a3a9a23f49c7dd7f02f4895f9f0 100644
--- a/example/freertos_feature/task_notify/configs/e2000d_aarch64_demo_task_notify.config
+++ b/example/freertos_feature/task_notify/configs/e2000d_aarch64_demo_task_notify.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/task_notify/configs/e2000q_aarch64_demo_task_notify.config b/example/freertos_feature/task_notify/configs/e2000q_aarch64_demo_task_notify.config
index ae71ffc9b991d9ced1d5945f6f2e9bc9261f5e3e..52a1990adfa45d930082933a5c51a67e9cae5df7 100644
--- a/example/freertos_feature/task_notify/configs/e2000q_aarch64_demo_task_notify.config
+++ b/example/freertos_feature/task_notify/configs/e2000q_aarch64_demo_task_notify.config
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/task_notify/configs/ft2004_aarch64_dsk_task_notify.config b/example/freertos_feature/task_notify/configs/ft2004_aarch64_dsk_task_notify.config
index cb75fa6f33b9c3cb781c6e67714ebd0a1a139d8f..5e8fa2d71c7c15c03050e83b69b9a4a943a8a281 100644
--- a/example/freertos_feature/task_notify/configs/ft2004_aarch64_dsk_task_notify.config
+++ b/example/freertos_feature/task_notify/configs/ft2004_aarch64_dsk_task_notify.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/task_notify/configs/phytiumpi_aarch64_firefly_task_notify.config b/example/freertos_feature/task_notify/configs/phytiumpi_aarch64_firefly_task_notify.config
index 26d34295d2ad1467f0510010e1e344ba1e323097..2f7b642a4c79c53e619b222b4953a6fd104873f0 100644
--- a/example/freertos_feature/task_notify/configs/phytiumpi_aarch64_firefly_task_notify.config
+++ b/example/freertos_feature/task_notify/configs/phytiumpi_aarch64_firefly_task_notify.config
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/task_notify/sdkconfig b/example/freertos_feature/task_notify/sdkconfig
index 26d34295d2ad1467f0510010e1e344ba1e323097..2f7b642a4c79c53e619b222b4953a6fd104873f0 100644
--- a/example/freertos_feature/task_notify/sdkconfig
+++ b/example/freertos_feature/task_notify/sdkconfig
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/freertos_feature/task_notify/sdkconfig.h b/example/freertos_feature/task_notify/sdkconfig.h
index 3f6dca605652ec4848e11368ccc9b24aad6267c7..9adae0620ebd41919af9eb8ed4882f18a40adf32 100644
--- a/example/freertos_feature/task_notify/sdkconfig.h
+++ b/example/freertos_feature/task_notify/sdkconfig.h
@@ -183,7 +183,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/network/lwip_startup/configs/d2000_aarch64_test_lwip_startup.config b/example/network/lwip_startup/configs/d2000_aarch64_test_lwip_startup.config
index 910071dbcbde44cba1688e5999015978a9be6fec..318aab3bca5201c399889a7c7647ca0c53ad0f8d 100644
--- a/example/network/lwip_startup/configs/d2000_aarch64_test_lwip_startup.config
+++ b/example/network/lwip_startup/configs/d2000_aarch64_test_lwip_startup.config
@@ -199,7 +199,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/lwip_startup/configs/e2000d_aarch64_demo_lwip_startup.config b/example/network/lwip_startup/configs/e2000d_aarch64_demo_lwip_startup.config
index 130c7afe4e3e1e73c27be175c226420b6619db35..ec028b5354492d1592db2a2c8ee3698569daaba2 100644
--- a/example/network/lwip_startup/configs/e2000d_aarch64_demo_lwip_startup.config
+++ b/example/network/lwip_startup/configs/e2000d_aarch64_demo_lwip_startup.config
@@ -212,7 +212,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/lwip_startup/configs/e2000q_aarch64_demo_lwip_startup.config b/example/network/lwip_startup/configs/e2000q_aarch64_demo_lwip_startup.config
index 727143a681cb9869ba8f29e92176c285c313f80f..0bcae8bfd2f8b2c622ee622adb068d03612837b8 100644
--- a/example/network/lwip_startup/configs/e2000q_aarch64_demo_lwip_startup.config
+++ b/example/network/lwip_startup/configs/e2000q_aarch64_demo_lwip_startup.config
@@ -211,7 +211,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/lwip_startup/configs/ft2004_aarch64_dsk_lwip_startup.config b/example/network/lwip_startup/configs/ft2004_aarch64_dsk_lwip_startup.config
index 5ae308f9a40fb9b2f270017ffffebf08410fb663..82c2da0e76d138f40e544e11f95d25154319a21d 100644
--- a/example/network/lwip_startup/configs/ft2004_aarch64_dsk_lwip_startup.config
+++ b/example/network/lwip_startup/configs/ft2004_aarch64_dsk_lwip_startup.config
@@ -199,7 +199,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/lwip_startup/configs/phytiumpi_aarch64_firefly_lwip_startup.config b/example/network/lwip_startup/configs/phytiumpi_aarch64_firefly_lwip_startup.config
index 42d8d9e7516dd39d765ed8fbb04c0b7eb2ea179a..2ee0144f28285f9d4ba5c111f1d341104cccdcc6 100644
--- a/example/network/lwip_startup/configs/phytiumpi_aarch64_firefly_lwip_startup.config
+++ b/example/network/lwip_startup/configs/phytiumpi_aarch64_firefly_lwip_startup.config
@@ -210,7 +210,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/lwip_startup/sdkconfig b/example/network/lwip_startup/sdkconfig
index 42d8d9e7516dd39d765ed8fbb04c0b7eb2ea179a..2ee0144f28285f9d4ba5c111f1d341104cccdcc6 100644
--- a/example/network/lwip_startup/sdkconfig
+++ b/example/network/lwip_startup/sdkconfig
@@ -210,7 +210,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/lwip_startup/sdkconfig.h b/example/network/lwip_startup/sdkconfig.h
index 5633df5f8e1a7b11aefb645e54ebc71d2f6bd9df..ec4a98581742c0f877972ac90968052000c6966e 100644
--- a/example/network/lwip_startup/sdkconfig.h
+++ b/example/network/lwip_startup/sdkconfig.h
@@ -191,7 +191,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/network/sockets/udp_multicast/configs/d2000_aarch64_test_udp_multicast.config b/example/network/sockets/udp_multicast/configs/d2000_aarch64_test_udp_multicast.config
index 4a15634ca3148a17f6ccad7b45abe587284a4c74..3015f2bfdf7bd73a69ea8082dfe3d87ba56e494f 100644
--- a/example/network/sockets/udp_multicast/configs/d2000_aarch64_test_udp_multicast.config
+++ b/example/network/sockets/udp_multicast/configs/d2000_aarch64_test_udp_multicast.config
@@ -216,7 +216,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/sockets/udp_multicast/configs/e2000d_aarch64_demo_udp_multicast.config b/example/network/sockets/udp_multicast/configs/e2000d_aarch64_demo_udp_multicast.config
index a4b9a4a124a84a61db46fb1c78da691ac42f365d..be29a66da20a7027708443ff3e91d21db4934e31 100644
--- a/example/network/sockets/udp_multicast/configs/e2000d_aarch64_demo_udp_multicast.config
+++ b/example/network/sockets/udp_multicast/configs/e2000d_aarch64_demo_udp_multicast.config
@@ -229,7 +229,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/sockets/udp_multicast/configs/e2000q_aarch64_demo_udp_multicast.config b/example/network/sockets/udp_multicast/configs/e2000q_aarch64_demo_udp_multicast.config
index c62a1a9bd3682a905bd543c53b02a98f980fbe1f..d23fe059ebdcc6dd600d189fe7a535061c5ce287 100644
--- a/example/network/sockets/udp_multicast/configs/e2000q_aarch64_demo_udp_multicast.config
+++ b/example/network/sockets/udp_multicast/configs/e2000q_aarch64_demo_udp_multicast.config
@@ -228,7 +228,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/sockets/udp_multicast/configs/ft2004_aarch64_dsk_udp_multicast.config b/example/network/sockets/udp_multicast/configs/ft2004_aarch64_dsk_udp_multicast.config
index 64aeb55f3bb64b3089f843906597d02402d49549..7b4b24ea10d16bd56d6901c6f5505cf5e96cb250 100644
--- a/example/network/sockets/udp_multicast/configs/ft2004_aarch64_dsk_udp_multicast.config
+++ b/example/network/sockets/udp_multicast/configs/ft2004_aarch64_dsk_udp_multicast.config
@@ -216,7 +216,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/sockets/udp_multicast/configs/phytiumpi_aarch64_firefly_udp_multicast.config b/example/network/sockets/udp_multicast/configs/phytiumpi_aarch64_firefly_udp_multicast.config
index 5dd9f43b5192d4928ddfecebe3781c6efe2dec6a..fa762d35ef8b5d2247d15d807e6cc3b575cdfc79 100644
--- a/example/network/sockets/udp_multicast/configs/phytiumpi_aarch64_firefly_udp_multicast.config
+++ b/example/network/sockets/udp_multicast/configs/phytiumpi_aarch64_firefly_udp_multicast.config
@@ -227,7 +227,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/sockets/udp_multicast/sdkconfig b/example/network/sockets/udp_multicast/sdkconfig
index 5dd9f43b5192d4928ddfecebe3781c6efe2dec6a..fa762d35ef8b5d2247d15d807e6cc3b575cdfc79 100644
--- a/example/network/sockets/udp_multicast/sdkconfig
+++ b/example/network/sockets/udp_multicast/sdkconfig
@@ -227,7 +227,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/sockets/udp_multicast/sdkconfig.h b/example/network/sockets/udp_multicast/sdkconfig.h
index 35e39b4889016cc3d40d3320a874f601c59b75f8..bf12336370abd29228883e6386ee8dea5626c331 100644
--- a/example/network/sockets/udp_multicast/sdkconfig.h
+++ b/example/network/sockets/udp_multicast/sdkconfig.h
@@ -205,7 +205,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/network/wlan/configs/e2000d_aarch64_demo_wlan.config b/example/network/wlan/configs/e2000d_aarch64_demo_wlan.config
index 5e326bee116a6b1a9526879c024214462225a477..332741364dde621e4470260fb9f7e96993f5ce3d 100644
--- a/example/network/wlan/configs/e2000d_aarch64_demo_wlan.config
+++ b/example/network/wlan/configs/e2000d_aarch64_demo_wlan.config
@@ -205,7 +205,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/wlan/configs/e2000q_aarch64_demo_wlan.config b/example/network/wlan/configs/e2000q_aarch64_demo_wlan.config
index bd0c446bbf7b7ea16e208f1d4ac8b3aa3bcd1381..d465a29a9f7a674f411e2e27290c8f0dbbdb8b25 100644
--- a/example/network/wlan/configs/e2000q_aarch64_demo_wlan.config
+++ b/example/network/wlan/configs/e2000q_aarch64_demo_wlan.config
@@ -204,7 +204,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/wlan/sdkconfig b/example/network/wlan/sdkconfig
index bd0c446bbf7b7ea16e208f1d4ac8b3aa3bcd1381..d465a29a9f7a674f411e2e27290c8f0dbbdb8b25 100644
--- a/example/network/wlan/sdkconfig
+++ b/example/network/wlan/sdkconfig
@@ -204,7 +204,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/network/wlan/sdkconfig.h b/example/network/wlan/sdkconfig.h
index 227e8a015df751becdcf9bc34f2173d2507a5c21..58a5413b2957bc1292926d2f49e60e1059ac39f2 100644
--- a/example/network/wlan/sdkconfig.h
+++ b/example/network/wlan/sdkconfig.h
@@ -187,7 +187,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/adc/configs/e2000d_aarch64_demo_adc.config b/example/peripheral/adc/configs/e2000d_aarch64_demo_adc.config
index fcad5ce39d146ac8b394d58523f094d4ee4bd8d0..38a623d035c407bc28cfd4249b8e2838deb51568 100644
--- a/example/peripheral/adc/configs/e2000d_aarch64_demo_adc.config
+++ b/example/peripheral/adc/configs/e2000d_aarch64_demo_adc.config
@@ -209,7 +209,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/adc/sdkconfig b/example/peripheral/adc/sdkconfig
index fcad5ce39d146ac8b394d58523f094d4ee4bd8d0..38a623d035c407bc28cfd4249b8e2838deb51568 100644
--- a/example/peripheral/adc/sdkconfig
+++ b/example/peripheral/adc/sdkconfig
@@ -209,7 +209,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/adc/sdkconfig.h b/example/peripheral/adc/sdkconfig.h
index 176430b65db38794677c9da28a9947fdc93a450a..e610e89d69903b8b8dd182ce97e2b66318c68238 100644
--- a/example/peripheral/adc/sdkconfig.h
+++ b/example/peripheral/adc/sdkconfig.h
@@ -190,7 +190,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/can/can/configs/d2000_aarch64_test_can.config b/example/peripheral/can/can/configs/d2000_aarch64_test_can.config
index 0d65e77e46fd2bde589382fdd9a38d19bcc2fdba..28d2a905e28de6a66f04154e5d4926a8a8e29c4b 100644
--- a/example/peripheral/can/can/configs/d2000_aarch64_test_can.config
+++ b/example/peripheral/can/can/configs/d2000_aarch64_test_can.config
@@ -190,7 +190,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/can/can/configs/e2000d_aarch64_demo_can.config b/example/peripheral/can/can/configs/e2000d_aarch64_demo_can.config
index 1a7411a2ea7be3481a8ddece7b6d149873438871..6a4490643e032d3c3f485a4f92b38a3102552d0f 100644
--- a/example/peripheral/can/can/configs/e2000d_aarch64_demo_can.config
+++ b/example/peripheral/can/can/configs/e2000d_aarch64_demo_can.config
@@ -203,7 +203,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/can/can/configs/e2000q_aarch64_demo_can.config b/example/peripheral/can/can/configs/e2000q_aarch64_demo_can.config
index 8bab49f38707f75d883e40122f20dcb889f13aab..2d3c8206f7a8848fab9c90fdb4abd0ffe647a841 100644
--- a/example/peripheral/can/can/configs/e2000q_aarch64_demo_can.config
+++ b/example/peripheral/can/can/configs/e2000q_aarch64_demo_can.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/can/can/configs/ft2004_aarch64_dsk_can.config b/example/peripheral/can/can/configs/ft2004_aarch64_dsk_can.config
index 5e0541758ac1f7346bce8862cc57cba8e910a72b..f3cfd2e6e37e5d18f059fb4078fecefba50d66dd 100644
--- a/example/peripheral/can/can/configs/ft2004_aarch64_dsk_can.config
+++ b/example/peripheral/can/can/configs/ft2004_aarch64_dsk_can.config
@@ -190,7 +190,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/can/can/sdkconfig b/example/peripheral/can/can/sdkconfig
index 5e0541758ac1f7346bce8862cc57cba8e910a72b..f3cfd2e6e37e5d18f059fb4078fecefba50d66dd 100644
--- a/example/peripheral/can/can/sdkconfig
+++ b/example/peripheral/can/can/sdkconfig
@@ -190,7 +190,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/can/can/sdkconfig.h b/example/peripheral/can/can/sdkconfig.h
index 7179d0dc32b812d962bae1a151417ce5852ac410..1c4d9b25fbf229552501b229d1ab6be95a1f7f4e 100644
--- a/example/peripheral/can/can/sdkconfig.h
+++ b/example/peripheral/can/can/sdkconfig.h
@@ -174,7 +174,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/can/can/src/can_polled_loopback_mode_example.c b/example/peripheral/can/can/src/can_polled_loopback_mode_example.c
index 9ae3d7adbf3cd34de72784736b0e89af87109846..63863d7a81b110b6e15e77a33b0f6f7d7a3f655b 100644
--- a/example/peripheral/can/can/src/can_polled_loopback_mode_example.c
+++ b/example/peripheral/can/can/src/can_polled_loopback_mode_example.c
@@ -280,8 +280,8 @@ static void FFreeRTOSCanSendTask(void *pvParameters)
printf("can%d send failed.\n", instance_id);
}
count[instance_id]++;
- xQueueSendToBack(xQueue, &instance_id, portMAX_DELAY);
vTaskDelay(CAN_SEND_PERIOD);
+ xQueueSendToBack(xQueue, &instance_id, portMAX_DELAY);
}
if ( (send_frame[instance_id - 1].canid == send_max_id) )
{
diff --git a/example/peripheral/can/canfd/configs/e2000d_aarch64_demo_canfd.config b/example/peripheral/can/canfd/configs/e2000d_aarch64_demo_canfd.config
index 51708c1453f4d32adec71d051d26ffee2ef3fa25..cb457c7f57d9e55b85f2866ced90318fb1bd8236 100644
--- a/example/peripheral/can/canfd/configs/e2000d_aarch64_demo_canfd.config
+++ b/example/peripheral/can/canfd/configs/e2000d_aarch64_demo_canfd.config
@@ -203,7 +203,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/can/canfd/configs/e2000q_aarch64_demo_canfd.config b/example/peripheral/can/canfd/configs/e2000q_aarch64_demo_canfd.config
index 6d2cc0d337106e2121735ea12b73384879a5cad0..61e9664ca5393a16ec877d7e6e33c16bc20c8e69 100644
--- a/example/peripheral/can/canfd/configs/e2000q_aarch64_demo_canfd.config
+++ b/example/peripheral/can/canfd/configs/e2000q_aarch64_demo_canfd.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/can/canfd/sdkconfig b/example/peripheral/can/canfd/sdkconfig
index 6d2cc0d337106e2121735ea12b73384879a5cad0..61e9664ca5393a16ec877d7e6e33c16bc20c8e69 100644
--- a/example/peripheral/can/canfd/sdkconfig
+++ b/example/peripheral/can/canfd/sdkconfig
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/can/canfd/sdkconfig.h b/example/peripheral/can/canfd/sdkconfig.h
index 16be6c2fee81622d1211c7ddc399aaf095c75097..78c8560226bb94f6e0cf92098411a43e0a4ba23e 100644
--- a/example/peripheral/can/canfd/sdkconfig.h
+++ b/example/peripheral/can/canfd/sdkconfig.h
@@ -185,7 +185,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x100000
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/can/canfd/src/canfd_polled_loopback_mode_example.c b/example/peripheral/can/canfd/src/canfd_polled_loopback_mode_example.c
index 4ee435c8ceeff094a8c32c1f389efd8265cca693..45356964e7b7707f9b596bcbc22268af99b1de9f 100644
--- a/example/peripheral/can/canfd/src/canfd_polled_loopback_mode_example.c
+++ b/example/peripheral/can/canfd/src/canfd_polled_loopback_mode_example.c
@@ -288,8 +288,8 @@ static void FFreeRTOSCanfdSendTask(void *pvParameters)
printf("canfd%d send failed.\n", instance_id);
}
count[instance_id]++;
- xQueueSendToBack(xQueue, &instance_id, portMAX_DELAY);
vTaskDelay(CAN_SEND_PERIOD);
+ xQueueSendToBack(xQueue, &instance_id, portMAX_DELAY);
}
if ( (send_frame[instance_id - 1].canid == send_max_id) )
{
diff --git a/example/peripheral/dma/ddma/configs/e2000d_aarch64_demo_ddma.config b/example/peripheral/dma/ddma/configs/e2000d_aarch64_demo_ddma.config
index 0b78552094d3e62ddfab75acd8774305b34867ad..ccf5a6882399e23f78252c315c88d0145eed94fa 100644
--- a/example/peripheral/dma/ddma/configs/e2000d_aarch64_demo_ddma.config
+++ b/example/peripheral/dma/ddma/configs/e2000d_aarch64_demo_ddma.config
@@ -205,7 +205,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/dma/ddma/configs/e2000q_aarch64_demo_ddma.config b/example/peripheral/dma/ddma/configs/e2000q_aarch64_demo_ddma.config
index 1d3288aaf372d87af992d5bb42fc343218968cfb..5a9b7f12c33184e9761096c688c3d5070f6369c1 100644
--- a/example/peripheral/dma/ddma/configs/e2000q_aarch64_demo_ddma.config
+++ b/example/peripheral/dma/ddma/configs/e2000q_aarch64_demo_ddma.config
@@ -204,7 +204,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/dma/ddma/configs/phytiumpi_aarch64_firefly_ddma.config b/example/peripheral/dma/ddma/configs/phytiumpi_aarch64_firefly_ddma.config
index 9a92f91e15637d3b30292e00641d332c4db79580..395ab855423cf1e9c26da6725ee3c5e7b419bb1b 100644
--- a/example/peripheral/dma/ddma/configs/phytiumpi_aarch64_firefly_ddma.config
+++ b/example/peripheral/dma/ddma/configs/phytiumpi_aarch64_firefly_ddma.config
@@ -203,7 +203,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/dma/ddma/sdkconfig b/example/peripheral/dma/ddma/sdkconfig
index 9a92f91e15637d3b30292e00641d332c4db79580..395ab855423cf1e9c26da6725ee3c5e7b419bb1b 100644
--- a/example/peripheral/dma/ddma/sdkconfig
+++ b/example/peripheral/dma/ddma/sdkconfig
@@ -203,7 +203,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/dma/ddma/sdkconfig.h b/example/peripheral/dma/ddma/sdkconfig.h
index 4e8552e617117cb4d445b337e1880e98c400f895..39e525b84fbf5641a2a016e26a73376eaf878789 100644
--- a/example/peripheral/dma/ddma/sdkconfig.h
+++ b/example/peripheral/dma/ddma/sdkconfig.h
@@ -186,7 +186,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/dma/gdma/configs/e2000d_aarch64_demo_gdma.config b/example/peripheral/dma/gdma/configs/e2000d_aarch64_demo_gdma.config
index 09b7a7fcc3dc1682d8fcd18040a8fca08f6f29cd..908b32de1ffcc969fb137ecfab006fa974c58c01 100644
--- a/example/peripheral/dma/gdma/configs/e2000d_aarch64_demo_gdma.config
+++ b/example/peripheral/dma/gdma/configs/e2000d_aarch64_demo_gdma.config
@@ -204,7 +204,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/dma/gdma/configs/e2000q_aarch64_demo_gdma.config b/example/peripheral/dma/gdma/configs/e2000q_aarch64_demo_gdma.config
index eddb37afe409559741b6ec92d3e3d5be788221bb..1a906f94f870c97ba715f23dd27a08e3bbedb777 100644
--- a/example/peripheral/dma/gdma/configs/e2000q_aarch64_demo_gdma.config
+++ b/example/peripheral/dma/gdma/configs/e2000q_aarch64_demo_gdma.config
@@ -203,7 +203,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/dma/gdma/configs/phytiumpi_aarch64_firefly_gdma.config b/example/peripheral/dma/gdma/configs/phytiumpi_aarch64_firefly_gdma.config
index 0a45a8ace7607dec4a2c9b37e358158029cd46d5..493a3432394a3f4548da38d74023b2e35ea47884 100644
--- a/example/peripheral/dma/gdma/configs/phytiumpi_aarch64_firefly_gdma.config
+++ b/example/peripheral/dma/gdma/configs/phytiumpi_aarch64_firefly_gdma.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/dma/gdma/sdkconfig b/example/peripheral/dma/gdma/sdkconfig
index 0a45a8ace7607dec4a2c9b37e358158029cd46d5..493a3432394a3f4548da38d74023b2e35ea47884 100644
--- a/example/peripheral/dma/gdma/sdkconfig
+++ b/example/peripheral/dma/gdma/sdkconfig
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/dma/gdma/sdkconfig.h b/example/peripheral/dma/gdma/sdkconfig.h
index 27610a5eced10e849b9a91f5ad0741fbf3a1b9fb..f764113fdd57193f6a4e5017d3dd9f2fdd4a6c1e 100644
--- a/example/peripheral/dma/gdma/sdkconfig.h
+++ b/example/peripheral/dma/gdma/sdkconfig.h
@@ -185,7 +185,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/gpio/configs/e2000d_aarch64_demo_gpio.config b/example/peripheral/gpio/configs/e2000d_aarch64_demo_gpio.config
index 418cd50a35dc8f44cbfd6a5e73365dbb8db6144c..4fae5afa8c9b4540af5e0bf7f2a67e9a124750b8 100644
--- a/example/peripheral/gpio/configs/e2000d_aarch64_demo_gpio.config
+++ b/example/peripheral/gpio/configs/e2000d_aarch64_demo_gpio.config
@@ -203,7 +203,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/gpio/configs/e2000q_aarch64_demo_gpio.config b/example/peripheral/gpio/configs/e2000q_aarch64_demo_gpio.config
index 0bec24093a4de23310c578f01e4066b2c1e3819a..7dd5faaf5ccd17bf9c7a7e36d5b88c8ab287903b 100644
--- a/example/peripheral/gpio/configs/e2000q_aarch64_demo_gpio.config
+++ b/example/peripheral/gpio/configs/e2000q_aarch64_demo_gpio.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/gpio/configs/phytiumpi_aarch64_firefly_gpio.config b/example/peripheral/gpio/configs/phytiumpi_aarch64_firefly_gpio.config
index 8625e4da3c487bd52d507730a8e073afdc197456..4abd519323ead405758f055ef10549063f184a40 100644
--- a/example/peripheral/gpio/configs/phytiumpi_aarch64_firefly_gpio.config
+++ b/example/peripheral/gpio/configs/phytiumpi_aarch64_firefly_gpio.config
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/gpio/sdkconfig b/example/peripheral/gpio/sdkconfig
index 8625e4da3c487bd52d507730a8e073afdc197456..4abd519323ead405758f055ef10549063f184a40 100644
--- a/example/peripheral/gpio/sdkconfig
+++ b/example/peripheral/gpio/sdkconfig
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/gpio/sdkconfig.h b/example/peripheral/gpio/sdkconfig.h
index 99748f28029dcd85c35e9fbc69799c5371dedd94..20c3c7eed6d51700c2291297a7855e5d67b22f47 100644
--- a/example/peripheral/gpio/sdkconfig.h
+++ b/example/peripheral/gpio/sdkconfig.h
@@ -184,7 +184,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/i2c/configs/e2000d_aarch64_demo_i2c.config b/example/peripheral/i2c/configs/e2000d_aarch64_demo_i2c.config
index aaf1e2fb513653bd54335bf44520d5ac107615fd..17833bb8fbd9f60a3045633e64236cb2f27085c9 100644
--- a/example/peripheral/i2c/configs/e2000d_aarch64_demo_i2c.config
+++ b/example/peripheral/i2c/configs/e2000d_aarch64_demo_i2c.config
@@ -210,7 +210,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/i2c/configs/e2000q_aarch64_demo_i2c.config b/example/peripheral/i2c/configs/e2000q_aarch64_demo_i2c.config
index 4e4298d2c5e899d40e01d7cf1cdfbbdfbdde6a9b..9bbc791014be188216533819949ac7c5ded80266 100644
--- a/example/peripheral/i2c/configs/e2000q_aarch64_demo_i2c.config
+++ b/example/peripheral/i2c/configs/e2000q_aarch64_demo_i2c.config
@@ -209,7 +209,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/i2c/configs/phytiumpi_aarch64_firefly_i2c.config b/example/peripheral/i2c/configs/phytiumpi_aarch64_firefly_i2c.config
index ef3b705f7f7b33dc977cded1d604976bc221a8ab..4ef6652eb8ed107e27e5d9cabbc822b015991690 100644
--- a/example/peripheral/i2c/configs/phytiumpi_aarch64_firefly_i2c.config
+++ b/example/peripheral/i2c/configs/phytiumpi_aarch64_firefly_i2c.config
@@ -208,7 +208,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/i2c/sdkconfig b/example/peripheral/i2c/sdkconfig
index ef3b705f7f7b33dc977cded1d604976bc221a8ab..4ef6652eb8ed107e27e5d9cabbc822b015991690 100644
--- a/example/peripheral/i2c/sdkconfig
+++ b/example/peripheral/i2c/sdkconfig
@@ -208,7 +208,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/i2c/sdkconfig.h b/example/peripheral/i2c/sdkconfig.h
index b5118e02a4a4de14ba1f97fbfbe5a3935eef1229..6486dde76fc9010d13192c5e35310ed7efa7913f 100644
--- a/example/peripheral/i2c/sdkconfig.h
+++ b/example/peripheral/i2c/sdkconfig.h
@@ -189,7 +189,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/media/lvgl_demo/configs/e2000d_aarch64_demo_media.config b/example/peripheral/media/lvgl_demo/configs/e2000d_aarch64_demo_media.config
index 818e4fdb868c850860d16bf2e85d53f0d93d6fdb..a04c4f3bc59c60e3016db4fe326b36adee7341de 100644
--- a/example/peripheral/media/lvgl_demo/configs/e2000d_aarch64_demo_media.config
+++ b/example/peripheral/media/lvgl_demo/configs/e2000d_aarch64_demo_media.config
@@ -209,7 +209,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x100000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/lvgl_demo/configs/e2000q_aarch64_demo_media.config b/example/peripheral/media/lvgl_demo/configs/e2000q_aarch64_demo_media.config
index beb6f7527c6fbd71447cb86b928e52abb0dd531d..1eae7f181e64093d21cf62b931a42c0827c2d819 100644
--- a/example/peripheral/media/lvgl_demo/configs/e2000q_aarch64_demo_media.config
+++ b/example/peripheral/media/lvgl_demo/configs/e2000q_aarch64_demo_media.config
@@ -208,7 +208,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x100000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/lvgl_demo/configs/phytiumpi_aarch64_firefly_media.config b/example/peripheral/media/lvgl_demo/configs/phytiumpi_aarch64_firefly_media.config
index 2b41bfe1bda7cc776430fb08efa84b180662f556..2eeb94f0aacc76128bf75826f72004783f55df79 100644
--- a/example/peripheral/media/lvgl_demo/configs/phytiumpi_aarch64_firefly_media.config
+++ b/example/peripheral/media/lvgl_demo/configs/phytiumpi_aarch64_firefly_media.config
@@ -207,7 +207,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x100000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/lvgl_demo/sdkconfig b/example/peripheral/media/lvgl_demo/sdkconfig
index 2b41bfe1bda7cc776430fb08efa84b180662f556..2eeb94f0aacc76128bf75826f72004783f55df79 100644
--- a/example/peripheral/media/lvgl_demo/sdkconfig
+++ b/example/peripheral/media/lvgl_demo/sdkconfig
@@ -207,7 +207,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x100000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/lvgl_demo/sdkconfig.h b/example/peripheral/media/lvgl_demo/sdkconfig.h
index 8a9e09ddcd95203c22058dd5b11722dee7e22fff..7ffeed43c3272751e313461bbee044847db3d6db 100644
--- a/example/peripheral/media/lvgl_demo/sdkconfig.h
+++ b/example/peripheral/media/lvgl_demo/sdkconfig.h
@@ -188,7 +188,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x100000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/media/lvgl_indev/configs/e2000d_aarch64_demo_media.config b/example/peripheral/media/lvgl_indev/configs/e2000d_aarch64_demo_media.config
index e66c72aeed8620ac46bc30425008bf9c0a013670..d1bcdc2f2d44730b466b907d9f456db2b57bad99 100644
--- a/example/peripheral/media/lvgl_indev/configs/e2000d_aarch64_demo_media.config
+++ b/example/peripheral/media/lvgl_indev/configs/e2000d_aarch64_demo_media.config
@@ -210,7 +210,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x10000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/lvgl_indev/configs/e2000q_aarch64_demo_media.config b/example/peripheral/media/lvgl_indev/configs/e2000q_aarch64_demo_media.config
index b2df5178cc378774ea8876efe754248ff028782e..0e759d17990f6880dfd9e1d8afafb8eed72dba69 100644
--- a/example/peripheral/media/lvgl_indev/configs/e2000q_aarch64_demo_media.config
+++ b/example/peripheral/media/lvgl_indev/configs/e2000q_aarch64_demo_media.config
@@ -209,7 +209,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x10000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/lvgl_indev/configs/phytiumpi_aarch64_firefly_media.config b/example/peripheral/media/lvgl_indev/configs/phytiumpi_aarch64_firefly_media.config
index a3bf1e2e387d2af4a32f229285e1378b53e590b3..b2f56f94c4f5e33089dfcd70fb9aa40ac9d3265f 100644
--- a/example/peripheral/media/lvgl_indev/configs/phytiumpi_aarch64_firefly_media.config
+++ b/example/peripheral/media/lvgl_indev/configs/phytiumpi_aarch64_firefly_media.config
@@ -208,7 +208,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x10000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/lvgl_indev/sdkconfig b/example/peripheral/media/lvgl_indev/sdkconfig
index a3bf1e2e387d2af4a32f229285e1378b53e590b3..b2f56f94c4f5e33089dfcd70fb9aa40ac9d3265f 100644
--- a/example/peripheral/media/lvgl_indev/sdkconfig
+++ b/example/peripheral/media/lvgl_indev/sdkconfig
@@ -208,7 +208,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x10000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/lvgl_indev/sdkconfig.h b/example/peripheral/media/lvgl_indev/sdkconfig.h
index ef21da3449694222e42f667450b67c25ca0d41d8..a4f12020f2ba0d4644292102a701ff0336bd610b 100644
--- a/example/peripheral/media/lvgl_indev/sdkconfig.h
+++ b/example/peripheral/media/lvgl_indev/sdkconfig.h
@@ -189,7 +189,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x10000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/media/media_test/configs/e2000d_aarch64_demo_freertos.config b/example/peripheral/media/media_test/configs/e2000d_aarch64_demo_freertos.config
index a0063860c02573c6be594fa040d5dc9fc45b7b0e..459d8d0eef330af76e2d2094a9e2a87b0d2bd5a9 100644
--- a/example/peripheral/media/media_test/configs/e2000d_aarch64_demo_freertos.config
+++ b/example/peripheral/media/media_test/configs/e2000d_aarch64_demo_freertos.config
@@ -208,7 +208,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x10000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/media_test/configs/e2000d_aarch64_demo_media.config b/example/peripheral/media/media_test/configs/e2000d_aarch64_demo_media.config
index 815ec450c350c2b38a2c0bcd8bdcc63f391d90bf..534df0ef1c662073d334181c60837efa76f3d9ab 100644
--- a/example/peripheral/media/media_test/configs/e2000d_aarch64_demo_media.config
+++ b/example/peripheral/media/media_test/configs/e2000d_aarch64_demo_media.config
@@ -208,7 +208,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x10000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/media_test/configs/e2000q_aarch64_demo_freertos.config b/example/peripheral/media/media_test/configs/e2000q_aarch64_demo_freertos.config
index a153b472c9e3c72edd24e135db40a4c4b76b773f..4a8ab3068de7be98452aa76ef5acbc161d270867 100644
--- a/example/peripheral/media/media_test/configs/e2000q_aarch64_demo_freertos.config
+++ b/example/peripheral/media/media_test/configs/e2000q_aarch64_demo_freertos.config
@@ -207,7 +207,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x10000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/media_test/configs/e2000q_aarch64_demo_media.config b/example/peripheral/media/media_test/configs/e2000q_aarch64_demo_media.config
index 82b02eeb09ff677bd38b57c607c39e4014b564b7..009b122167d3408887fdb3a7e444481d39ebe149 100644
--- a/example/peripheral/media/media_test/configs/e2000q_aarch64_demo_media.config
+++ b/example/peripheral/media/media_test/configs/e2000q_aarch64_demo_media.config
@@ -207,7 +207,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x10000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/media_test/configs/phytiumpi_aarch64_firefly_freertos.config b/example/peripheral/media/media_test/configs/phytiumpi_aarch64_firefly_freertos.config
index 3a1102819bdc34337f941d596411382888a20ed9..acfc327418b853df4d766a587ece4107045c34d0 100644
--- a/example/peripheral/media/media_test/configs/phytiumpi_aarch64_firefly_freertos.config
+++ b/example/peripheral/media/media_test/configs/phytiumpi_aarch64_firefly_freertos.config
@@ -206,7 +206,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x10000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/media_test/configs/phytiumpi_aarch64_firefly_media.config b/example/peripheral/media/media_test/configs/phytiumpi_aarch64_firefly_media.config
index 53714961e1baf8b8f78e3fcf07183e2d73dc7a4c..fdd869adf86eba370fcb741fb90a4728fa3b612d 100644
--- a/example/peripheral/media/media_test/configs/phytiumpi_aarch64_firefly_media.config
+++ b/example/peripheral/media/media_test/configs/phytiumpi_aarch64_firefly_media.config
@@ -206,7 +206,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x10000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/media_test/sdkconfig b/example/peripheral/media/media_test/sdkconfig
index 53714961e1baf8b8f78e3fcf07183e2d73dc7a4c..fdd869adf86eba370fcb741fb90a4728fa3b612d 100644
--- a/example/peripheral/media/media_test/sdkconfig
+++ b/example/peripheral/media/media_test/sdkconfig
@@ -206,7 +206,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x10000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/media/media_test/sdkconfig.h b/example/peripheral/media/media_test/sdkconfig.h
index ef963f4eb4c30be6db90c1b9ea31471617be3795..40c62ae1e612d334ef2c9413e7084fe85fef8e53 100644
--- a/example/peripheral/media/media_test/sdkconfig.h
+++ b/example/peripheral/media/media_test/sdkconfig.h
@@ -187,7 +187,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x10000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/pwm/configs/e2000d_aarch64_demo_pwm.config b/example/peripheral/pwm/configs/e2000d_aarch64_demo_pwm.config
index 6e77b2b65044aaa88d9c8e8ed9a5077f9a980668..a4ca1cc2ec9423ed05320a0ef0531a0f2ba75b95 100644
--- a/example/peripheral/pwm/configs/e2000d_aarch64_demo_pwm.config
+++ b/example/peripheral/pwm/configs/e2000d_aarch64_demo_pwm.config
@@ -209,7 +209,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/pwm/configs/e2000q_aarch64_demo_pwm.config b/example/peripheral/pwm/configs/e2000q_aarch64_demo_pwm.config
index 0d814224fa8a1d6b7d79dd9abde50dba4ccac9cc..32f9d2def30abf7fa5e65289eac197a14aea42c4 100644
--- a/example/peripheral/pwm/configs/e2000q_aarch64_demo_pwm.config
+++ b/example/peripheral/pwm/configs/e2000q_aarch64_demo_pwm.config
@@ -208,7 +208,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/pwm/configs/phytiumpi_aarch64_firefly_pwm.config b/example/peripheral/pwm/configs/phytiumpi_aarch64_firefly_pwm.config
index 1d36129cbbfa2742e517604ff0481eea29418337..4abc0f117df5b18375f7327b7c3dbc1c1d961dae 100644
--- a/example/peripheral/pwm/configs/phytiumpi_aarch64_firefly_pwm.config
+++ b/example/peripheral/pwm/configs/phytiumpi_aarch64_firefly_pwm.config
@@ -207,7 +207,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/pwm/sdkconfig b/example/peripheral/pwm/sdkconfig
index 1d36129cbbfa2742e517604ff0481eea29418337..4abc0f117df5b18375f7327b7c3dbc1c1d961dae 100644
--- a/example/peripheral/pwm/sdkconfig
+++ b/example/peripheral/pwm/sdkconfig
@@ -207,7 +207,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/pwm/sdkconfig.h b/example/peripheral/pwm/sdkconfig.h
index 2cb434ba3f71feb1c6677798290bf4ba03e9af43..edf6f1d6ff95be93ffc60eafdc96349225044121 100644
--- a/example/peripheral/pwm/sdkconfig.h
+++ b/example/peripheral/pwm/sdkconfig.h
@@ -188,7 +188,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/qspi/configs/d2000_aarch64_test_qspi.config b/example/peripheral/qspi/configs/d2000_aarch64_test_qspi.config
index 7f6b416134cf258ac40371f35535b9d6a54aaffe..0003a1a53a7e37d847d0858b3445e8b27f00d9af 100644
--- a/example/peripheral/qspi/configs/d2000_aarch64_test_qspi.config
+++ b/example/peripheral/qspi/configs/d2000_aarch64_test_qspi.config
@@ -196,7 +196,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/qspi/configs/e2000d_aarch64_demo_qspi.config b/example/peripheral/qspi/configs/e2000d_aarch64_demo_qspi.config
index d628367dfaf3c12b1dc4b7ebd399edbd43c89d0c..6b95954ccd673373985069188ed88623dbc6dd4a 100644
--- a/example/peripheral/qspi/configs/e2000d_aarch64_demo_qspi.config
+++ b/example/peripheral/qspi/configs/e2000d_aarch64_demo_qspi.config
@@ -209,7 +209,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/qspi/configs/e2000q_aarch64_demo_qspi.config b/example/peripheral/qspi/configs/e2000q_aarch64_demo_qspi.config
index 6c69a5364fad399cb562199a4e221d30580a6229..011a14edc492108528c0dfca645304199777356f 100644
--- a/example/peripheral/qspi/configs/e2000q_aarch64_demo_qspi.config
+++ b/example/peripheral/qspi/configs/e2000q_aarch64_demo_qspi.config
@@ -208,7 +208,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/qspi/configs/ft2004_aarch64_dsk_qspi.config b/example/peripheral/qspi/configs/ft2004_aarch64_dsk_qspi.config
index 0a604edede237a43b61ba4233335f1b61e466a86..5b097ca16c1c6f4e9485746872105473d04f5b02 100644
--- a/example/peripheral/qspi/configs/ft2004_aarch64_dsk_qspi.config
+++ b/example/peripheral/qspi/configs/ft2004_aarch64_dsk_qspi.config
@@ -196,7 +196,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/qspi/configs/phytiumpi_aarch64_firefly_qspi.config b/example/peripheral/qspi/configs/phytiumpi_aarch64_firefly_qspi.config
index a6dfc0c14f96a0e84f75c835f97e094c5d931b9b..6c738394e1b5a7c4947b4c54bfc533d5a8f34b60 100644
--- a/example/peripheral/qspi/configs/phytiumpi_aarch64_firefly_qspi.config
+++ b/example/peripheral/qspi/configs/phytiumpi_aarch64_firefly_qspi.config
@@ -207,7 +207,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/qspi/sdkconfig b/example/peripheral/qspi/sdkconfig
index a6dfc0c14f96a0e84f75c835f97e094c5d931b9b..6c738394e1b5a7c4947b4c54bfc533d5a8f34b60 100644
--- a/example/peripheral/qspi/sdkconfig
+++ b/example/peripheral/qspi/sdkconfig
@@ -207,7 +207,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/qspi/sdkconfig.h b/example/peripheral/qspi/sdkconfig.h
index db982d6c00c9f0a42d16d6c191b3c9382d706880..5191928ffd3d8fd13920780c8c087a5e3411b8e3 100644
--- a/example/peripheral/qspi/sdkconfig.h
+++ b/example/peripheral/qspi/sdkconfig.h
@@ -188,7 +188,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/sdif/configs/e2000d_aarch64_demo_sdif.config b/example/peripheral/sdif/configs/e2000d_aarch64_demo_sdif.config
index 808895595d0ff4da167ce8f09c02f8348c755a07..35dc33002b724b7be8105a43151f2e5f423fb4ca 100644
--- a/example/peripheral/sdif/configs/e2000d_aarch64_demo_sdif.config
+++ b/example/peripheral/sdif/configs/e2000d_aarch64_demo_sdif.config
@@ -204,7 +204,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/sdif/configs/e2000q_aarch64_demo_sdif.config b/example/peripheral/sdif/configs/e2000q_aarch64_demo_sdif.config
index 693482e6bd0615a81d2e3ed4b15d521b1a70a3ba..1908f389b06c239cb449c2496dea935fa86cfc1f 100644
--- a/example/peripheral/sdif/configs/e2000q_aarch64_demo_sdif.config
+++ b/example/peripheral/sdif/configs/e2000q_aarch64_demo_sdif.config
@@ -203,7 +203,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/sdif/sdkconfig b/example/peripheral/sdif/sdkconfig
index 693482e6bd0615a81d2e3ed4b15d521b1a70a3ba..1908f389b06c239cb449c2496dea935fa86cfc1f 100644
--- a/example/peripheral/sdif/sdkconfig
+++ b/example/peripheral/sdif/sdkconfig
@@ -203,7 +203,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/sdif/sdkconfig.h b/example/peripheral/sdif/sdkconfig.h
index dd9ec3f0b21086b74ad8dbd9f887acb3ca600938..e7a3b6bb019bdcf6e8654c7da0a54015cdfab769 100644
--- a/example/peripheral/sdif/sdkconfig.h
+++ b/example/peripheral/sdif/sdkconfig.h
@@ -186,7 +186,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/spi/configs/e2000d_aarch64_demo_spi.config b/example/peripheral/spi/configs/e2000d_aarch64_demo_spi.config
index 43e939cd501155595b7700afbbd1026603451548..5f9f8b83747bba70fc2cdfbbe171306bd6dac721 100644
--- a/example/peripheral/spi/configs/e2000d_aarch64_demo_spi.config
+++ b/example/peripheral/spi/configs/e2000d_aarch64_demo_spi.config
@@ -203,7 +203,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/spi/configs/e2000q_aarch64_demo_spi.config b/example/peripheral/spi/configs/e2000q_aarch64_demo_spi.config
index cd12f0f350ce6c76f0bf3433a21d564035eb5f07..647a2109707e17a8e367e49cc9f29edd19c8a633 100644
--- a/example/peripheral/spi/configs/e2000q_aarch64_demo_spi.config
+++ b/example/peripheral/spi/configs/e2000q_aarch64_demo_spi.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/spi/configs/phytiumpi_aarch64_firefly_spi.config b/example/peripheral/spi/configs/phytiumpi_aarch64_firefly_spi.config
index e6522925839dbf46f6e1aceddbde204aec72e63e..140b51be593bf6d104223c15db330d1bbb0caca5 100644
--- a/example/peripheral/spi/configs/phytiumpi_aarch64_firefly_spi.config
+++ b/example/peripheral/spi/configs/phytiumpi_aarch64_firefly_spi.config
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/spi/sdkconfig b/example/peripheral/spi/sdkconfig
index e6522925839dbf46f6e1aceddbde204aec72e63e..140b51be593bf6d104223c15db330d1bbb0caca5 100644
--- a/example/peripheral/spi/sdkconfig
+++ b/example/peripheral/spi/sdkconfig
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/spi/sdkconfig.h b/example/peripheral/spi/sdkconfig.h
index c362506c4c08063dd10a38dbda0d8780b00a206d..f7d47172fa702bf3e5efa2f568c92b69e83288d7 100644
--- a/example/peripheral/spi/sdkconfig.h
+++ b/example/peripheral/spi/sdkconfig.h
@@ -184,7 +184,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/timer_tacho/configs/e2000d_aarch64_demo_timer.config b/example/peripheral/timer_tacho/configs/e2000d_aarch64_demo_timer.config
index 68fd00c5b290860de5d6d140d452c182a683f9a1..e2b1a3db3b7c727c6436acec1fab75cd8b527674 100644
--- a/example/peripheral/timer_tacho/configs/e2000d_aarch64_demo_timer.config
+++ b/example/peripheral/timer_tacho/configs/e2000d_aarch64_demo_timer.config
@@ -208,7 +208,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/timer_tacho/configs/e2000q_aarch64_demo_timer.config b/example/peripheral/timer_tacho/configs/e2000q_aarch64_demo_timer.config
index 4b72e6097cc44df8a6ea43eca943614634d44ae4..270212d4c5591799a00dd83fea57b5631eb30a6a 100644
--- a/example/peripheral/timer_tacho/configs/e2000q_aarch64_demo_timer.config
+++ b/example/peripheral/timer_tacho/configs/e2000q_aarch64_demo_timer.config
@@ -207,7 +207,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/timer_tacho/configs/phytiumpi_aarch64_firefly_timer.config b/example/peripheral/timer_tacho/configs/phytiumpi_aarch64_firefly_timer.config
index 6f32f7ce5eb08ee98412c088c8fce27f628a92b8..a8ce1b125f9cbefc505a3fcbe74995a588da58d1 100644
--- a/example/peripheral/timer_tacho/configs/phytiumpi_aarch64_firefly_timer.config
+++ b/example/peripheral/timer_tacho/configs/phytiumpi_aarch64_firefly_timer.config
@@ -206,7 +206,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/timer_tacho/sdkconfig b/example/peripheral/timer_tacho/sdkconfig
index 6f32f7ce5eb08ee98412c088c8fce27f628a92b8..a8ce1b125f9cbefc505a3fcbe74995a588da58d1 100644
--- a/example/peripheral/timer_tacho/sdkconfig
+++ b/example/peripheral/timer_tacho/sdkconfig
@@ -206,7 +206,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/timer_tacho/sdkconfig.h b/example/peripheral/timer_tacho/sdkconfig.h
index 13e27ba9155ca79431b9893bdaafe96905472034..c006bc1285c4ee93d7863b9072e79041aefcde5d 100644
--- a/example/peripheral/timer_tacho/sdkconfig.h
+++ b/example/peripheral/timer_tacho/sdkconfig.h
@@ -187,7 +187,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/usb/cherryusb_host/Kconfig b/example/peripheral/usb/xhci_pcie/Kconfig
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/Kconfig
rename to example/peripheral/usb/xhci_pcie/Kconfig
diff --git a/example/peripheral/usb/xhci_pcie/README.md b/example/peripheral/usb/xhci_pcie/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..c8036939e762128e8b13b1bd52f1a60cf46a5015
--- /dev/null
+++ b/example/peripheral/usb/xhci_pcie/README.md
@@ -0,0 +1,147 @@
+
+# XHCI Host 测试 (PCIe 设备)
+
+## 1. 例程介绍
+
+>介绍例程的用途,使用场景,相关基本概念,描述用户可以使用例程完成哪些工作
+
+XHCI(eXtensible Host Controller Interface),即可扩展的主机控制器接口,是英特尔公司开发的一个USB主机控制器接口,主要是面向USB 3.0的,同时它也支持USB 2.0及以下的设备,XHCI 控制器有两种类型,一种是平台设备,另外一种是 PCIe 扩展设备
+
+CherryUSB 是一个用于嵌入式系统 USB 协议栈,支持运行在 Host 模式和 Device 模式
+
+本例程展示了如何使用 CherryUSB 驱动 PCIe 扩展的 XHCI 控制器,识别和使用 USB 设备,如果使用 PCIe 扩展的 XHCI 控制器可以参考[xhci_platfrom 例程](../xhci_platform/README.md)
+
+## 2. 如何使用例程
+
+>描述开发平台准备,使用例程配置,构建和下载镜像的过程
+
+### 2.1 硬件配置方法
+
+>哪些硬件平台是支持的,需要哪些外设,例程与开发板哪些IO口相关等(建议附录开发板照片,展示哪些IO口被引出)
+
+本例程在 E2000 平台测试通过,您可以参考以下方法配置本例程所需要的硬件和软件环境,
+- E2000 开发板
+- 本例程使用的是 STAR-UPCIE201-V1.0 PCIe 卡(兼容XHCI 1.0),芯片组是 瑞萨 μPD720201, 通过一个 Roothub 扩充支持最多四路 USB
+
+
+
+
+
+> 目前 CherryUSB 只支持使用 USB 2.0 port,四路 USB 接口中有些是默认走 USB 3.0 port,还无法使用,要选择默认 USB 2.0 port 的口,如上图所示的连接方式
+
+- PCIe 卡默认接在 PCIE 0 控制器上,接在其它控制器上要在例程中修改 FPCIE_INSTANCE_ID 以及 PCIE 中断号
+
+- 本例程基于E2000 Demo 开发板,使用logitech键盘、Dell鼠标和Sandisk盘完成测试
+
+### 2.2 SDK配置方法
+
+>依赖哪些驱动、库和第三方组件,如何完成配置(列出需要使能的关键配置项)
+
+本例程需要的配置包括,
+- Letter Shell组件,依赖 USE_LETTER_SHELL
+
+本例子已经提供好具体的编译指令,以下进行介绍:
+- make 将目录下的工程进行编译
+- make clean 将目录下的工程进行清理
+- make image 将目录下的工程进行编译,并将生成的elf 复制到目标地址
+- make list_kconfig 当前工程支持哪些配置文件
+- make load_kconfig LOAD_CONFIG_NAME= 将预设配置加载至工程中
+- make menuconfig 配置目录下的参数变量
+- make backup_kconfig 将目录下的sdkconfig 备份到./configs下
+
+具体使用方法为:
+- 在当前目录下
+- 执行以上指令
+
+### 2.3 构建和下载
+
+>描述构建、烧录下载镜像的过程,列出相关的命令
+
+使用例程的一般过程为
+
+- 选择目标平台和例程需要的配置
+```
+make load_kconfig LOAD_CONFIG_NAME=e2000d_aarch64_demo_cherry_usb
+```
+
+- 进行编译
+```
+make
+```
+
+- 将编译出的镜像放置到tftp目录下
+```
+make image
+```
+
+- host侧设置重启host侧tftp服务器
+
+- 开发板侧使用bootelf命令跳转
+```
+setenv ipaddr 192.168.4.20
+setenv serverip 192.168.4.50
+setenv gatewayip 192.168.4.1
+tftpboot 0x90100000 freertos.elf
+bootelf -p 0x90100000
+```
+
+### 2.4 输出与实验现象
+
+>描述输入输出情况,列出存在哪些输出,对应的输出是什么(建议附录相关现象图片)
+
+
+#### 2.4.1 读写 U 盘
+
+- 将 U 盘(USB3.0 接口U盘)插在 USB 口,初始化 XHCI 控制器后,查看 U 盘设备是否枚举成功,然后通过枚举成功后返回的设备路径`/usb0/sda`读写 U 盘
+
+```
+usb init 0
+usb lsusb 0 -t
+usb disk /usb0/sda
+```
+
+
+
+- 输入`usb disk`后,启动一个任务不断读写U盘
+
+
+
+#### 2.4.2 获取键盘输入
+
+- 将键盘插在 USB 口,鼠标插在 USB-1 口,分别初始化 USB-0 和 USB-1 控制器,查看键盘和鼠标是否枚举成功,通过枚举成功后返回的设备路径`/usb0/kbd0`和`/usb1/mouse1`,开启键盘和鼠标输入后进行读取
+
+```
+usb init 0
+usb lsusb 0 -t
+usb kbd /usb0/kbd0
+```
+
+- 之后可以通过中断处理键盘输入,如下所示,`hello cherryusb in phytium` 是通过 /usb0/kbd0 设备输入的
+
+
+
+#### 2.4.2 获取鼠标输入
+
+```
+usb init 0
+usb lsusb 0 -t
+usb mouse /usb0/mouse0
+```
+
+- 之后可以通过中断处理鼠标输入
+
+
+
+- 上图中,首先打印的是通过 USB 键盘输入的字符串,以及一系列特殊字符,然后是鼠标的输入,x和y是鼠标的平面坐标位置,w是鼠标中间滚轮的位置,<-、-> 和 C 分别是按下鼠标左、右键和中间滚轮后的返回
+
+## 3. 如何解决问题
+
+>主要记录使用例程中可能会遇到的问题,给出相应的解决方案
+
+## 4. 修改历史记录
+
+>记录例程的重大修改记录,标明修改发生的版本号
+
+- V0.3.1 首次合入
+- v0.1.0 支持USB 3.0 设备枚举
+- v0.7.1 区分 XHCI 平台设备和 PCIe 设备
\ No newline at end of file
diff --git a/example/peripheral/usb/xhci_pcie/configs/e2000d_aarch32_demo_cherry_usb.config b/example/peripheral/usb/xhci_pcie/configs/e2000d_aarch32_demo_cherry_usb.config
new file mode 100644
index 0000000000000000000000000000000000000000..f7c69909ab7a40aa63a18e29be9baed1174d2d28
--- /dev/null
+++ b/example/peripheral/usb/xhci_pcie/configs/e2000d_aarch32_demo_cherry_usb.config
@@ -0,0 +1,388 @@
+CONFIG_USE_FREERTOS=y
+
+#
+# Arch configuration
+#
+CONFIG_TARGET_ARMv8=y
+CONFIG_ARCH_NAME="armv8"
+
+#
+# Arm architecture configuration
+#
+# CONFIG_ARCH_ARMV8_AARCH64 is not set
+CONFIG_ARCH_ARMV8_AARCH32=y
+
+#
+# Compiler configuration
+#
+CONFIG_ARM_GCC_SELECT=y
+# CONFIG_ARM_CLANG_SELECT is not set
+CONFIG_TOOLCHAIN_NAME="gcc"
+CONFIG_TARGET_ARMV8_AARCH32=y
+CONFIG_ARCH_EXECUTION_STATE="aarch32"
+
+#
+# Fpu configuration
+#
+CONFIG_CRYPTO_NEON_FP_ARMV8=y
+# CONFIG_VFPV4 is not set
+# CONFIG_VFPV4_D16 is not set
+# CONFIG_VFPV3 is not set
+# CONFIG_VFPV3_D16 is not set
+CONFIG_ARM_MFPU="crypto-neon-fp-armv8"
+CONFIG_MFLOAT_ABI_HARD=y
+# CONFIG_MFLOAT_ABI_SOFTFP is not set
+CONFIG_ARM_MFLOAT_ABI="hard"
+# end of Fpu configuration
+# end of Compiler configuration
+
+CONFIG_USE_CACHE=y
+CONFIG_USE_MMU=y
+CONFIG_USE_AARCH64_L1_TO_AARCH32=y
+# end of Arm architecture configuration
+# end of Arch configuration
+
+#
+# Soc configuration
+#
+# CONFIG_TARGET_PHYTIUMPI is not set
+# CONFIG_TARGET_E2000Q is not set
+CONFIG_TARGET_E2000D=y
+# CONFIG_TARGET_E2000S is not set
+# CONFIG_TARGET_FT2004 is not set
+# CONFIG_TARGET_D2000 is not set
+CONFIG_SOC_NAME="e2000"
+CONFIG_TARGET_TYPE_NAME="d"
+CONFIG_SOC_CORE_NUM=2
+CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000
+CONFIG_F32BIT_MEMORY_LENGTH=0x80000000
+CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000
+CONFIG_F64BIT_MEMORY_LENGTH=0x800000000
+CONFIG_TARGET_E2000=y
+# CONFIG_USE_SPINLOCK is not set
+CONFIG_DEFAULT_DEBUG_PRINT_UART1=y
+# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set
+# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set
+# end of Soc configuration
+
+#
+# Board Configuration
+#
+CONFIG_E2000D_DEMO_BOARD=y
+CONFIG_BOARD_NAME="demo"
+
+#
+# IO mux configuration when board start up
+#
+# CONFIG_USE_SPI_IOPAD is not set
+# CONFIG_USE_GPIO_IOPAD is not set
+# CONFIG_USE_CAN_IOPAD is not set
+# CONFIG_USE_QSPI_IOPAD is not set
+# CONFIG_USE_PWM_IOPAD is not set
+# CONFIG_USE_ADC_IOPAD is not set
+# CONFIG_USE_MIO_IOPAD is not set
+# CONFIG_USE_TACHO_IOPAD is not set
+# CONFIG_USE_UART_IOPAD is not set
+# CONFIG_USE_THIRD_PARTY_IOPAD is not set
+# end of IO mux configuration when board start up
+
+# CONFIG_CUS_DEMO_BOARD is not set
+
+#
+# Build project name
+#
+CONFIG_TARGET_NAME="cherry_usb"
+# end of Build project name
+# end of Board Configuration
+
+#
+# Sdk common configuration
+#
+# CONFIG_LOG_VERBOS is not set
+# CONFIG_LOG_DEBUG is not set
+# CONFIG_LOG_INFO is not set
+# CONFIG_LOG_WARN is not set
+CONFIG_LOG_ERROR=y
+# CONFIG_LOG_NONE is not set
+CONFIG_LOG_EXTRA_INFO=y
+# CONFIG_LOG_DISPALY_CORE_NUM is not set
+# CONFIG_BOOTUP_DEBUG_PRINTS is not set
+CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
+CONFIG_INTERRUPT_ROLE_MASTER=y
+# CONFIG_INTERRUPT_ROLE_SLAVE is not set
+# end of Sdk common configuration
+
+#
+# Image information configuration
+#
+# CONFIG_IMAGE_INFO is not set
+# end of Image information configuration
+
+#
+# Drivers configuration
+#
+CONFIG_USE_IOMUX=y
+# CONFIG_ENABLE_IOCTRL is not set
+CONFIG_ENABLE_IOPAD=y
+CONFIG_USE_SPI=y
+CONFIG_USE_FSPIM=y
+# CONFIG_USE_QSPI is not set
+CONFIG_USE_SERIAL=y
+
+#
+# Usart Configuration
+#
+CONFIG_ENABLE_Pl011_UART=y
+# end of Usart Configuration
+
+# CONFIG_USE_GPIO is not set
+# CONFIG_USE_ETH is not set
+# CONFIG_USE_CAN is not set
+# CONFIG_USE_I2C is not set
+# CONFIG_USE_TIMER is not set
+# CONFIG_USE_MIO is not set
+# CONFIG_USE_SDMMC is not set
+CONFIG_USE_PCIE=y
+
+#
+# Pcie Configuration
+#
+CONFIG_ENABLE_FPCIE_ECAM=y
+# CONFIG_ENABLE_FPCIEC is not set
+# end of Pcie Configuration
+
+# CONFIG_USE_WDT is not set
+# CONFIG_USE_DMA is not set
+# CONFIG_USE_NAND is not set
+# CONFIG_USE_RTC is not set
+# CONFIG_USE_SATA is not set
+CONFIG_USE_USB=y
+CONFIG_ENABLE_USB_FXHCI=y
+# CONFIG_USE_ADC is not set
+# CONFIG_USE_PWM is not set
+# CONFIG_USE_IPC is not set
+# CONFIG_USE_MEDIA is not set
+# CONFIG_USE_SCMI_MHU is not set
+# CONFIG_USE_I2S is not set
+# end of Drivers configuration
+
+#
+# Build setup
+#
+CONFIG_CHECK_DEPS=y
+CONFIG_OUTPUT_BINARY=y
+
+#
+# Optimization options
+#
+# CONFIG_DEBUG_NOOPT is not set
+# CONFIG_DEBUG_CUSTOMOPT is not set
+CONFIG_DEBUG_FULLOPT=y
+CONFIG_DEBUG_OPT_UNUSED_SECTIONS=y
+CONFIG_DEBUG_LINK_MAP=y
+# CONFIG_CCACHE is not set
+# CONFIG_ARCH_COVERAGE is not set
+# CONFIG_LTO_FULL is not set
+# end of Optimization options
+
+#
+# Debug options
+#
+# CONFIG_DEBUG_ENABLE_ALL_WARNING is not set
+# CONFIG_WALL_WARNING_ERROR is not set
+# CONFIG_STRICT_PROTOTYPES is not set
+# CONFIG_DEBUG_SYMBOLS is not set
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_OUTPUT_ASM_DIS is not set
+# CONFIG_ENABLE_WSHADOW is not set
+# CONFIG_ENABLE_WUNDEF is not set
+CONFIG_DOWNGRADE_DIAG_WARNING=y
+# end of Debug options
+
+#
+# Lib
+#
+CONFIG_USE_COMPILE_CHAIN=y
+# CONFIG_USE_NEWLIB is not set
+# CONFIG_USE_USER_DEFINED is not set
+# end of Lib
+
+# CONFIG_ENABLE_CXX is not set
+
+#
+# Linker Options
+#
+CONFIG_DEFAULT_LINKER_SCRIPT=y
+# CONFIG_USER_DEFINED_LD is not set
+CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
+CONFIG_IMAGE_MAX_LENGTH=0x1000000
+CONFIG_HEAP_SIZE=1
+CONFIG_SVC_STACK_SIZE=0x1000
+CONFIG_SYS_STACK_SIZE=0x1000
+CONFIG_IRQ_STACK_SIZE=0x1000
+CONFIG_ABORT_STACK_SIZE=0x1000
+CONFIG_FIQ_STACK_SIZE=0x1000
+CONFIG_UNDEF_STACK_SIZE=0x1000
+# end of Linker Options
+# end of Build setup
+
+#
+# Component Configuration
+#
+
+#
+# Freertos Uart Drivers
+#
+CONFIG_FREERTOS_USE_UART=y
+# end of Freertos Uart Drivers
+
+#
+# Freertos Pwm Drivers
+#
+# CONFIG_FREERTOS_USE_PWM is not set
+# end of Freertos Pwm Drivers
+
+#
+# Freertos Qspi Drivers
+#
+# CONFIG_FREERTOS_USE_QSPI is not set
+# end of Freertos Qspi Drivers
+
+#
+# Freertos Wdt Drivers
+#
+# CONFIG_FREERTOS_USE_WDT is not set
+# end of Freertos Wdt Drivers
+
+#
+# Freertos Eth Drivers
+#
+# CONFIG_FREERTOS_USE_XMAC is not set
+# CONFIG_FREERTOS_USE_GMAC is not set
+# end of Freertos Eth Drivers
+
+#
+# Freertos Gpio Drivers
+#
+# CONFIG_FREERTOS_USE_GPIO is not set
+# end of Freertos Gpio Drivers
+
+#
+# Freertos Spim Drivers
+#
+CONFIG_FREERTOS_USE_FSPIM=y
+# end of Freertos Spim Drivers
+
+#
+# Freertos DMA Drivers
+#
+# CONFIG_FREERTOS_USE_FDDMA is not set
+# CONFIG_FREERTOS_USE_FGDMA is not set
+# end of Freertos DMA Drivers
+
+#
+# Freertos Adc Drivers
+#
+# CONFIG_FREERTOS_USE_ADC is not set
+# end of Freertos Adc Drivers
+
+#
+# Freertos Can Drivers
+#
+# CONFIG_FREERTOS_USE_CAN is not set
+# end of Freertos Can Drivers
+
+#
+# Freertos I2c Drivers
+#
+# CONFIG_FREERTOS_USE_I2C is not set
+# end of Freertos I2c Drivers
+
+#
+# Freertos Mio Drivers
+#
+# CONFIG_FREERTOS_USE_MIO is not set
+# end of Freertos Mio Drivers
+
+#
+# Freertos Timer Drivers
+#
+# CONFIG_FREERTOS_USE_TIMER is not set
+# end of Freertos Timer Drivers
+
+#
+# Freertos Media Drivers
+#
+# CONFIG_FREERTOS_USE_MEDIA is not set
+# end of Freertos Media Drivers
+# end of Component Configuration
+
+#
+# Third-party configuration
+#
+# CONFIG_USE_LWIP is not set
+CONFIG_USE_LETTER_SHELL=y
+
+#
+# Letter Shell Configuration
+#
+CONFIG_LS_PL011_UART=y
+CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y
+# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set
+# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set
+# end of Letter Shell Configuration
+
+# CONFIG_USE_AMP is not set
+# CONFIG_USE_YMODEM is not set
+# CONFIG_USE_SFUD is not set
+CONFIG_USE_BACKTRACE=y
+# CONFIG_USE_FATFS_0_1_4 is not set
+CONFIG_USE_TLSF=y
+# CONFIG_USE_SPIFFS is not set
+# CONFIG_USE_LITTLE_FS is not set
+# CONFIG_USE_LVGL is not set
+# CONFIG_USE_FREEMODBUS is not set
+CONFIG_USE_CHERRY_USB=y
+
+#
+# CherryUSB Configuration
+#
+CONFIG_CHERRY_USB_PORT_XHCI=y
+# CONFIG_CHERRY_USB_PORT_PHYTIUM_OTG is not set
+CONFIG_CHERRYUSB_HOST=y
+# CONFIG_CHERRYUSB_DEVICE is not set
+CONFIG_CHERRY_USB_HOST_HUB=y
+CONFIG_CHERRY_USB_HOST_MSC=y
+CONFIG_CHERRY_USB_HOST_HID=y
+# CONFIG_CHERRY_USB_HOST_VEDIO is not set
+# CONFIG_CHERRY_USB_HOST_CDC is not set
+# CONFIG_CHERRY_USB_HOST_RNDIS_WIRELESS is not set
+# end of CherryUSB Configuration
+
+# CONFIG_USE_FSL_SDMMC is not set
+# CONFIG_USE_FSL_WIFI is not set
+# end of Third-party configuration
+
+#
+# FreeRTOS Kernel Configuration
+#
+CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y
+CONFIG_FREERTOS_HZ=1000
+CONFIG_FREERTOS_MAX_PRIORITIES=32
+CONFIG_FREERTOS_KERNEL_INTERRUPT_PRIORITIES=13
+CONFIG_FREERTOS_MAX_API_CALL_INTERRUPT_PRIORITIES=11
+CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
+CONFIG_FREERTOS_MINIMAL_TASK_STACKSIZE=1024
+CONFIG_FREERTOS_MAX_TASK_NAME_LEN=32
+CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
+CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048
+CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10
+CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
+CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
+CONFIG_FREERTOS_USE_TRACE_FACILITY=y
+CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
+# CONFIG_FREERTOS_USE_TICKLESS_IDLE is not set
+CONFIG_FREERTOS_TOTAL_HEAP_SIZE=10240
+CONFIG_FREERTOS_TASK_FPU_SUPPORT=1
+# CONFIG_FREERTOS_USE_POSIX is not set
+# end of FreeRTOS Kernel Configuration
diff --git a/example/peripheral/usb/xhci_pcie/configs/e2000d_aarch64_demo_cherry_usb.config b/example/peripheral/usb/xhci_pcie/configs/e2000d_aarch64_demo_cherry_usb.config
new file mode 100644
index 0000000000000000000000000000000000000000..c4de02bdac24535e3cd9befe482e10fbe2569d3b
--- /dev/null
+++ b/example/peripheral/usb/xhci_pcie/configs/e2000d_aarch64_demo_cherry_usb.config
@@ -0,0 +1,377 @@
+CONFIG_USE_FREERTOS=y
+
+#
+# Arch configuration
+#
+CONFIG_TARGET_ARMv8=y
+CONFIG_ARCH_NAME="armv8"
+
+#
+# Arm architecture configuration
+#
+CONFIG_ARCH_ARMV8_AARCH64=y
+# CONFIG_ARCH_ARMV8_AARCH32 is not set
+
+#
+# Compiler configuration
+#
+CONFIG_ARM_GCC_SELECT=y
+# CONFIG_ARM_CLANG_SELECT is not set
+CONFIG_TOOLCHAIN_NAME="gcc"
+CONFIG_TARGET_ARMV8_AARCH64=y
+CONFIG_ARCH_EXECUTION_STATE="aarch64"
+CONFIG_ARM_NEON=y
+CONFIG_ARM_CRC=y
+CONFIG_ARM_CRYPTO=y
+CONFIG_ARM_FLOAT_POINT=y
+# CONFIG_GCC_CODE_MODEL_TINY is not set
+CONFIG_GCC_CODE_MODEL_SMALL=y
+# CONFIG_GCC_CODE_MODEL_LARGE is not set
+# end of Compiler configuration
+
+CONFIG_USE_CACHE=y
+CONFIG_USE_MMU=y
+CONFIG_BOOT_WITH_FLUSH_CACHE=y
+# CONFIG_MMU_DEBUG_PRINTS is not set
+# end of Arm architecture configuration
+# end of Arch configuration
+
+#
+# Soc configuration
+#
+# CONFIG_TARGET_PHYTIUMPI is not set
+# CONFIG_TARGET_E2000Q is not set
+CONFIG_TARGET_E2000D=y
+# CONFIG_TARGET_E2000S is not set
+# CONFIG_TARGET_FT2004 is not set
+# CONFIG_TARGET_D2000 is not set
+CONFIG_SOC_NAME="e2000"
+CONFIG_TARGET_TYPE_NAME="d"
+CONFIG_SOC_CORE_NUM=2
+CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000
+CONFIG_F32BIT_MEMORY_LENGTH=0x80000000
+CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000
+CONFIG_F64BIT_MEMORY_LENGTH=0x800000000
+CONFIG_TARGET_E2000=y
+# CONFIG_USE_SPINLOCK is not set
+CONFIG_DEFAULT_DEBUG_PRINT_UART1=y
+# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set
+# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set
+# end of Soc configuration
+
+#
+# Board Configuration
+#
+CONFIG_E2000D_DEMO_BOARD=y
+CONFIG_BOARD_NAME="demo"
+
+#
+# IO mux configuration when board start up
+#
+# CONFIG_USE_SPI_IOPAD is not set
+# CONFIG_USE_GPIO_IOPAD is not set
+# CONFIG_USE_CAN_IOPAD is not set
+# CONFIG_USE_QSPI_IOPAD is not set
+# CONFIG_USE_PWM_IOPAD is not set
+# CONFIG_USE_ADC_IOPAD is not set
+# CONFIG_USE_MIO_IOPAD is not set
+# CONFIG_USE_TACHO_IOPAD is not set
+# CONFIG_USE_UART_IOPAD is not set
+# CONFIG_USE_THIRD_PARTY_IOPAD is not set
+# end of IO mux configuration when board start up
+
+# CONFIG_CUS_DEMO_BOARD is not set
+
+#
+# Build project name
+#
+CONFIG_TARGET_NAME="cherry_usb"
+# end of Build project name
+# end of Board Configuration
+
+#
+# Sdk common configuration
+#
+# CONFIG_LOG_VERBOS is not set
+# CONFIG_LOG_DEBUG is not set
+# CONFIG_LOG_INFO is not set
+# CONFIG_LOG_WARN is not set
+CONFIG_LOG_ERROR=y
+# CONFIG_LOG_NONE is not set
+CONFIG_LOG_EXTRA_INFO=y
+# CONFIG_LOG_DISPALY_CORE_NUM is not set
+# CONFIG_BOOTUP_DEBUG_PRINTS is not set
+CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
+CONFIG_INTERRUPT_ROLE_MASTER=y
+# CONFIG_INTERRUPT_ROLE_SLAVE is not set
+# end of Sdk common configuration
+
+#
+# Image information configuration
+#
+# CONFIG_IMAGE_INFO is not set
+# end of Image information configuration
+
+#
+# Drivers configuration
+#
+CONFIG_USE_IOMUX=y
+# CONFIG_ENABLE_IOCTRL is not set
+CONFIG_ENABLE_IOPAD=y
+CONFIG_USE_SPI=y
+CONFIG_USE_FSPIM=y
+# CONFIG_USE_QSPI is not set
+CONFIG_USE_SERIAL=y
+
+#
+# Usart Configuration
+#
+CONFIG_ENABLE_Pl011_UART=y
+# end of Usart Configuration
+
+# CONFIG_USE_GPIO is not set
+# CONFIG_USE_ETH is not set
+# CONFIG_USE_CAN is not set
+# CONFIG_USE_I2C is not set
+# CONFIG_USE_TIMER is not set
+# CONFIG_USE_MIO is not set
+# CONFIG_USE_SDMMC is not set
+CONFIG_USE_PCIE=y
+
+#
+# Pcie Configuration
+#
+CONFIG_ENABLE_FPCIE_ECAM=y
+# CONFIG_ENABLE_FPCIEC is not set
+# end of Pcie Configuration
+
+# CONFIG_USE_WDT is not set
+# CONFIG_USE_DMA is not set
+# CONFIG_USE_NAND is not set
+# CONFIG_USE_RTC is not set
+# CONFIG_USE_SATA is not set
+CONFIG_USE_USB=y
+CONFIG_ENABLE_USB_FXHCI=y
+# CONFIG_USE_ADC is not set
+# CONFIG_USE_PWM is not set
+# CONFIG_USE_IPC is not set
+# CONFIG_USE_MEDIA is not set
+# CONFIG_USE_SCMI_MHU is not set
+# CONFIG_USE_I2S is not set
+# end of Drivers configuration
+
+#
+# Build setup
+#
+CONFIG_CHECK_DEPS=y
+CONFIG_OUTPUT_BINARY=y
+
+#
+# Optimization options
+#
+# CONFIG_DEBUG_NOOPT is not set
+# CONFIG_DEBUG_CUSTOMOPT is not set
+CONFIG_DEBUG_FULLOPT=y
+CONFIG_DEBUG_OPT_UNUSED_SECTIONS=y
+CONFIG_DEBUG_LINK_MAP=y
+# CONFIG_CCACHE is not set
+# CONFIG_ARCH_COVERAGE is not set
+# CONFIG_LTO_FULL is not set
+# end of Optimization options
+
+#
+# Debug options
+#
+# CONFIG_DEBUG_ENABLE_ALL_WARNING is not set
+# CONFIG_WALL_WARNING_ERROR is not set
+# CONFIG_STRICT_PROTOTYPES is not set
+# CONFIG_DEBUG_SYMBOLS is not set
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_OUTPUT_ASM_DIS is not set
+# CONFIG_ENABLE_WSHADOW is not set
+# CONFIG_ENABLE_WUNDEF is not set
+CONFIG_DOWNGRADE_DIAG_WARNING=y
+# end of Debug options
+
+#
+# Lib
+#
+CONFIG_USE_COMPILE_CHAIN=y
+# CONFIG_USE_NEWLIB is not set
+# CONFIG_USE_USER_DEFINED is not set
+# end of Lib
+
+# CONFIG_ENABLE_CXX is not set
+
+#
+# Linker Options
+#
+CONFIG_DEFAULT_LINKER_SCRIPT=y
+# CONFIG_USER_DEFINED_LD is not set
+CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
+CONFIG_IMAGE_MAX_LENGTH=0x1000000
+CONFIG_HEAP_SIZE=1
+CONFIG_STACK_SIZE=0x400
+# end of Linker Options
+# end of Build setup
+
+#
+# Component Configuration
+#
+
+#
+# Freertos Uart Drivers
+#
+CONFIG_FREERTOS_USE_UART=y
+# end of Freertos Uart Drivers
+
+#
+# Freertos Pwm Drivers
+#
+# CONFIG_FREERTOS_USE_PWM is not set
+# end of Freertos Pwm Drivers
+
+#
+# Freertos Qspi Drivers
+#
+# CONFIG_FREERTOS_USE_QSPI is not set
+# end of Freertos Qspi Drivers
+
+#
+# Freertos Wdt Drivers
+#
+# CONFIG_FREERTOS_USE_WDT is not set
+# end of Freertos Wdt Drivers
+
+#
+# Freertos Eth Drivers
+#
+# CONFIG_FREERTOS_USE_XMAC is not set
+# CONFIG_FREERTOS_USE_GMAC is not set
+# end of Freertos Eth Drivers
+
+#
+# Freertos Gpio Drivers
+#
+# CONFIG_FREERTOS_USE_GPIO is not set
+# end of Freertos Gpio Drivers
+
+#
+# Freertos Spim Drivers
+#
+CONFIG_FREERTOS_USE_FSPIM=y
+# end of Freertos Spim Drivers
+
+#
+# Freertos DMA Drivers
+#
+# CONFIG_FREERTOS_USE_FDDMA is not set
+# CONFIG_FREERTOS_USE_FGDMA is not set
+# end of Freertos DMA Drivers
+
+#
+# Freertos Adc Drivers
+#
+# CONFIG_FREERTOS_USE_ADC is not set
+# end of Freertos Adc Drivers
+
+#
+# Freertos Can Drivers
+#
+# CONFIG_FREERTOS_USE_CAN is not set
+# end of Freertos Can Drivers
+
+#
+# Freertos I2c Drivers
+#
+# CONFIG_FREERTOS_USE_I2C is not set
+# end of Freertos I2c Drivers
+
+#
+# Freertos Mio Drivers
+#
+# CONFIG_FREERTOS_USE_MIO is not set
+# end of Freertos Mio Drivers
+
+#
+# Freertos Timer Drivers
+#
+# CONFIG_FREERTOS_USE_TIMER is not set
+# end of Freertos Timer Drivers
+
+#
+# Freertos Media Drivers
+#
+# CONFIG_FREERTOS_USE_MEDIA is not set
+# end of Freertos Media Drivers
+# end of Component Configuration
+
+#
+# Third-party configuration
+#
+# CONFIG_USE_LWIP is not set
+CONFIG_USE_LETTER_SHELL=y
+
+#
+# Letter Shell Configuration
+#
+CONFIG_LS_PL011_UART=y
+CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y
+# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set
+# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set
+# end of Letter Shell Configuration
+
+# CONFIG_USE_AMP is not set
+# CONFIG_USE_YMODEM is not set
+# CONFIG_USE_SFUD is not set
+CONFIG_USE_BACKTRACE=y
+# CONFIG_USE_FATFS_0_1_4 is not set
+CONFIG_USE_TLSF=y
+# CONFIG_USE_SPIFFS is not set
+# CONFIG_USE_LITTLE_FS is not set
+# CONFIG_USE_LVGL is not set
+# CONFIG_USE_FREEMODBUS is not set
+CONFIG_USE_CHERRY_USB=y
+
+#
+# CherryUSB Configuration
+#
+CONFIG_CHERRY_USB_PORT_XHCI=y
+# CONFIG_CHERRY_USB_PORT_PHYTIUM_OTG is not set
+CONFIG_CHERRYUSB_HOST=y
+# CONFIG_CHERRYUSB_DEVICE is not set
+CONFIG_CHERRY_USB_HOST_HUB=y
+CONFIG_CHERRY_USB_HOST_MSC=y
+CONFIG_CHERRY_USB_HOST_HID=y
+# CONFIG_CHERRY_USB_HOST_VEDIO is not set
+# CONFIG_CHERRY_USB_HOST_CDC is not set
+# CONFIG_CHERRY_USB_HOST_RNDIS_WIRELESS is not set
+# end of CherryUSB Configuration
+
+# CONFIG_USE_FSL_SDMMC is not set
+# CONFIG_USE_FSL_WIFI is not set
+# end of Third-party configuration
+
+#
+# FreeRTOS Kernel Configuration
+#
+CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y
+CONFIG_FREERTOS_HZ=1000
+CONFIG_FREERTOS_MAX_PRIORITIES=32
+CONFIG_FREERTOS_KERNEL_INTERRUPT_PRIORITIES=13
+CONFIG_FREERTOS_MAX_API_CALL_INTERRUPT_PRIORITIES=11
+CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
+CONFIG_FREERTOS_MINIMAL_TASK_STACKSIZE=1024
+CONFIG_FREERTOS_MAX_TASK_NAME_LEN=32
+CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
+CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048
+CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10
+CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
+CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
+CONFIG_FREERTOS_USE_TRACE_FACILITY=y
+CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
+# CONFIG_FREERTOS_USE_TICKLESS_IDLE is not set
+CONFIG_FREERTOS_TOTAL_HEAP_SIZE=10240
+CONFIG_FREERTOS_TASK_FPU_SUPPORT=1
+# CONFIG_FREERTOS_USE_POSIX is not set
+# end of FreeRTOS Kernel Configuration
diff --git a/example/peripheral/usb/xhci_pcie/configs/e2000q_aarch32_demo_cherry_usb.config b/example/peripheral/usb/xhci_pcie/configs/e2000q_aarch32_demo_cherry_usb.config
new file mode 100644
index 0000000000000000000000000000000000000000..8a397aadd88af3d3a226ca9f692acfd7d509b81f
--- /dev/null
+++ b/example/peripheral/usb/xhci_pcie/configs/e2000q_aarch32_demo_cherry_usb.config
@@ -0,0 +1,387 @@
+CONFIG_USE_FREERTOS=y
+
+#
+# Arch configuration
+#
+CONFIG_TARGET_ARMv8=y
+CONFIG_ARCH_NAME="armv8"
+
+#
+# Arm architecture configuration
+#
+# CONFIG_ARCH_ARMV8_AARCH64 is not set
+CONFIG_ARCH_ARMV8_AARCH32=y
+
+#
+# Compiler configuration
+#
+CONFIG_ARM_GCC_SELECT=y
+# CONFIG_ARM_CLANG_SELECT is not set
+CONFIG_TOOLCHAIN_NAME="gcc"
+CONFIG_TARGET_ARMV8_AARCH32=y
+CONFIG_ARCH_EXECUTION_STATE="aarch32"
+
+#
+# Fpu configuration
+#
+CONFIG_CRYPTO_NEON_FP_ARMV8=y
+# CONFIG_VFPV4 is not set
+# CONFIG_VFPV4_D16 is not set
+# CONFIG_VFPV3 is not set
+# CONFIG_VFPV3_D16 is not set
+CONFIG_ARM_MFPU="crypto-neon-fp-armv8"
+CONFIG_MFLOAT_ABI_HARD=y
+# CONFIG_MFLOAT_ABI_SOFTFP is not set
+CONFIG_ARM_MFLOAT_ABI="hard"
+# end of Fpu configuration
+# end of Compiler configuration
+
+CONFIG_USE_CACHE=y
+CONFIG_USE_MMU=y
+CONFIG_USE_AARCH64_L1_TO_AARCH32=y
+# end of Arm architecture configuration
+# end of Arch configuration
+
+#
+# Soc configuration
+#
+# CONFIG_TARGET_PHYTIUMPI is not set
+CONFIG_TARGET_E2000Q=y
+# CONFIG_TARGET_E2000D is not set
+# CONFIG_TARGET_E2000S is not set
+# CONFIG_TARGET_FT2004 is not set
+# CONFIG_TARGET_D2000 is not set
+CONFIG_SOC_NAME="e2000"
+CONFIG_TARGET_TYPE_NAME="q"
+CONFIG_SOC_CORE_NUM=4
+CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000
+CONFIG_F32BIT_MEMORY_LENGTH=0x80000000
+CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000
+CONFIG_F64BIT_MEMORY_LENGTH=0x800000000
+CONFIG_TARGET_E2000=y
+# CONFIG_USE_SPINLOCK is not set
+CONFIG_DEFAULT_DEBUG_PRINT_UART1=y
+# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set
+# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set
+# end of Soc configuration
+
+#
+# Board Configuration
+#
+CONFIG_BOARD_NAME="demo"
+# CONFIG_USE_SPI_IOPAD is not set
+# CONFIG_USE_GPIO_IOPAD is not set
+# CONFIG_USE_CAN_IOPAD is not set
+# CONFIG_USE_QSPI_IOPAD is not set
+# CONFIG_USE_PWM_IOPAD is not set
+# CONFIG_USE_MIO_IOPAD is not set
+# CONFIG_USE_TACHO_IOPAD is not set
+# CONFIG_USE_UART_IOPAD is not set
+# CONFIG_USE_THIRD_PARTY_IOPAD is not set
+CONFIG_E2000Q_DEMO_BOARD=y
+
+#
+# IO mux configuration when board start up
+#
+# end of IO mux configuration when board start up
+
+# CONFIG_CUS_DEMO_BOARD is not set
+
+#
+# Build project name
+#
+CONFIG_TARGET_NAME="cherry_usb"
+# end of Build project name
+# end of Board Configuration
+
+#
+# Sdk common configuration
+#
+# CONFIG_LOG_VERBOS is not set
+# CONFIG_LOG_DEBUG is not set
+# CONFIG_LOG_INFO is not set
+# CONFIG_LOG_WARN is not set
+CONFIG_LOG_ERROR=y
+# CONFIG_LOG_NONE is not set
+CONFIG_LOG_EXTRA_INFO=y
+# CONFIG_LOG_DISPALY_CORE_NUM is not set
+# CONFIG_BOOTUP_DEBUG_PRINTS is not set
+CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
+CONFIG_INTERRUPT_ROLE_MASTER=y
+# CONFIG_INTERRUPT_ROLE_SLAVE is not set
+# end of Sdk common configuration
+
+#
+# Image information configuration
+#
+# CONFIG_IMAGE_INFO is not set
+# end of Image information configuration
+
+#
+# Drivers configuration
+#
+CONFIG_USE_IOMUX=y
+# CONFIG_ENABLE_IOCTRL is not set
+CONFIG_ENABLE_IOPAD=y
+CONFIG_USE_SPI=y
+CONFIG_USE_FSPIM=y
+# CONFIG_USE_QSPI is not set
+CONFIG_USE_SERIAL=y
+
+#
+# Usart Configuration
+#
+CONFIG_ENABLE_Pl011_UART=y
+# end of Usart Configuration
+
+# CONFIG_USE_GPIO is not set
+# CONFIG_USE_ETH is not set
+# CONFIG_USE_CAN is not set
+# CONFIG_USE_I2C is not set
+# CONFIG_USE_TIMER is not set
+# CONFIG_USE_MIO is not set
+# CONFIG_USE_SDMMC is not set
+CONFIG_USE_PCIE=y
+
+#
+# Pcie Configuration
+#
+CONFIG_ENABLE_FPCIE_ECAM=y
+# CONFIG_ENABLE_FPCIEC is not set
+# end of Pcie Configuration
+
+# CONFIG_USE_WDT is not set
+# CONFIG_USE_DMA is not set
+# CONFIG_USE_NAND is not set
+# CONFIG_USE_RTC is not set
+# CONFIG_USE_SATA is not set
+CONFIG_USE_USB=y
+CONFIG_ENABLE_USB_FXHCI=y
+# CONFIG_USE_ADC is not set
+# CONFIG_USE_PWM is not set
+# CONFIG_USE_IPC is not set
+# CONFIG_USE_MEDIA is not set
+# CONFIG_USE_SCMI_MHU is not set
+# CONFIG_USE_I2S is not set
+# end of Drivers configuration
+
+#
+# Build setup
+#
+CONFIG_CHECK_DEPS=y
+CONFIG_OUTPUT_BINARY=y
+
+#
+# Optimization options
+#
+# CONFIG_DEBUG_NOOPT is not set
+# CONFIG_DEBUG_CUSTOMOPT is not set
+CONFIG_DEBUG_FULLOPT=y
+CONFIG_DEBUG_OPT_UNUSED_SECTIONS=y
+CONFIG_DEBUG_LINK_MAP=y
+# CONFIG_CCACHE is not set
+# CONFIG_ARCH_COVERAGE is not set
+# CONFIG_LTO_FULL is not set
+# end of Optimization options
+
+#
+# Debug options
+#
+# CONFIG_DEBUG_ENABLE_ALL_WARNING is not set
+# CONFIG_WALL_WARNING_ERROR is not set
+# CONFIG_STRICT_PROTOTYPES is not set
+# CONFIG_DEBUG_SYMBOLS is not set
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_OUTPUT_ASM_DIS is not set
+# CONFIG_ENABLE_WSHADOW is not set
+# CONFIG_ENABLE_WUNDEF is not set
+CONFIG_DOWNGRADE_DIAG_WARNING=y
+# end of Debug options
+
+#
+# Lib
+#
+CONFIG_USE_COMPILE_CHAIN=y
+# CONFIG_USE_NEWLIB is not set
+# CONFIG_USE_USER_DEFINED is not set
+# end of Lib
+
+# CONFIG_ENABLE_CXX is not set
+
+#
+# Linker Options
+#
+CONFIG_DEFAULT_LINKER_SCRIPT=y
+# CONFIG_USER_DEFINED_LD is not set
+CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
+CONFIG_IMAGE_MAX_LENGTH=0x1000000
+CONFIG_HEAP_SIZE=1
+CONFIG_SVC_STACK_SIZE=0x1000
+CONFIG_SYS_STACK_SIZE=0x1000
+CONFIG_IRQ_STACK_SIZE=0x1000
+CONFIG_ABORT_STACK_SIZE=0x1000
+CONFIG_FIQ_STACK_SIZE=0x1000
+CONFIG_UNDEF_STACK_SIZE=0x1000
+# end of Linker Options
+# end of Build setup
+
+#
+# Component Configuration
+#
+
+#
+# Freertos Uart Drivers
+#
+CONFIG_FREERTOS_USE_UART=y
+# end of Freertos Uart Drivers
+
+#
+# Freertos Pwm Drivers
+#
+# CONFIG_FREERTOS_USE_PWM is not set
+# end of Freertos Pwm Drivers
+
+#
+# Freertos Qspi Drivers
+#
+# CONFIG_FREERTOS_USE_QSPI is not set
+# end of Freertos Qspi Drivers
+
+#
+# Freertos Wdt Drivers
+#
+# CONFIG_FREERTOS_USE_WDT is not set
+# end of Freertos Wdt Drivers
+
+#
+# Freertos Eth Drivers
+#
+# CONFIG_FREERTOS_USE_XMAC is not set
+# CONFIG_FREERTOS_USE_GMAC is not set
+# end of Freertos Eth Drivers
+
+#
+# Freertos Gpio Drivers
+#
+# CONFIG_FREERTOS_USE_GPIO is not set
+# end of Freertos Gpio Drivers
+
+#
+# Freertos Spim Drivers
+#
+CONFIG_FREERTOS_USE_FSPIM=y
+# end of Freertos Spim Drivers
+
+#
+# Freertos DMA Drivers
+#
+# CONFIG_FREERTOS_USE_FDDMA is not set
+# CONFIG_FREERTOS_USE_FGDMA is not set
+# end of Freertos DMA Drivers
+
+#
+# Freertos Adc Drivers
+#
+# CONFIG_FREERTOS_USE_ADC is not set
+# end of Freertos Adc Drivers
+
+#
+# Freertos Can Drivers
+#
+# CONFIG_FREERTOS_USE_CAN is not set
+# end of Freertos Can Drivers
+
+#
+# Freertos I2c Drivers
+#
+# CONFIG_FREERTOS_USE_I2C is not set
+# end of Freertos I2c Drivers
+
+#
+# Freertos Mio Drivers
+#
+# CONFIG_FREERTOS_USE_MIO is not set
+# end of Freertos Mio Drivers
+
+#
+# Freertos Timer Drivers
+#
+# CONFIG_FREERTOS_USE_TIMER is not set
+# end of Freertos Timer Drivers
+
+#
+# Freertos Media Drivers
+#
+# CONFIG_FREERTOS_USE_MEDIA is not set
+# end of Freertos Media Drivers
+# end of Component Configuration
+
+#
+# Third-party configuration
+#
+# CONFIG_USE_LWIP is not set
+CONFIG_USE_LETTER_SHELL=y
+
+#
+# Letter Shell Configuration
+#
+CONFIG_LS_PL011_UART=y
+CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y
+# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set
+# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set
+# end of Letter Shell Configuration
+
+# CONFIG_USE_AMP is not set
+# CONFIG_USE_YMODEM is not set
+# CONFIG_USE_SFUD is not set
+CONFIG_USE_BACKTRACE=y
+# CONFIG_USE_FATFS_0_1_4 is not set
+CONFIG_USE_TLSF=y
+# CONFIG_USE_SPIFFS is not set
+# CONFIG_USE_LITTLE_FS is not set
+# CONFIG_USE_LVGL is not set
+# CONFIG_USE_FREEMODBUS is not set
+CONFIG_USE_CHERRY_USB=y
+
+#
+# CherryUSB Configuration
+#
+CONFIG_CHERRY_USB_PORT_XHCI=y
+# CONFIG_CHERRY_USB_PORT_PHYTIUM_OTG is not set
+CONFIG_CHERRYUSB_HOST=y
+# CONFIG_CHERRYUSB_DEVICE is not set
+CONFIG_CHERRY_USB_HOST_HUB=y
+CONFIG_CHERRY_USB_HOST_MSC=y
+CONFIG_CHERRY_USB_HOST_HID=y
+# CONFIG_CHERRY_USB_HOST_VEDIO is not set
+# CONFIG_CHERRY_USB_HOST_CDC is not set
+# CONFIG_CHERRY_USB_HOST_RNDIS_WIRELESS is not set
+# end of CherryUSB Configuration
+
+# CONFIG_USE_FSL_SDMMC is not set
+# CONFIG_USE_FSL_WIFI is not set
+# end of Third-party configuration
+
+#
+# FreeRTOS Kernel Configuration
+#
+CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y
+CONFIG_FREERTOS_HZ=1000
+CONFIG_FREERTOS_MAX_PRIORITIES=32
+CONFIG_FREERTOS_KERNEL_INTERRUPT_PRIORITIES=13
+CONFIG_FREERTOS_MAX_API_CALL_INTERRUPT_PRIORITIES=11
+CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
+CONFIG_FREERTOS_MINIMAL_TASK_STACKSIZE=1024
+CONFIG_FREERTOS_MAX_TASK_NAME_LEN=32
+CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
+CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048
+CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10
+CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
+CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
+CONFIG_FREERTOS_USE_TRACE_FACILITY=y
+CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
+# CONFIG_FREERTOS_USE_TICKLESS_IDLE is not set
+CONFIG_FREERTOS_TOTAL_HEAP_SIZE=10240
+CONFIG_FREERTOS_TASK_FPU_SUPPORT=1
+# CONFIG_FREERTOS_USE_POSIX is not set
+# end of FreeRTOS Kernel Configuration
diff --git a/example/peripheral/usb/xhci_pcie/configs/e2000q_aarch64_demo_cherry_usb.config b/example/peripheral/usb/xhci_pcie/configs/e2000q_aarch64_demo_cherry_usb.config
new file mode 100644
index 0000000000000000000000000000000000000000..027315f52fbb1eaf6a233d4390b7ecc838a13ade
--- /dev/null
+++ b/example/peripheral/usb/xhci_pcie/configs/e2000q_aarch64_demo_cherry_usb.config
@@ -0,0 +1,376 @@
+CONFIG_USE_FREERTOS=y
+
+#
+# Arch configuration
+#
+CONFIG_TARGET_ARMv8=y
+CONFIG_ARCH_NAME="armv8"
+
+#
+# Arm architecture configuration
+#
+CONFIG_ARCH_ARMV8_AARCH64=y
+# CONFIG_ARCH_ARMV8_AARCH32 is not set
+
+#
+# Compiler configuration
+#
+CONFIG_ARM_GCC_SELECT=y
+# CONFIG_ARM_CLANG_SELECT is not set
+CONFIG_TOOLCHAIN_NAME="gcc"
+CONFIG_TARGET_ARMV8_AARCH64=y
+CONFIG_ARCH_EXECUTION_STATE="aarch64"
+CONFIG_ARM_NEON=y
+CONFIG_ARM_CRC=y
+CONFIG_ARM_CRYPTO=y
+CONFIG_ARM_FLOAT_POINT=y
+# CONFIG_GCC_CODE_MODEL_TINY is not set
+CONFIG_GCC_CODE_MODEL_SMALL=y
+# CONFIG_GCC_CODE_MODEL_LARGE is not set
+# end of Compiler configuration
+
+CONFIG_USE_CACHE=y
+CONFIG_USE_MMU=y
+CONFIG_BOOT_WITH_FLUSH_CACHE=y
+# CONFIG_MMU_DEBUG_PRINTS is not set
+# end of Arm architecture configuration
+# end of Arch configuration
+
+#
+# Soc configuration
+#
+# CONFIG_TARGET_PHYTIUMPI is not set
+CONFIG_TARGET_E2000Q=y
+# CONFIG_TARGET_E2000D is not set
+# CONFIG_TARGET_E2000S is not set
+# CONFIG_TARGET_FT2004 is not set
+# CONFIG_TARGET_D2000 is not set
+CONFIG_SOC_NAME="e2000"
+CONFIG_TARGET_TYPE_NAME="q"
+CONFIG_SOC_CORE_NUM=4
+CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000
+CONFIG_F32BIT_MEMORY_LENGTH=0x80000000
+CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000
+CONFIG_F64BIT_MEMORY_LENGTH=0x800000000
+CONFIG_TARGET_E2000=y
+# CONFIG_USE_SPINLOCK is not set
+CONFIG_DEFAULT_DEBUG_PRINT_UART1=y
+# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set
+# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set
+# end of Soc configuration
+
+#
+# Board Configuration
+#
+CONFIG_BOARD_NAME="demo"
+# CONFIG_USE_SPI_IOPAD is not set
+# CONFIG_USE_GPIO_IOPAD is not set
+# CONFIG_USE_CAN_IOPAD is not set
+# CONFIG_USE_QSPI_IOPAD is not set
+# CONFIG_USE_PWM_IOPAD is not set
+# CONFIG_USE_MIO_IOPAD is not set
+# CONFIG_USE_TACHO_IOPAD is not set
+# CONFIG_USE_UART_IOPAD is not set
+# CONFIG_USE_THIRD_PARTY_IOPAD is not set
+CONFIG_E2000Q_DEMO_BOARD=y
+
+#
+# IO mux configuration when board start up
+#
+# end of IO mux configuration when board start up
+
+# CONFIG_CUS_DEMO_BOARD is not set
+
+#
+# Build project name
+#
+CONFIG_TARGET_NAME="cherry_usb"
+# end of Build project name
+# end of Board Configuration
+
+#
+# Sdk common configuration
+#
+# CONFIG_LOG_VERBOS is not set
+# CONFIG_LOG_DEBUG is not set
+# CONFIG_LOG_INFO is not set
+# CONFIG_LOG_WARN is not set
+CONFIG_LOG_ERROR=y
+# CONFIG_LOG_NONE is not set
+CONFIG_LOG_EXTRA_INFO=y
+# CONFIG_LOG_DISPALY_CORE_NUM is not set
+# CONFIG_BOOTUP_DEBUG_PRINTS is not set
+CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
+CONFIG_INTERRUPT_ROLE_MASTER=y
+# CONFIG_INTERRUPT_ROLE_SLAVE is not set
+# end of Sdk common configuration
+
+#
+# Image information configuration
+#
+# CONFIG_IMAGE_INFO is not set
+# end of Image information configuration
+
+#
+# Drivers configuration
+#
+CONFIG_USE_IOMUX=y
+# CONFIG_ENABLE_IOCTRL is not set
+CONFIG_ENABLE_IOPAD=y
+CONFIG_USE_SPI=y
+CONFIG_USE_FSPIM=y
+# CONFIG_USE_QSPI is not set
+CONFIG_USE_SERIAL=y
+
+#
+# Usart Configuration
+#
+CONFIG_ENABLE_Pl011_UART=y
+# end of Usart Configuration
+
+# CONFIG_USE_GPIO is not set
+# CONFIG_USE_ETH is not set
+# CONFIG_USE_CAN is not set
+# CONFIG_USE_I2C is not set
+# CONFIG_USE_TIMER is not set
+# CONFIG_USE_MIO is not set
+# CONFIG_USE_SDMMC is not set
+CONFIG_USE_PCIE=y
+
+#
+# Pcie Configuration
+#
+CONFIG_ENABLE_FPCIE_ECAM=y
+# CONFIG_ENABLE_FPCIEC is not set
+# end of Pcie Configuration
+
+# CONFIG_USE_WDT is not set
+# CONFIG_USE_DMA is not set
+# CONFIG_USE_NAND is not set
+# CONFIG_USE_RTC is not set
+# CONFIG_USE_SATA is not set
+CONFIG_USE_USB=y
+CONFIG_ENABLE_USB_FXHCI=y
+# CONFIG_USE_ADC is not set
+# CONFIG_USE_PWM is not set
+# CONFIG_USE_IPC is not set
+# CONFIG_USE_MEDIA is not set
+# CONFIG_USE_SCMI_MHU is not set
+# CONFIG_USE_I2S is not set
+# end of Drivers configuration
+
+#
+# Build setup
+#
+CONFIG_CHECK_DEPS=y
+CONFIG_OUTPUT_BINARY=y
+
+#
+# Optimization options
+#
+# CONFIG_DEBUG_NOOPT is not set
+# CONFIG_DEBUG_CUSTOMOPT is not set
+CONFIG_DEBUG_FULLOPT=y
+CONFIG_DEBUG_OPT_UNUSED_SECTIONS=y
+CONFIG_DEBUG_LINK_MAP=y
+# CONFIG_CCACHE is not set
+# CONFIG_ARCH_COVERAGE is not set
+# CONFIG_LTO_FULL is not set
+# end of Optimization options
+
+#
+# Debug options
+#
+# CONFIG_DEBUG_ENABLE_ALL_WARNING is not set
+# CONFIG_WALL_WARNING_ERROR is not set
+# CONFIG_STRICT_PROTOTYPES is not set
+# CONFIG_DEBUG_SYMBOLS is not set
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_OUTPUT_ASM_DIS is not set
+# CONFIG_ENABLE_WSHADOW is not set
+# CONFIG_ENABLE_WUNDEF is not set
+CONFIG_DOWNGRADE_DIAG_WARNING=y
+# end of Debug options
+
+#
+# Lib
+#
+CONFIG_USE_COMPILE_CHAIN=y
+# CONFIG_USE_NEWLIB is not set
+# CONFIG_USE_USER_DEFINED is not set
+# end of Lib
+
+# CONFIG_ENABLE_CXX is not set
+
+#
+# Linker Options
+#
+CONFIG_DEFAULT_LINKER_SCRIPT=y
+# CONFIG_USER_DEFINED_LD is not set
+CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
+CONFIG_IMAGE_MAX_LENGTH=0x1000000
+CONFIG_HEAP_SIZE=1
+CONFIG_STACK_SIZE=0x400
+# end of Linker Options
+# end of Build setup
+
+#
+# Component Configuration
+#
+
+#
+# Freertos Uart Drivers
+#
+CONFIG_FREERTOS_USE_UART=y
+# end of Freertos Uart Drivers
+
+#
+# Freertos Pwm Drivers
+#
+# CONFIG_FREERTOS_USE_PWM is not set
+# end of Freertos Pwm Drivers
+
+#
+# Freertos Qspi Drivers
+#
+# CONFIG_FREERTOS_USE_QSPI is not set
+# end of Freertos Qspi Drivers
+
+#
+# Freertos Wdt Drivers
+#
+# CONFIG_FREERTOS_USE_WDT is not set
+# end of Freertos Wdt Drivers
+
+#
+# Freertos Eth Drivers
+#
+# CONFIG_FREERTOS_USE_XMAC is not set
+# CONFIG_FREERTOS_USE_GMAC is not set
+# end of Freertos Eth Drivers
+
+#
+# Freertos Gpio Drivers
+#
+# CONFIG_FREERTOS_USE_GPIO is not set
+# end of Freertos Gpio Drivers
+
+#
+# Freertos Spim Drivers
+#
+CONFIG_FREERTOS_USE_FSPIM=y
+# end of Freertos Spim Drivers
+
+#
+# Freertos DMA Drivers
+#
+# CONFIG_FREERTOS_USE_FDDMA is not set
+# CONFIG_FREERTOS_USE_FGDMA is not set
+# end of Freertos DMA Drivers
+
+#
+# Freertos Adc Drivers
+#
+# CONFIG_FREERTOS_USE_ADC is not set
+# end of Freertos Adc Drivers
+
+#
+# Freertos Can Drivers
+#
+# CONFIG_FREERTOS_USE_CAN is not set
+# end of Freertos Can Drivers
+
+#
+# Freertos I2c Drivers
+#
+# CONFIG_FREERTOS_USE_I2C is not set
+# end of Freertos I2c Drivers
+
+#
+# Freertos Mio Drivers
+#
+# CONFIG_FREERTOS_USE_MIO is not set
+# end of Freertos Mio Drivers
+
+#
+# Freertos Timer Drivers
+#
+# CONFIG_FREERTOS_USE_TIMER is not set
+# end of Freertos Timer Drivers
+
+#
+# Freertos Media Drivers
+#
+# CONFIG_FREERTOS_USE_MEDIA is not set
+# end of Freertos Media Drivers
+# end of Component Configuration
+
+#
+# Third-party configuration
+#
+# CONFIG_USE_LWIP is not set
+CONFIG_USE_LETTER_SHELL=y
+
+#
+# Letter Shell Configuration
+#
+CONFIG_LS_PL011_UART=y
+CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y
+# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set
+# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set
+# end of Letter Shell Configuration
+
+# CONFIG_USE_AMP is not set
+# CONFIG_USE_YMODEM is not set
+# CONFIG_USE_SFUD is not set
+CONFIG_USE_BACKTRACE=y
+# CONFIG_USE_FATFS_0_1_4 is not set
+CONFIG_USE_TLSF=y
+# CONFIG_USE_SPIFFS is not set
+# CONFIG_USE_LITTLE_FS is not set
+# CONFIG_USE_LVGL is not set
+# CONFIG_USE_FREEMODBUS is not set
+CONFIG_USE_CHERRY_USB=y
+
+#
+# CherryUSB Configuration
+#
+CONFIG_CHERRY_USB_PORT_XHCI=y
+# CONFIG_CHERRY_USB_PORT_PHYTIUM_OTG is not set
+CONFIG_CHERRYUSB_HOST=y
+# CONFIG_CHERRYUSB_DEVICE is not set
+CONFIG_CHERRY_USB_HOST_HUB=y
+CONFIG_CHERRY_USB_HOST_MSC=y
+CONFIG_CHERRY_USB_HOST_HID=y
+# CONFIG_CHERRY_USB_HOST_VEDIO is not set
+# CONFIG_CHERRY_USB_HOST_CDC is not set
+# CONFIG_CHERRY_USB_HOST_RNDIS_WIRELESS is not set
+# end of CherryUSB Configuration
+
+# CONFIG_USE_FSL_SDMMC is not set
+# CONFIG_USE_FSL_WIFI is not set
+# end of Third-party configuration
+
+#
+# FreeRTOS Kernel Configuration
+#
+CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y
+CONFIG_FREERTOS_HZ=1000
+CONFIG_FREERTOS_MAX_PRIORITIES=32
+CONFIG_FREERTOS_KERNEL_INTERRUPT_PRIORITIES=13
+CONFIG_FREERTOS_MAX_API_CALL_INTERRUPT_PRIORITIES=11
+CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
+CONFIG_FREERTOS_MINIMAL_TASK_STACKSIZE=1024
+CONFIG_FREERTOS_MAX_TASK_NAME_LEN=32
+CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
+CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048
+CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10
+CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
+CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
+CONFIG_FREERTOS_USE_TRACE_FACILITY=y
+CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
+# CONFIG_FREERTOS_USE_TICKLESS_IDLE is not set
+CONFIG_FREERTOS_TOTAL_HEAP_SIZE=10240
+CONFIG_FREERTOS_TASK_FPU_SUPPORT=1
+# CONFIG_FREERTOS_USE_POSIX is not set
+# end of FreeRTOS Kernel Configuration
diff --git a/example/peripheral/usb/xhci_pcie/figs/STAR-UPCIE201-V1.0.jpg b/example/peripheral/usb/xhci_pcie/figs/STAR-UPCIE201-V1.0.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2c3ad4994074b6046cea697a5481036a6e2dd089
Binary files /dev/null and b/example/peripheral/usb/xhci_pcie/figs/STAR-UPCIE201-V1.0.jpg differ
diff --git a/example/peripheral/usb/xhci_pcie/figs/uPD720201.png b/example/peripheral/usb/xhci_pcie/figs/uPD720201.png
new file mode 100644
index 0000000000000000000000000000000000000000..a9d30589c618c561f76f21ba2c49d957155c5a34
Binary files /dev/null and b/example/peripheral/usb/xhci_pcie/figs/uPD720201.png differ
diff --git a/example/peripheral/usb/xhci_pcie/figs/usb_disk.png b/example/peripheral/usb/xhci_pcie/figs/usb_disk.png
new file mode 100644
index 0000000000000000000000000000000000000000..289a0bd93bde23c26bcc429f22ce8428900bfc24
Binary files /dev/null and b/example/peripheral/usb/xhci_pcie/figs/usb_disk.png differ
diff --git a/example/peripheral/usb/xhci_pcie/figs/usb_disk_connection.jpg b/example/peripheral/usb/xhci_pcie/figs/usb_disk_connection.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7ee4ccd49734459070f98034f9df3391ff226a23
Binary files /dev/null and b/example/peripheral/usb/xhci_pcie/figs/usb_disk_connection.jpg differ
diff --git a/example/peripheral/usb/xhci_pcie/figs/usb_kbd.png b/example/peripheral/usb/xhci_pcie/figs/usb_kbd.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b1954dfb9887fbb7b39bfa05bfd7e5759228b73
Binary files /dev/null and b/example/peripheral/usb/xhci_pcie/figs/usb_kbd.png differ
diff --git a/example/peripheral/usb/xhci_pcie/figs/usb_mouse.png b/example/peripheral/usb/xhci_pcie/figs/usb_mouse.png
new file mode 100644
index 0000000000000000000000000000000000000000..19812af3b4aa700ef83ebc85e0fab6c4beeefc13
Binary files /dev/null and b/example/peripheral/usb/xhci_pcie/figs/usb_mouse.png differ
diff --git a/example/peripheral/usb/cherryusb_host/inc/usb_host.h b/example/peripheral/usb/xhci_pcie/inc/usb_host.h
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/inc/usb_host.h
rename to example/peripheral/usb/xhci_pcie/inc/usb_host.h
diff --git a/example/peripheral/usb/cherryusb_host/main.c b/example/peripheral/usb/xhci_pcie/main.c
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/main.c
rename to example/peripheral/usb/xhci_pcie/main.c
diff --git a/example/peripheral/usb/cherryusb_host/makefile b/example/peripheral/usb/xhci_pcie/makefile
similarity index 88%
rename from example/peripheral/usb/cherryusb_host/makefile
rename to example/peripheral/usb/xhci_pcie/makefile
index d1eea10c696e5fe644767b24f2b2945c521cadb2..7691fd58334cde9d2d6959db772fdd277c34d149 100644
--- a/example/peripheral/usb/cherryusb_host/makefile
+++ b/example/peripheral/usb/xhci_pcie/makefile
@@ -19,12 +19,10 @@ USER_INCLUDE := $(PROJECT_DIR) \
include $(FREERTOS_SDK_DIR)/tools/makeall.mk
-USR_BOOT_DIR ?= /mnt/d/tftboot
+USR_BOOT_DIR ?= /mnt/d/tftpboot
-image:
- $(MAKE) clean
- $(MAKE) all -j
+image: all
@cp ./$(IMAGE_OUT_NAME).elf $(USR_BOOT_DIR)/freertos.elf
ifdef CONFIG_OUTPUT_BINARY
@cp ./$(IMAGE_OUT_NAME).bin $(USR_BOOT_DIR)/freertos.bin
diff --git a/example/peripheral/usb/xhci_pcie/sdkconfig b/example/peripheral/usb/xhci_pcie/sdkconfig
new file mode 100644
index 0000000000000000000000000000000000000000..027315f52fbb1eaf6a233d4390b7ecc838a13ade
--- /dev/null
+++ b/example/peripheral/usb/xhci_pcie/sdkconfig
@@ -0,0 +1,376 @@
+CONFIG_USE_FREERTOS=y
+
+#
+# Arch configuration
+#
+CONFIG_TARGET_ARMv8=y
+CONFIG_ARCH_NAME="armv8"
+
+#
+# Arm architecture configuration
+#
+CONFIG_ARCH_ARMV8_AARCH64=y
+# CONFIG_ARCH_ARMV8_AARCH32 is not set
+
+#
+# Compiler configuration
+#
+CONFIG_ARM_GCC_SELECT=y
+# CONFIG_ARM_CLANG_SELECT is not set
+CONFIG_TOOLCHAIN_NAME="gcc"
+CONFIG_TARGET_ARMV8_AARCH64=y
+CONFIG_ARCH_EXECUTION_STATE="aarch64"
+CONFIG_ARM_NEON=y
+CONFIG_ARM_CRC=y
+CONFIG_ARM_CRYPTO=y
+CONFIG_ARM_FLOAT_POINT=y
+# CONFIG_GCC_CODE_MODEL_TINY is not set
+CONFIG_GCC_CODE_MODEL_SMALL=y
+# CONFIG_GCC_CODE_MODEL_LARGE is not set
+# end of Compiler configuration
+
+CONFIG_USE_CACHE=y
+CONFIG_USE_MMU=y
+CONFIG_BOOT_WITH_FLUSH_CACHE=y
+# CONFIG_MMU_DEBUG_PRINTS is not set
+# end of Arm architecture configuration
+# end of Arch configuration
+
+#
+# Soc configuration
+#
+# CONFIG_TARGET_PHYTIUMPI is not set
+CONFIG_TARGET_E2000Q=y
+# CONFIG_TARGET_E2000D is not set
+# CONFIG_TARGET_E2000S is not set
+# CONFIG_TARGET_FT2004 is not set
+# CONFIG_TARGET_D2000 is not set
+CONFIG_SOC_NAME="e2000"
+CONFIG_TARGET_TYPE_NAME="q"
+CONFIG_SOC_CORE_NUM=4
+CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000
+CONFIG_F32BIT_MEMORY_LENGTH=0x80000000
+CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000
+CONFIG_F64BIT_MEMORY_LENGTH=0x800000000
+CONFIG_TARGET_E2000=y
+# CONFIG_USE_SPINLOCK is not set
+CONFIG_DEFAULT_DEBUG_PRINT_UART1=y
+# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set
+# CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set
+# end of Soc configuration
+
+#
+# Board Configuration
+#
+CONFIG_BOARD_NAME="demo"
+# CONFIG_USE_SPI_IOPAD is not set
+# CONFIG_USE_GPIO_IOPAD is not set
+# CONFIG_USE_CAN_IOPAD is not set
+# CONFIG_USE_QSPI_IOPAD is not set
+# CONFIG_USE_PWM_IOPAD is not set
+# CONFIG_USE_MIO_IOPAD is not set
+# CONFIG_USE_TACHO_IOPAD is not set
+# CONFIG_USE_UART_IOPAD is not set
+# CONFIG_USE_THIRD_PARTY_IOPAD is not set
+CONFIG_E2000Q_DEMO_BOARD=y
+
+#
+# IO mux configuration when board start up
+#
+# end of IO mux configuration when board start up
+
+# CONFIG_CUS_DEMO_BOARD is not set
+
+#
+# Build project name
+#
+CONFIG_TARGET_NAME="cherry_usb"
+# end of Build project name
+# end of Board Configuration
+
+#
+# Sdk common configuration
+#
+# CONFIG_LOG_VERBOS is not set
+# CONFIG_LOG_DEBUG is not set
+# CONFIG_LOG_INFO is not set
+# CONFIG_LOG_WARN is not set
+CONFIG_LOG_ERROR=y
+# CONFIG_LOG_NONE is not set
+CONFIG_LOG_EXTRA_INFO=y
+# CONFIG_LOG_DISPALY_CORE_NUM is not set
+# CONFIG_BOOTUP_DEBUG_PRINTS is not set
+CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
+CONFIG_INTERRUPT_ROLE_MASTER=y
+# CONFIG_INTERRUPT_ROLE_SLAVE is not set
+# end of Sdk common configuration
+
+#
+# Image information configuration
+#
+# CONFIG_IMAGE_INFO is not set
+# end of Image information configuration
+
+#
+# Drivers configuration
+#
+CONFIG_USE_IOMUX=y
+# CONFIG_ENABLE_IOCTRL is not set
+CONFIG_ENABLE_IOPAD=y
+CONFIG_USE_SPI=y
+CONFIG_USE_FSPIM=y
+# CONFIG_USE_QSPI is not set
+CONFIG_USE_SERIAL=y
+
+#
+# Usart Configuration
+#
+CONFIG_ENABLE_Pl011_UART=y
+# end of Usart Configuration
+
+# CONFIG_USE_GPIO is not set
+# CONFIG_USE_ETH is not set
+# CONFIG_USE_CAN is not set
+# CONFIG_USE_I2C is not set
+# CONFIG_USE_TIMER is not set
+# CONFIG_USE_MIO is not set
+# CONFIG_USE_SDMMC is not set
+CONFIG_USE_PCIE=y
+
+#
+# Pcie Configuration
+#
+CONFIG_ENABLE_FPCIE_ECAM=y
+# CONFIG_ENABLE_FPCIEC is not set
+# end of Pcie Configuration
+
+# CONFIG_USE_WDT is not set
+# CONFIG_USE_DMA is not set
+# CONFIG_USE_NAND is not set
+# CONFIG_USE_RTC is not set
+# CONFIG_USE_SATA is not set
+CONFIG_USE_USB=y
+CONFIG_ENABLE_USB_FXHCI=y
+# CONFIG_USE_ADC is not set
+# CONFIG_USE_PWM is not set
+# CONFIG_USE_IPC is not set
+# CONFIG_USE_MEDIA is not set
+# CONFIG_USE_SCMI_MHU is not set
+# CONFIG_USE_I2S is not set
+# end of Drivers configuration
+
+#
+# Build setup
+#
+CONFIG_CHECK_DEPS=y
+CONFIG_OUTPUT_BINARY=y
+
+#
+# Optimization options
+#
+# CONFIG_DEBUG_NOOPT is not set
+# CONFIG_DEBUG_CUSTOMOPT is not set
+CONFIG_DEBUG_FULLOPT=y
+CONFIG_DEBUG_OPT_UNUSED_SECTIONS=y
+CONFIG_DEBUG_LINK_MAP=y
+# CONFIG_CCACHE is not set
+# CONFIG_ARCH_COVERAGE is not set
+# CONFIG_LTO_FULL is not set
+# end of Optimization options
+
+#
+# Debug options
+#
+# CONFIG_DEBUG_ENABLE_ALL_WARNING is not set
+# CONFIG_WALL_WARNING_ERROR is not set
+# CONFIG_STRICT_PROTOTYPES is not set
+# CONFIG_DEBUG_SYMBOLS is not set
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_OUTPUT_ASM_DIS is not set
+# CONFIG_ENABLE_WSHADOW is not set
+# CONFIG_ENABLE_WUNDEF is not set
+CONFIG_DOWNGRADE_DIAG_WARNING=y
+# end of Debug options
+
+#
+# Lib
+#
+CONFIG_USE_COMPILE_CHAIN=y
+# CONFIG_USE_NEWLIB is not set
+# CONFIG_USE_USER_DEFINED is not set
+# end of Lib
+
+# CONFIG_ENABLE_CXX is not set
+
+#
+# Linker Options
+#
+CONFIG_DEFAULT_LINKER_SCRIPT=y
+# CONFIG_USER_DEFINED_LD is not set
+CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
+CONFIG_IMAGE_MAX_LENGTH=0x1000000
+CONFIG_HEAP_SIZE=1
+CONFIG_STACK_SIZE=0x400
+# end of Linker Options
+# end of Build setup
+
+#
+# Component Configuration
+#
+
+#
+# Freertos Uart Drivers
+#
+CONFIG_FREERTOS_USE_UART=y
+# end of Freertos Uart Drivers
+
+#
+# Freertos Pwm Drivers
+#
+# CONFIG_FREERTOS_USE_PWM is not set
+# end of Freertos Pwm Drivers
+
+#
+# Freertos Qspi Drivers
+#
+# CONFIG_FREERTOS_USE_QSPI is not set
+# end of Freertos Qspi Drivers
+
+#
+# Freertos Wdt Drivers
+#
+# CONFIG_FREERTOS_USE_WDT is not set
+# end of Freertos Wdt Drivers
+
+#
+# Freertos Eth Drivers
+#
+# CONFIG_FREERTOS_USE_XMAC is not set
+# CONFIG_FREERTOS_USE_GMAC is not set
+# end of Freertos Eth Drivers
+
+#
+# Freertos Gpio Drivers
+#
+# CONFIG_FREERTOS_USE_GPIO is not set
+# end of Freertos Gpio Drivers
+
+#
+# Freertos Spim Drivers
+#
+CONFIG_FREERTOS_USE_FSPIM=y
+# end of Freertos Spim Drivers
+
+#
+# Freertos DMA Drivers
+#
+# CONFIG_FREERTOS_USE_FDDMA is not set
+# CONFIG_FREERTOS_USE_FGDMA is not set
+# end of Freertos DMA Drivers
+
+#
+# Freertos Adc Drivers
+#
+# CONFIG_FREERTOS_USE_ADC is not set
+# end of Freertos Adc Drivers
+
+#
+# Freertos Can Drivers
+#
+# CONFIG_FREERTOS_USE_CAN is not set
+# end of Freertos Can Drivers
+
+#
+# Freertos I2c Drivers
+#
+# CONFIG_FREERTOS_USE_I2C is not set
+# end of Freertos I2c Drivers
+
+#
+# Freertos Mio Drivers
+#
+# CONFIG_FREERTOS_USE_MIO is not set
+# end of Freertos Mio Drivers
+
+#
+# Freertos Timer Drivers
+#
+# CONFIG_FREERTOS_USE_TIMER is not set
+# end of Freertos Timer Drivers
+
+#
+# Freertos Media Drivers
+#
+# CONFIG_FREERTOS_USE_MEDIA is not set
+# end of Freertos Media Drivers
+# end of Component Configuration
+
+#
+# Third-party configuration
+#
+# CONFIG_USE_LWIP is not set
+CONFIG_USE_LETTER_SHELL=y
+
+#
+# Letter Shell Configuration
+#
+CONFIG_LS_PL011_UART=y
+CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y
+# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set
+# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set
+# end of Letter Shell Configuration
+
+# CONFIG_USE_AMP is not set
+# CONFIG_USE_YMODEM is not set
+# CONFIG_USE_SFUD is not set
+CONFIG_USE_BACKTRACE=y
+# CONFIG_USE_FATFS_0_1_4 is not set
+CONFIG_USE_TLSF=y
+# CONFIG_USE_SPIFFS is not set
+# CONFIG_USE_LITTLE_FS is not set
+# CONFIG_USE_LVGL is not set
+# CONFIG_USE_FREEMODBUS is not set
+CONFIG_USE_CHERRY_USB=y
+
+#
+# CherryUSB Configuration
+#
+CONFIG_CHERRY_USB_PORT_XHCI=y
+# CONFIG_CHERRY_USB_PORT_PHYTIUM_OTG is not set
+CONFIG_CHERRYUSB_HOST=y
+# CONFIG_CHERRYUSB_DEVICE is not set
+CONFIG_CHERRY_USB_HOST_HUB=y
+CONFIG_CHERRY_USB_HOST_MSC=y
+CONFIG_CHERRY_USB_HOST_HID=y
+# CONFIG_CHERRY_USB_HOST_VEDIO is not set
+# CONFIG_CHERRY_USB_HOST_CDC is not set
+# CONFIG_CHERRY_USB_HOST_RNDIS_WIRELESS is not set
+# end of CherryUSB Configuration
+
+# CONFIG_USE_FSL_SDMMC is not set
+# CONFIG_USE_FSL_WIFI is not set
+# end of Third-party configuration
+
+#
+# FreeRTOS Kernel Configuration
+#
+CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y
+CONFIG_FREERTOS_HZ=1000
+CONFIG_FREERTOS_MAX_PRIORITIES=32
+CONFIG_FREERTOS_KERNEL_INTERRUPT_PRIORITIES=13
+CONFIG_FREERTOS_MAX_API_CALL_INTERRUPT_PRIORITIES=11
+CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
+CONFIG_FREERTOS_MINIMAL_TASK_STACKSIZE=1024
+CONFIG_FREERTOS_MAX_TASK_NAME_LEN=32
+CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
+CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048
+CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10
+CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
+CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
+CONFIG_FREERTOS_USE_TRACE_FACILITY=y
+CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
+# CONFIG_FREERTOS_USE_TICKLESS_IDLE is not set
+CONFIG_FREERTOS_TOTAL_HEAP_SIZE=10240
+CONFIG_FREERTOS_TASK_FPU_SUPPORT=1
+# CONFIG_FREERTOS_USE_POSIX is not set
+# end of FreeRTOS Kernel Configuration
diff --git a/example/peripheral/usb/xhci_pcie/sdkconfig.h b/example/peripheral/usb/xhci_pcie/sdkconfig.h
new file mode 100644
index 0000000000000000000000000000000000000000..df21b3ecc4b558b7557b49f79c99a8cf9efd7c30
--- /dev/null
+++ b/example/peripheral/usb/xhci_pcie/sdkconfig.h
@@ -0,0 +1,337 @@
+#ifndef SDK_CONFIG_H__
+#define SDK_CONFIG_H__
+
+#define CONFIG_USE_FREERTOS
+
+/* Arch configuration */
+
+#define CONFIG_TARGET_ARMv8
+#define CONFIG_ARCH_NAME "armv8"
+
+/* Arm architecture configuration */
+
+#define CONFIG_ARCH_ARMV8_AARCH64
+/* CONFIG_ARCH_ARMV8_AARCH32 is not set */
+
+/* Compiler configuration */
+
+#define CONFIG_ARM_GCC_SELECT
+/* CONFIG_ARM_CLANG_SELECT is not set */
+#define CONFIG_TOOLCHAIN_NAME "gcc"
+#define CONFIG_TARGET_ARMV8_AARCH64
+#define CONFIG_ARCH_EXECUTION_STATE "aarch64"
+#define CONFIG_ARM_NEON
+#define CONFIG_ARM_CRC
+#define CONFIG_ARM_CRYPTO
+#define CONFIG_ARM_FLOAT_POINT
+/* CONFIG_GCC_CODE_MODEL_TINY is not set */
+#define CONFIG_GCC_CODE_MODEL_SMALL
+/* CONFIG_GCC_CODE_MODEL_LARGE is not set */
+/* end of Compiler configuration */
+#define CONFIG_USE_CACHE
+#define CONFIG_USE_MMU
+#define CONFIG_BOOT_WITH_FLUSH_CACHE
+/* CONFIG_MMU_DEBUG_PRINTS is not set */
+/* end of Arm architecture configuration */
+/* end of Arch configuration */
+
+/* Soc configuration */
+
+/* CONFIG_TARGET_PHYTIUMPI is not set */
+#define CONFIG_TARGET_E2000Q
+/* CONFIG_TARGET_E2000D is not set */
+/* CONFIG_TARGET_E2000S is not set */
+/* CONFIG_TARGET_FT2004 is not set */
+/* CONFIG_TARGET_D2000 is not set */
+#define CONFIG_SOC_NAME "e2000"
+#define CONFIG_TARGET_TYPE_NAME "q"
+#define CONFIG_SOC_CORE_NUM 4
+#define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000
+#define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000
+#define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000
+#define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000
+#define CONFIG_TARGET_E2000
+/* CONFIG_USE_SPINLOCK is not set */
+#define CONFIG_DEFAULT_DEBUG_PRINT_UART1
+/* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */
+/* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */
+/* end of Soc configuration */
+
+/* Board Configuration */
+
+#define CONFIG_BOARD_NAME "demo"
+/* CONFIG_USE_SPI_IOPAD is not set */
+/* CONFIG_USE_GPIO_IOPAD is not set */
+/* CONFIG_USE_CAN_IOPAD is not set */
+/* CONFIG_USE_QSPI_IOPAD is not set */
+/* CONFIG_USE_PWM_IOPAD is not set */
+/* CONFIG_USE_MIO_IOPAD is not set */
+/* CONFIG_USE_TACHO_IOPAD is not set */
+/* CONFIG_USE_UART_IOPAD is not set */
+/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */
+#define CONFIG_E2000Q_DEMO_BOARD
+
+/* IO mux configuration when board start up */
+
+/* end of IO mux configuration when board start up */
+/* CONFIG_CUS_DEMO_BOARD is not set */
+
+/* Build project name */
+
+#define CONFIG_TARGET_NAME "cherry_usb"
+/* end of Build project name */
+/* end of Board Configuration */
+
+/* Sdk common configuration */
+
+/* CONFIG_LOG_VERBOS is not set */
+/* CONFIG_LOG_DEBUG is not set */
+/* CONFIG_LOG_INFO is not set */
+/* CONFIG_LOG_WARN is not set */
+#define CONFIG_LOG_ERROR
+/* CONFIG_LOG_NONE is not set */
+#define CONFIG_LOG_EXTRA_INFO
+/* CONFIG_LOG_DISPALY_CORE_NUM is not set */
+/* CONFIG_BOOTUP_DEBUG_PRINTS is not set */
+#define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG
+#define CONFIG_INTERRUPT_ROLE_MASTER
+/* CONFIG_INTERRUPT_ROLE_SLAVE is not set */
+/* end of Sdk common configuration */
+
+/* Image information configuration */
+
+/* CONFIG_IMAGE_INFO is not set */
+/* end of Image information configuration */
+
+/* Drivers configuration */
+
+#define CONFIG_USE_IOMUX
+/* CONFIG_ENABLE_IOCTRL is not set */
+#define CONFIG_ENABLE_IOPAD
+#define CONFIG_USE_SPI
+#define CONFIG_USE_FSPIM
+/* CONFIG_USE_QSPI is not set */
+#define CONFIG_USE_SERIAL
+
+/* Usart Configuration */
+
+#define CONFIG_ENABLE_Pl011_UART
+/* end of Usart Configuration */
+/* CONFIG_USE_GPIO is not set */
+/* CONFIG_USE_ETH is not set */
+/* CONFIG_USE_CAN is not set */
+/* CONFIG_USE_I2C is not set */
+/* CONFIG_USE_TIMER is not set */
+/* CONFIG_USE_MIO is not set */
+/* CONFIG_USE_SDMMC is not set */
+#define CONFIG_USE_PCIE
+
+/* Pcie Configuration */
+
+#define CONFIG_ENABLE_FPCIE_ECAM
+/* CONFIG_ENABLE_FPCIEC is not set */
+/* end of Pcie Configuration */
+/* CONFIG_USE_WDT is not set */
+/* CONFIG_USE_DMA is not set */
+/* CONFIG_USE_NAND is not set */
+/* CONFIG_USE_RTC is not set */
+/* CONFIG_USE_SATA is not set */
+#define CONFIG_USE_USB
+#define CONFIG_ENABLE_USB_FXHCI
+/* CONFIG_USE_ADC is not set */
+/* CONFIG_USE_PWM is not set */
+/* CONFIG_USE_IPC is not set */
+/* CONFIG_USE_MEDIA is not set */
+/* CONFIG_USE_SCMI_MHU is not set */
+/* CONFIG_USE_I2S is not set */
+/* end of Drivers configuration */
+
+/* Build setup */
+
+#define CONFIG_CHECK_DEPS
+#define CONFIG_OUTPUT_BINARY
+
+/* Optimization options */
+
+/* CONFIG_DEBUG_NOOPT is not set */
+/* CONFIG_DEBUG_CUSTOMOPT is not set */
+#define CONFIG_DEBUG_FULLOPT
+#define CONFIG_DEBUG_OPT_UNUSED_SECTIONS
+#define CONFIG_DEBUG_LINK_MAP
+/* CONFIG_CCACHE is not set */
+/* CONFIG_ARCH_COVERAGE is not set */
+/* CONFIG_LTO_FULL is not set */
+/* end of Optimization options */
+
+/* Debug options */
+
+/* CONFIG_DEBUG_ENABLE_ALL_WARNING is not set */
+/* CONFIG_WALL_WARNING_ERROR is not set */
+/* CONFIG_STRICT_PROTOTYPES is not set */
+/* CONFIG_DEBUG_SYMBOLS is not set */
+/* CONFIG_FRAME_POINTER is not set */
+/* CONFIG_OUTPUT_ASM_DIS is not set */
+/* CONFIG_ENABLE_WSHADOW is not set */
+/* CONFIG_ENABLE_WUNDEF is not set */
+#define CONFIG_DOWNGRADE_DIAG_WARNING
+/* end of Debug options */
+
+/* Lib */
+
+#define CONFIG_USE_COMPILE_CHAIN
+/* CONFIG_USE_NEWLIB is not set */
+/* CONFIG_USE_USER_DEFINED is not set */
+/* end of Lib */
+/* CONFIG_ENABLE_CXX is not set */
+
+/* Linker Options */
+
+#define CONFIG_DEFAULT_LINKER_SCRIPT
+/* CONFIG_USER_DEFINED_LD is not set */
+#define CONFIG_IMAGE_LOAD_ADDRESS 0x80100000
+#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
+#define CONFIG_HEAP_SIZE 1
+#define CONFIG_STACK_SIZE 0x400
+/* end of Linker Options */
+/* end of Build setup */
+
+/* Component Configuration */
+
+/* Freertos Uart Drivers */
+
+#define CONFIG_FREERTOS_USE_UART
+/* end of Freertos Uart Drivers */
+
+/* Freertos Pwm Drivers */
+
+/* CONFIG_FREERTOS_USE_PWM is not set */
+/* end of Freertos Pwm Drivers */
+
+/* Freertos Qspi Drivers */
+
+/* CONFIG_FREERTOS_USE_QSPI is not set */
+/* end of Freertos Qspi Drivers */
+
+/* Freertos Wdt Drivers */
+
+/* CONFIG_FREERTOS_USE_WDT is not set */
+/* end of Freertos Wdt Drivers */
+
+/* Freertos Eth Drivers */
+
+/* CONFIG_FREERTOS_USE_XMAC is not set */
+/* CONFIG_FREERTOS_USE_GMAC is not set */
+/* end of Freertos Eth Drivers */
+
+/* Freertos Gpio Drivers */
+
+/* CONFIG_FREERTOS_USE_GPIO is not set */
+/* end of Freertos Gpio Drivers */
+
+/* Freertos Spim Drivers */
+
+#define CONFIG_FREERTOS_USE_FSPIM
+/* end of Freertos Spim Drivers */
+
+/* Freertos DMA Drivers */
+
+/* CONFIG_FREERTOS_USE_FDDMA is not set */
+/* CONFIG_FREERTOS_USE_FGDMA is not set */
+/* end of Freertos DMA Drivers */
+
+/* Freertos Adc Drivers */
+
+/* CONFIG_FREERTOS_USE_ADC is not set */
+/* end of Freertos Adc Drivers */
+
+/* Freertos Can Drivers */
+
+/* CONFIG_FREERTOS_USE_CAN is not set */
+/* end of Freertos Can Drivers */
+
+/* Freertos I2c Drivers */
+
+/* CONFIG_FREERTOS_USE_I2C is not set */
+/* end of Freertos I2c Drivers */
+
+/* Freertos Mio Drivers */
+
+/* CONFIG_FREERTOS_USE_MIO is not set */
+/* end of Freertos Mio Drivers */
+
+/* Freertos Timer Drivers */
+
+/* CONFIG_FREERTOS_USE_TIMER is not set */
+/* end of Freertos Timer Drivers */
+
+/* Freertos Media Drivers */
+
+/* CONFIG_FREERTOS_USE_MEDIA is not set */
+/* end of Freertos Media Drivers */
+/* end of Component Configuration */
+
+/* Third-party configuration */
+
+/* CONFIG_USE_LWIP is not set */
+#define CONFIG_USE_LETTER_SHELL
+
+/* Letter Shell Configuration */
+
+#define CONFIG_LS_PL011_UART
+#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1
+/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */
+/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */
+/* end of Letter Shell Configuration */
+/* CONFIG_USE_AMP is not set */
+/* CONFIG_USE_YMODEM is not set */
+/* CONFIG_USE_SFUD is not set */
+#define CONFIG_USE_BACKTRACE
+/* CONFIG_USE_FATFS_0_1_4 is not set */
+#define CONFIG_USE_TLSF
+/* CONFIG_USE_SPIFFS is not set */
+/* CONFIG_USE_LITTLE_FS is not set */
+/* CONFIG_USE_LVGL is not set */
+/* CONFIG_USE_FREEMODBUS is not set */
+#define CONFIG_USE_CHERRY_USB
+
+/* CherryUSB Configuration */
+
+#define CONFIG_CHERRY_USB_PORT_XHCI
+/* CONFIG_CHERRY_USB_PORT_PHYTIUM_OTG is not set */
+#define CONFIG_CHERRYUSB_HOST
+/* CONFIG_CHERRYUSB_DEVICE is not set */
+#define CONFIG_CHERRY_USB_HOST_HUB
+#define CONFIG_CHERRY_USB_HOST_MSC
+#define CONFIG_CHERRY_USB_HOST_HID
+/* CONFIG_CHERRY_USB_HOST_VEDIO is not set */
+/* CONFIG_CHERRY_USB_HOST_CDC is not set */
+/* CONFIG_CHERRY_USB_HOST_RNDIS_WIRELESS is not set */
+/* end of CherryUSB Configuration */
+/* CONFIG_USE_FSL_SDMMC is not set */
+/* CONFIG_USE_FSL_WIFI is not set */
+/* end of Third-party configuration */
+
+/* FreeRTOS Kernel Configuration */
+
+#define CONFIG_FREERTOS_OPTIMIZED_SCHEDULER
+#define CONFIG_FREERTOS_HZ 1000
+#define CONFIG_FREERTOS_MAX_PRIORITIES 32
+#define CONFIG_FREERTOS_KERNEL_INTERRUPT_PRIORITIES 13
+#define CONFIG_FREERTOS_MAX_API_CALL_INTERRUPT_PRIORITIES 11
+#define CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS 1
+#define CONFIG_FREERTOS_MINIMAL_TASK_STACKSIZE 1024
+#define CONFIG_FREERTOS_MAX_TASK_NAME_LEN 32
+#define CONFIG_FREERTOS_TIMER_TASK_PRIORITY 1
+#define CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH 2048
+#define CONFIG_FREERTOS_TIMER_QUEUE_LENGTH 10
+#define CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE 0
+#define CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS
+#define CONFIG_FREERTOS_USE_TRACE_FACILITY
+#define CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS
+/* CONFIG_FREERTOS_USE_TICKLESS_IDLE is not set */
+#define CONFIG_FREERTOS_TOTAL_HEAP_SIZE 10240
+#define CONFIG_FREERTOS_TASK_FPU_SUPPORT 1
+/* CONFIG_FREERTOS_USE_POSIX is not set */
+/* end of FreeRTOS Kernel Configuration */
+
+#endif
diff --git a/example/peripheral/usb/xhci_pcie/src/cmd_usb.c b/example/peripheral/usb/xhci_pcie/src/cmd_usb.c
new file mode 100644
index 0000000000000000000000000000000000000000..8b52d10d70601e6ca02bc6f7f3365bb150435724
--- /dev/null
+++ b/example/peripheral/usb/xhci_pcie/src/cmd_usb.c
@@ -0,0 +1,78 @@
+/*
+ * Copyright : (C) 2022 Phytium Information Technology, Inc.
+ * All Rights Reserved.
+ *
+ * This program is OPEN SOURCE software: you can redistribute it and/or modify it
+ * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd,
+ * either version 1.0 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY;
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the Phytium Public License for more details.
+ *
+ *
+ * FilePath: cmd_usb.c
+ * Date: 2022-09-19 14:34:44
+ * LastEditTime: 2022-09-19 14:34:45
+ * Description: This file is for USB shell command.
+ *
+ * Modify History:
+ * Ver Who Date Changes
+ * ----- ------ -------- --------------------------------------
+ * 1.0 zhugengyu 2022/9/20 init commit
+ */
+#include
+#include
+#include "strto.h"
+#include "sdkconfig.h"
+
+#include "FreeRTOS.h"
+
+#include "../src/shell.h"
+#include "usb_host.h"
+
+static int USBCmdEntry(int argc, char *argv[])
+{
+ int ret = 0;
+ u32 usb_id = 0;
+ const char *devname;
+
+ if (!strcmp(argv[1], "init"))
+ {
+ ret = FFreeRTOSInitUsb(usb_id);
+ }
+ else if (!strcmp(argv[1], "lsusb"))
+ {
+ ret = FFreeRTOSListUsbDev(argc - 1, &argv[1]);
+ }
+ else if (!strcmp(argv[1], "disk"))
+ {
+ if (argc < 3) {
+ return -2;
+ }
+
+ devname = argv[2]; /* USB Disk device name provided by CherryUSB */
+ ret = FFreeRTOSRunUsbDisk(devname);
+ }
+ else if (!strcmp(argv[1], "kbd"))
+ {
+ if (argc < 3) {
+ return -2;
+ }
+
+ devname = argv[2]; /* USB keyboard device name provided by CherryUSB */
+ ret = FFreeRTOSRunUsbKeyboard(devname);
+ }
+ else if (!strcmp(argv[1], "mouse"))
+ {
+ if (argc < 3) {
+ return -2;
+ }
+
+ devname = argv[2]; /* USB mouse device name provided by CherryUSB */
+ ret = FFreeRTOSRunUsbMouse(devname);
+ }
+
+ return ret;
+}
+SHELL_EXPORT_CMD(SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN), usb, USBCmdEntry, test freertos usb driver);
\ No newline at end of file
diff --git a/example/peripheral/usb/cherryusb_host/src/usb_disk.c b/example/peripheral/usb/xhci_pcie/src/usb_disk.c
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/src/usb_disk.c
rename to example/peripheral/usb/xhci_pcie/src/usb_disk.c
diff --git a/example/peripheral/usb/xhci_pcie/src/usb_host_pcie.c b/example/peripheral/usb/xhci_pcie/src/usb_host_pcie.c
new file mode 100644
index 0000000000000000000000000000000000000000..0c5d95870401f5b111bfdfc8b9c9510e5ce3fb34
--- /dev/null
+++ b/example/peripheral/usb/xhci_pcie/src/usb_host_pcie.c
@@ -0,0 +1,291 @@
+/*
+ * Copyright : (C) 2022 Phytium Information Technology, Inc.
+ * All Rights Reserved.
+ *
+ * This program is OPEN SOURCE software: you can redistribute it and/or modify it
+ * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd,
+ * either version 1.0 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY;
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the Phytium Public License for more details.
+ *
+ *
+ * FilePath: usb_host.c
+ * Date: 2022-07-22 13:57:42
+ * LastEditTime: 2022-07-22 13:57:43
+ * Description: This file is for the usb host functions.
+ *
+ * Modify History:
+ * Ver Who Date Changes
+ * ----- ------ -------- --------------------------------------
+ * 1.0 zhugengyu 2022/9/20 init commit
+ * 2.0 zhugengyu 2024/1/17 support pcie xhci host
+ */
+/***************************** Include Files *********************************/
+#include
+#include
+
+#include "FreeRTOS.h"
+#include "task.h"
+
+#include "fassert.h"
+#include "finterrupt.h"
+#include "fcpu_info.h"
+#include "fdebug.h"
+#include "fcache.h"
+#include "fmemory_pool.h"
+
+#include "fpcie_ecam.h"
+#include "fpcie_ecam_common.h"
+
+#include "usbh_core.h"
+/************************** Constant Definitions *****************************/
+#define FUSB_MEMP_TOTAL_SIZE SZ_1M
+#define FPCIE_INSTANCE_ID FPCIE_ECAM_INSTANCE0
+
+/**************************** Type Definitions *******************************/
+
+/************************** Variable Definitions *****************************/
+static FMemp memp;
+static u8 memp_buf[FUSB_MEMP_TOTAL_SIZE];
+static struct usbh_bus usb;
+static uintptr usb_base = 0U;
+static FPcieEcam pcie_device;
+
+/***************** Macros (Inline Functions) Definitions *********************/
+#define FUSB_DEBUG_TAG "USB-HC"
+#define FUSB_ERROR(format, ...) FT_DEBUG_PRINT_E(FUSB_DEBUG_TAG, format, ##__VA_ARGS__)
+#define FUSB_WARN(format, ...) FT_DEBUG_PRINT_W(FUSB_DEBUG_TAG, format, ##__VA_ARGS__)
+#define FUSB_INFO(format, ...) FT_DEBUG_PRINT_I(FUSB_DEBUG_TAG, format, ##__VA_ARGS__)
+#define FUSB_DEBUG(format, ...) FT_DEBUG_PRINT_D(FUSB_DEBUG_TAG, format, ##__VA_ARGS__)
+
+/************************** Function Prototypes ******************************/
+extern void USBH_IRQHandler(void *);
+
+/*****************************************************************************/
+static void UsbHcPcieInterrruptHandler(void *param)
+{
+ USBH_IRQHandler(param);
+}
+
+static void PCieIntxInit(FPcieEcam *instance_p)
+{
+ u32 cpu_id;
+ u32 irq_num = FPCIE_ECAM_INTA_IRQ_NUM;
+ u32 irq_priority = 13U;
+
+ (void)GetCpuId(&cpu_id);
+ FUSB_DEBUG("interrupt num: %d", irq_num);
+ (void)InterruptSetTargetCpus(irq_num, cpu_id);
+
+ InterruptSetPriority(irq_num, irq_priority);
+
+ /* register intr callback */
+ InterruptInstall(irq_num,
+ FPcieEcamIntxIrqHandler,
+ &pcie_device,
+ NULL);
+
+ /* enable irq */
+ InterruptUmask(irq_num);
+}
+
+static FError PcieInit(FPcieEcam *pcie_device)
+{
+ FError ret = FT_SUCCESS;
+
+ ret = FPcieEcamCfgInitialize(pcie_device, FPcieEcamLookupConfig(FPCIE_INSTANCE_ID), NULL);
+ if (FT_SUCCESS != ret)
+ {
+ return ret;
+ }
+
+ FUSB_DEBUG("\n");
+ FUSB_DEBUG(" PCI:\n");
+ FUSB_DEBUG(" B:D:F VID:PID parent_BDF class_code\n");
+ ret = FPcieEcamEnumerateBus(pcie_device, 0);
+ if (FT_SUCCESS != ret)
+ {
+ return ret;
+ }
+
+ PCieIntxInit(pcie_device); /* register pcie_device intx handler */
+}
+
+static FError USBPcieIrqInstall(FPcieEcam *pcie_device, u8 bus, u8 device, u8 function)
+{
+ FError ret = FT_SUCCESS;
+ FPcieIntxFun intx_fun;
+ intx_fun.IntxCallBack = UsbHcPcieInterrruptHandler;
+ intx_fun.args = &usb;
+ intx_fun.bus = bus;
+ intx_fun.device = device;
+ intx_fun.function = function;
+
+ ret = FPcieEcamIntxRegister(pcie_device, bus, device, function, &intx_fun);
+ if (FT_SUCCESS != ret)
+ {
+ FUSB_ERROR("FPcieIntxRegiterIrqHandler failed.\n");
+ return ret;
+ }
+
+ return ret;
+}
+
+void UsbHcSetupMemp(void)
+{
+ if (FT_COMPONENT_IS_READY != memp.is_ready)
+ {
+ USB_ASSERT(FT_SUCCESS == FMempInit(&memp, &memp_buf[0], &memp_buf[0] + FUSB_MEMP_TOTAL_SIZE));
+ }
+}
+
+/* implement cherryusb weak functions */
+void usb_hc_low_level_init(uint32_t id)
+{
+ FError ret = FT_SUCCESS;
+ u32 instance_id = id;
+ s32 host;
+ u32 bdf;
+ u32 class;
+ u16 pci_command;
+ u8 bus,device,function;
+ u16 vid, did;
+ uintptr bar0_addr = 0;
+ uintptr bar1_addr = 0;
+ const u32 class_code = FPCI_CLASS_SERIAL_USB_XHCI; /* sub class and base class definition */
+ u32 config_data;
+
+ UsbHcSetupMemp();
+
+ ret = PcieInit(&pcie_device);
+ if (FT_SUCCESS != ret)
+ {
+ FUSB_ERROR("FPcieInit failed.\n");
+ FASSERT(0);
+ return;
+ }
+
+ /* find xhci host from pcie_device instance */
+ for (host = 0; host < pcie_device.scans_bdf_count; host++)
+ {
+ bus = pcie_device.scans_bdf[host].bus;
+ device = pcie_device.scans_bdf[host].device;
+ function= pcie_device.scans_bdf[host].function;
+
+ FPcieEcamReadConfigSpace(&pcie_device,bus,device,function,FPCIE_CCR_REV_CLASSID_REGS,&config_data);
+ class = config_data >> 8;
+
+ if (class == class_code)
+ {
+ (void)FPcieEcamReadConfigSpace(&pcie_device,bus,device,function,FPCIE_CCR_ID_REG,&config_data);
+ vid = FPCIE_CCR_VENDOR_ID_MASK(config_data);
+ did = FPCIE_CCR_DEVICE_ID_MASK(config_data);
+
+ FUSB_DEBUG("xHCI-PCI HOST found !!!, b.d.f = %x.%x.%x\n", bus, device, function);
+ FPcieEcamReadConfigSpace(&pcie_device,bus,device,function,FPCIE_CCR_BAR_ADDR0_REGS,(u32 *)&bar0_addr);
+ bar0_addr &= ~0xfff;
+
+#if defined(FAARCH64_USE)
+ FPcieEcamReadConfigSpace(&pcie_device,bus,device,function,FPCIE_CCR_BAR_ADDR1_REGS,(u32 *)&bar1_addr);
+#endif
+
+ FUSB_DEBUG("FSataPcieIntrInstall BarAddress %p:%p", bar1_addr, bar0_addr);
+
+ if ((0x0 == bar0_addr) && (0x0 == bar1_addr))
+ {
+ FUSB_ERROR("Invalid Bar address");
+ FASSERT(0);
+ return;
+ }
+
+ USBPcieIrqInstall(&pcie_device, bus, device, function);
+ usb_base = (bar1_addr << 32U) | bar0_addr;
+ FUSB_INFO("xHCI base address: 0x%lx", usb_base);
+ }
+ }
+
+}
+
+unsigned long usb_hc_get_register_base(uint32_t id)
+{
+ return usb_base;
+}
+
+void *usb_hc_malloc(size_t size)
+{
+ return usb_hc_malloc_align(sizeof(void *), size);
+}
+
+void *usb_hc_malloc_align(size_t align, size_t size)
+{
+ void *result = FMempMallocAlign(&memp, size, align);
+
+ if (result)
+ {
+ memset(result, 0U, size);
+ }
+
+ return result;
+}
+
+void usb_hc_free(void *ptr)
+{
+ if (NULL != ptr)
+ {
+ FMempFree(&memp, ptr);
+ }
+}
+
+void usb_assert(const char *filename, int linenum)
+{
+ FAssert(filename, linenum, 0xff);
+}
+
+void usb_hc_dcache_invalidate(void *addr, unsigned long len)
+{
+ FCacheDCacheInvalidateRange((uintptr)addr, len);
+}
+/*****************************************/
+
+static void UsbInitTask(void *args)
+{
+ u32 id = (u32)(uintptr)args;
+ memset(&usb, 0 , sizeof(usb));
+
+ if (0 == usbh_initialize(id, &usb))
+ {
+ printf("Init cherryusb host successfully.put 'usb lsusb -t' to see devices.\r\n");
+ }
+ else
+ {
+ FUSB_ERROR("Init cherryusb host failed.");
+ }
+
+ vTaskDelete(NULL);
+}
+
+BaseType_t FFreeRTOSInitUsb(u32 id)
+{
+ BaseType_t ret = pdPASS;
+
+ taskENTER_CRITICAL(); /* no schedule when create task */
+
+ ret = xTaskCreate((TaskFunction_t)UsbInitTask,
+ (const char *)"UsbInitTask",
+ (uint16_t)2048,
+ (void *)(uintptr)id,
+ (UBaseType_t)configMAX_PRIORITIES - 1,
+ NULL);
+ FASSERT_MSG(pdPASS == ret, "create task failed");
+
+ taskEXIT_CRITICAL(); /* allow schedule since task created */
+
+ return ret;
+}
+
+BaseType_t FFreeRTOSListUsbDev(int argc, char *argv[])
+{
+ return lsusb(argc, argv);
+}
\ No newline at end of file
diff --git a/example/peripheral/usb/cherryusb_host/src/usb_input.c b/example/peripheral/usb/xhci_pcie/src/usb_input.c
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/src/usb_input.c
rename to example/peripheral/usb/xhci_pcie/src/usb_input.c
diff --git a/example/peripheral/usb/xhci_platform/Kconfig b/example/peripheral/usb/xhci_platform/Kconfig
new file mode 100644
index 0000000000000000000000000000000000000000..10607d02dfd337248346ab3ec2d90e0aed77f733
--- /dev/null
+++ b/example/peripheral/usb/xhci_platform/Kconfig
@@ -0,0 +1,8 @@
+#
+# For a description of the syntax of this configuration file,
+# see tools/kconfiglib/kconfig-language.txt.
+#
+
+
+source "$(SDK_DIR)/../freertos.kconfig"
+
diff --git a/example/peripheral/usb/cherryusb_host/README.md b/example/peripheral/usb/xhci_platform/README.md
similarity index 88%
rename from example/peripheral/usb/cherryusb_host/README.md
rename to example/peripheral/usb/xhci_platform/README.md
index e5fc171de1bb39c7fedf3f4f0d416c222116d969..2bcd359ea4b12d97a95ea653d10f2e39907e02bd 100644
--- a/example/peripheral/usb/cherryusb_host/README.md
+++ b/example/peripheral/usb/xhci_platform/README.md
@@ -1,12 +1,16 @@
-# CherryUSB Host 测试
+# XHCI Host 测试 (平台设备)
## 1. 例程介绍
>介绍例程的用途,使用场景,相关基本概念,描述用户可以使用例程完成哪些工作
+XHCI(eXtensible Host Controller Interface),即可扩展的主机控制器接口,是英特尔公司开发的一个USB主机控制器接口,主要是面向USB 3.0的,同时它也支持USB 2.0及以下的设备,XHCI 控制器有两种类型,一种是平台设备,另外一种是 PCIe 扩展设备
+
CherryUSB 是一个用于嵌入式系统 USB 协议栈,支持运行在Host模式和Device模式
+本例程展示了如何使用 CherryUSB 驱动平台 XHCI 控制器,识别和使用 USB 设备,如果使用 PCIe 扩展的 XHCI 控制器可以参考[xhci_pcie 例程](../xhci_pcie/README.md)
+
## 2. 如何使用例程
>描述开发平台准备,使用例程配置,构建和下载镜像的过程
@@ -16,7 +20,7 @@ CherryUSB 是一个用于嵌入式系统 USB 协议栈,支持运行在Host模
>哪些硬件平台是支持的,需要哪些外设,例程与开发板哪些IO口相关等(建议附录开发板照片,展示哪些IO口被引出)
本例程在 E2000 平台测试通过,您可以参考以下方法配置本例程所需要的硬件和软件环境,
-- E2000开发板
+- E2000 开发板/飞腾派
- 本例程基于E2000 Demo 开发板,使用logitech键盘、Dell鼠标和Sandisk盘完成测试
### 2.2 SDK配置方法
@@ -137,6 +141,6 @@ usb mouse /usb1/mouse1
- V0.3.1 首次合入
- v0.1.0 支持USB 3.0 设备枚举
-
+- v0.7.1 区分 XHCI 平台设备和 PCIe 设备
diff --git a/example/peripheral/usb/cherryusb_host/configs/e2000d_aarch32_demo_cherry_usb.config b/example/peripheral/usb/xhci_platform/configs/e2000d_aarch32_demo_cherry_usb.config
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/configs/e2000d_aarch32_demo_cherry_usb.config
rename to example/peripheral/usb/xhci_platform/configs/e2000d_aarch32_demo_cherry_usb.config
diff --git a/example/peripheral/usb/cherryusb_host/configs/e2000d_aarch64_demo_cherry_usb.config b/example/peripheral/usb/xhci_platform/configs/e2000d_aarch64_demo_cherry_usb.config
similarity index 99%
rename from example/peripheral/usb/cherryusb_host/configs/e2000d_aarch64_demo_cherry_usb.config
rename to example/peripheral/usb/xhci_platform/configs/e2000d_aarch64_demo_cherry_usb.config
index 266421d659bd22fbbc1012b0e2e2c3d2b32c07a3..dc0c2d194fb4a6b195dd5d3efdd77b2495cba0cc 100644
--- a/example/peripheral/usb/cherryusb_host/configs/e2000d_aarch64_demo_cherry_usb.config
+++ b/example/peripheral/usb/xhci_platform/configs/e2000d_aarch64_demo_cherry_usb.config
@@ -204,7 +204,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/usb/cherryusb_host/configs/e2000q_aarch32_demo_cherry_usb.config b/example/peripheral/usb/xhci_platform/configs/e2000q_aarch32_demo_cherry_usb.config
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/configs/e2000q_aarch32_demo_cherry_usb.config
rename to example/peripheral/usb/xhci_platform/configs/e2000q_aarch32_demo_cherry_usb.config
diff --git a/example/peripheral/usb/cherryusb_host/configs/e2000q_aarch64_demo_cherry_usb.config b/example/peripheral/usb/xhci_platform/configs/e2000q_aarch64_demo_cherry_usb.config
similarity index 99%
rename from example/peripheral/usb/cherryusb_host/configs/e2000q_aarch64_demo_cherry_usb.config
rename to example/peripheral/usb/xhci_platform/configs/e2000q_aarch64_demo_cherry_usb.config
index 73cdbda1ceb32596e4917e6644c7ed7addec5bdb..cdde908281b531b6b4fc289ced714fffc93402f8 100644
--- a/example/peripheral/usb/cherryusb_host/configs/e2000q_aarch64_demo_cherry_usb.config
+++ b/example/peripheral/usb/xhci_platform/configs/e2000q_aarch64_demo_cherry_usb.config
@@ -203,7 +203,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/usb/cherryusb_host/configs/phytiumpi_aarch32_firefly_cherry_usb.config b/example/peripheral/usb/xhci_platform/configs/phytiumpi_aarch32_firefly_cherry_usb.config
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/configs/phytiumpi_aarch32_firefly_cherry_usb.config
rename to example/peripheral/usb/xhci_platform/configs/phytiumpi_aarch32_firefly_cherry_usb.config
diff --git a/example/peripheral/usb/cherryusb_host/configs/phytiumpi_aarch64_firefly_cherry_usb.config b/example/peripheral/usb/xhci_platform/configs/phytiumpi_aarch64_firefly_cherry_usb.config
similarity index 99%
rename from example/peripheral/usb/cherryusb_host/configs/phytiumpi_aarch64_firefly_cherry_usb.config
rename to example/peripheral/usb/xhci_platform/configs/phytiumpi_aarch64_firefly_cherry_usb.config
index 51c92e6ebc85a3c59a9e24f6c8c443bc7866618e..552f4753f56b216d9ac06c1057d45711343bf205 100644
--- a/example/peripheral/usb/cherryusb_host/configs/phytiumpi_aarch64_firefly_cherry_usb.config
+++ b/example/peripheral/usb/xhci_platform/configs/phytiumpi_aarch64_firefly_cherry_usb.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/usb/cherryusb_host/figs/usb_disk_connection.jpg b/example/peripheral/usb/xhci_platform/figs/usb_disk_connection.jpg
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/figs/usb_disk_connection.jpg
rename to example/peripheral/usb/xhci_platform/figs/usb_disk_connection.jpg
diff --git a/example/peripheral/usb/cherryusb_host/figs/usb_disk_init.png b/example/peripheral/usb/xhci_platform/figs/usb_disk_init.png
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/figs/usb_disk_init.png
rename to example/peripheral/usb/xhci_platform/figs/usb_disk_init.png
diff --git a/example/peripheral/usb/cherryusb_host/figs/usb_keyboard_input.png b/example/peripheral/usb/xhci_platform/figs/usb_keyboard_input.png
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/figs/usb_keyboard_input.png
rename to example/peripheral/usb/xhci_platform/figs/usb_keyboard_input.png
diff --git a/example/peripheral/usb/cherryusb_host/figs/usb_keyboard_mouse.jpg b/example/peripheral/usb/xhci_platform/figs/usb_keyboard_mouse.jpg
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/figs/usb_keyboard_mouse.jpg
rename to example/peripheral/usb/xhci_platform/figs/usb_keyboard_mouse.jpg
diff --git a/example/peripheral/usb/cherryusb_host/figs/usb_keyboard_mouse_connect.jpg b/example/peripheral/usb/xhci_platform/figs/usb_keyboard_mouse_connect.jpg
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/figs/usb_keyboard_mouse_connect.jpg
rename to example/peripheral/usb/xhci_platform/figs/usb_keyboard_mouse_connect.jpg
diff --git a/example/peripheral/usb/cherryusb_host/figs/usb_mouse_input.png b/example/peripheral/usb/xhci_platform/figs/usb_mouse_input.png
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/figs/usb_mouse_input.png
rename to example/peripheral/usb/xhci_platform/figs/usb_mouse_input.png
diff --git a/example/peripheral/usb/xhci_platform/inc/usb_host.h b/example/peripheral/usb/xhci_platform/inc/usb_host.h
new file mode 100644
index 0000000000000000000000000000000000000000..d3887ad17e84493d2a5601dda1670f51663b857e
--- /dev/null
+++ b/example/peripheral/usb/xhci_platform/inc/usb_host.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright : (C) 2022 Phytium Information Technology, Inc.
+ * All Rights Reserved.
+ *
+ * This program is OPEN SOURCE software: you can redistribute it and/or modify it
+ * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd,
+ * either version 1.0 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY;
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the Phytium Public License for more details.
+ *
+ *
+ * FilePath: usb_host.h
+ * Date: 2022-07-19 09:26:25
+ * LastEditTime: 2022-07-19 09:26:25
+ * Description: This file is for the usb host definition.
+ *
+ * Modify History:
+ * Ver Who Date Changes
+ * ----- ------ -------- --------------------------------------
+ * 1.0 zhugengyu 2022/9/20 init commit
+ */
+#ifndef USB_HOST_H
+#define USB_HOST_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/***************************** Include Files *********************************/
+
+/************************** Constant Definitions *****************************/
+
+/************************** Variable Definitions *****************************/
+
+/***************** Macros (Inline Functions) Definitions *********************/
+
+/************************** Function Prototypes ******************************/
+
+/*****************************************************************************/
+BaseType_t FFreeRTOSInitUsb(u32 id);
+BaseType_t FFreeRTOSRunUsbDisk(const char *devname);
+BaseType_t FFreeRTOSRunUsbKeyboard(const char *devname);
+BaseType_t FFreeRTOSRunUsbMouse(const char *devname);
+BaseType_t FFreeRTOSListUsbDev(int argc, char *argv[]);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
\ No newline at end of file
diff --git a/example/peripheral/usb/xhci_platform/main.c b/example/peripheral/usb/xhci_platform/main.c
new file mode 100644
index 0000000000000000000000000000000000000000..b1c1a3a505a8ef6083af9f513d69dfbaa9fcf896
--- /dev/null
+++ b/example/peripheral/usb/xhci_platform/main.c
@@ -0,0 +1,45 @@
+/*
+ * Copyright : (C) 2022 Phytium Information Technology, Inc.
+ * All Rights Reserved.
+ *
+ * This program is OPEN SOURCE software: you can redistribute it and/or modify it
+ * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd,
+ * either version 1.0 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY;
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the Phytium Public License for more details.
+ *
+ *
+ * FilePath: main.c
+ * Date: 2022-06-17 08:17:59
+ * LastEditTime: 2022-06-17 08:17:59
+ * Description: This file is for cherry-usb test main entry.
+ *
+ * Modify History:
+ * Ver Who Date Changes
+ * ----- ------ -------- --------------------------------------
+ * 1.0 zhugengyu 2022/10/19 init commit
+ */
+
+#include "shell.h"
+#include "shell_port.h"
+#include
+
+int main(void)
+{
+ BaseType_t ret;
+
+ ret = LSUserShellTask();
+ if (ret != pdPASS)
+ {
+ goto FAIL_EXIT;
+ }
+
+ vTaskStartScheduler(); /* 启动任务,开启调度 */
+ while (1); /* 正常不会执行到这里 */
+
+FAIL_EXIT:
+ printf("Failed,the ret value is 0x%x. \r\n", ret);
+ return 0;
+}
diff --git a/example/peripheral/usb/xhci_platform/makefile b/example/peripheral/usb/xhci_platform/makefile
new file mode 100644
index 0000000000000000000000000000000000000000..7691fd58334cde9d2d6959db772fdd277c34d149
--- /dev/null
+++ b/example/peripheral/usb/xhci_platform/makefile
@@ -0,0 +1,30 @@
+
+PROJECT_DIR = $(CURDIR)
+FREERTOS_SDK_DIR = $(CURDIR)/../../../..
+
+
+# # 设置启动镜像名
+BOOT_IMG_NAME ?= freertos
+
+USER_CSRC := main.c
+USER_CSRC += $(wildcard src/*.c)
+USER_CSRC += $(wildcard ../common/*.c)
+
+USER_ASRC :=
+USER_CXXSRC :=
+
+USER_INCLUDE := $(PROJECT_DIR) \
+ $(PROJECT_DIR)/inc \
+
+
+include $(FREERTOS_SDK_DIR)/tools/makeall.mk
+
+USR_BOOT_DIR ?= /mnt/d/tftpboot
+
+
+image: all
+ @cp ./$(IMAGE_OUT_NAME).elf $(USR_BOOT_DIR)/freertos.elf
+ifdef CONFIG_OUTPUT_BINARY
+ @cp ./$(IMAGE_OUT_NAME).bin $(USR_BOOT_DIR)/freertos.bin
+endif
+ @ls $(USR_BOOT_DIR)/$(BOOT_IMG_NAME).* -l
\ No newline at end of file
diff --git a/example/peripheral/usb/cherryusb_host/sdkconfig b/example/peripheral/usb/xhci_platform/sdkconfig
similarity index 99%
rename from example/peripheral/usb/cherryusb_host/sdkconfig
rename to example/peripheral/usb/xhci_platform/sdkconfig
index 51c92e6ebc85a3c59a9e24f6c8c443bc7866618e..552f4753f56b216d9ac06c1057d45711343bf205 100644
--- a/example/peripheral/usb/cherryusb_host/sdkconfig
+++ b/example/peripheral/usb/xhci_platform/sdkconfig
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/usb/cherryusb_host/sdkconfig.h b/example/peripheral/usb/xhci_platform/sdkconfig.h
similarity index 99%
rename from example/peripheral/usb/cherryusb_host/sdkconfig.h
rename to example/peripheral/usb/xhci_platform/sdkconfig.h
index 7b8c473e18d6ba5e268a5f0021bda525568c7958..b6a1367332977bd1e018888043c51b886beeaec4 100644
--- a/example/peripheral/usb/cherryusb_host/sdkconfig.h
+++ b/example/peripheral/usb/xhci_platform/sdkconfig.h
@@ -185,7 +185,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/peripheral/usb/cherryusb_host/src/cmd_usb.c b/example/peripheral/usb/xhci_platform/src/cmd_usb.c
similarity index 100%
rename from example/peripheral/usb/cherryusb_host/src/cmd_usb.c
rename to example/peripheral/usb/xhci_platform/src/cmd_usb.c
diff --git a/example/peripheral/usb/xhci_platform/src/usb_disk.c b/example/peripheral/usb/xhci_platform/src/usb_disk.c
new file mode 100644
index 0000000000000000000000000000000000000000..31fd28a7e7e6b58a5ee9183ac24e080dad33d898
--- /dev/null
+++ b/example/peripheral/usb/xhci_platform/src/usb_disk.c
@@ -0,0 +1,136 @@
+/*
+ * Copyright : (C) 2022 Phytium Information Technology, Inc.
+ * All Rights Reserved.
+ *
+ * This program is OPEN SOURCE software: you can redistribute it and/or modify it
+ * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd,
+ * either version 1.0 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY;
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the Phytium Public License for more details.
+ *
+ *
+ * FilePath: usb_disk.c
+ * Date: 2022-09-23 08:24:09
+ * LastEditTime: 2022-09-23 08:24:10
+ * Description: This file is for the usb disk functions.
+ *
+ * Modify History:
+ * Ver Who Date Changes
+ * ----- ------ -------- --------------------------------------
+ * 1.0 zhugengyu 2022/10/19 init commit
+ */
+/***************************** Include Files *********************************/
+#include
+#include
+
+#include "FreeRTOS.h"
+#include "task.h"
+
+#include "fassert.h"
+#include "finterrupt.h"
+#include "fcpu_info.h"
+#include "fdebug.h"
+
+#include "usbh_core.h"
+#include "usbh_msc.h"
+/************************** Constant Definitions *****************************/
+
+/**************************** Type Definitions *******************************/
+
+/************************** Variable Definitions *****************************/
+
+/***************** Macros (Inline Functions) Definitions *********************/
+#define FUSB_DEBUG_TAG "USB-DISK"
+#define FUSB_ERROR(format, ...) FT_DEBUG_PRINT_E(FUSB_DEBUG_TAG, format, ##__VA_ARGS__)
+#define FUSB_WARN(format, ...) FT_DEBUG_PRINT_W(FUSB_DEBUG_TAG, format, ##__VA_ARGS__)
+#define FUSB_INFO(format, ...) FT_DEBUG_PRINT_I(FUSB_DEBUG_TAG, format, ##__VA_ARGS__)
+#define FUSB_DEBUG(format, ...) FT_DEBUG_PRINT_D(FUSB_DEBUG_TAG, format, ##__VA_ARGS__)
+
+/************************** Function Prototypes ******************************/
+
+
+/*****************************************************************************/
+static void UsbMscTask(void *args)
+{
+ int ret;
+ struct usbh_msc *msc_class;
+ static uint8_t rd_table[512] = {0};
+ static uint8_t wr_table[512] = {0};
+ u32 loop = 0;
+ const char *devname = (const char *)args;
+
+ msc_class = (struct usbh_msc *)usbh_find_class_instance(devname);
+ if (msc_class == NULL)
+ {
+ USB_LOG_RAW("Do not find %s. \r\n", devname);
+ goto err_exit;
+ }
+
+ while (TRUE)
+ {
+ /* write partition table */
+ memcpy(wr_table, rd_table, sizeof(rd_table));
+ for (uint32_t i = 0; i < 512; i++)
+ {
+ wr_table[i] ^= 0xfffff;
+ }
+
+ ret = usbh_msc_scsi_write10(msc_class, 0, wr_table, 1);
+ if (ret < 0)
+ {
+ USB_LOG_ERR("Error in scsi_write10 error, ret:%d", ret);
+ goto err_exit;
+ }
+
+ /* get the partition table */
+ ret = usbh_msc_scsi_read10(msc_class, 0, rd_table, 1);
+ if (ret < 0)
+ {
+ USB_LOG_RAW("Error in scsi_read10, ret:%d", ret);
+ goto err_exit;
+ }
+
+ /* check if read table == write table */
+ if (0 != memcmp(wr_table, rd_table, sizeof(rd_table)))
+ {
+ USB_LOG_ERR("Failed to check read and write.\r\n");
+ goto err_exit;
+ }
+ else
+ {
+ printf("[%d] disk read and write successfully.\r\n", loop);
+ }
+
+ loop++;
+ if (loop > 10)
+ {
+ break;
+ }
+
+ vTaskDelay(100);
+ }
+
+err_exit:
+ vTaskDelete(NULL);
+}
+
+BaseType_t FFreeRTOSRunUsbDisk(const char *devname)
+{
+ BaseType_t ret = pdPASS;
+
+ taskENTER_CRITICAL(); /* no schedule when create task */
+
+ ret = xTaskCreate((TaskFunction_t)UsbMscTask,
+ (const char *)"UsbMscTask",
+ (uint16_t)2048,
+ (void *)devname,
+ (UBaseType_t)configMAX_PRIORITIES - 1,
+ NULL);
+ FASSERT_MSG(pdPASS == ret, "create task failed");
+
+ taskEXIT_CRITICAL(); /* allow schedule since task created */
+
+ return ret;
+}
diff --git a/example/peripheral/usb/cherryusb_host/src/usb_host.c b/example/peripheral/usb/xhci_platform/src/usb_host.c
similarity index 96%
rename from example/peripheral/usb/cherryusb_host/src/usb_host.c
rename to example/peripheral/usb/xhci_platform/src/usb_host.c
index 6b00e945f64cee52af45d76e41e187ee65048554..424cf329bf9209d8c283279511eb1c5f8b913dff 100644
--- a/example/peripheral/usb/cherryusb_host/src/usb_host.c
+++ b/example/peripheral/usb/xhci_platform/src/usb_host.c
@@ -141,7 +141,6 @@ void usb_hc_dcache_invalidate(void *addr, unsigned long len)
FCacheDCacheInvalidateRange((uintptr)addr, len);
}
/*****************************************/
-
static void UsbInitTask(void *args)
{
u32 id = (u32)(uintptr)args;
@@ -159,6 +158,18 @@ static void UsbInitTask(void *args)
vTaskDelete(NULL);
}
+static void UsbMonitorTask(void *args)
+{
+ extern void usbh_debug_dump(void);
+
+ while (TRUE)
+ {
+ usbh_debug_dump();
+
+ vTaskDelay(10000);
+ }
+}
+
BaseType_t FFreeRTOSInitUsb(u32 id)
{
BaseType_t ret = pdPASS;
diff --git a/example/peripheral/usb/xhci_platform/src/usb_input.c b/example/peripheral/usb/xhci_platform/src/usb_input.c
new file mode 100644
index 0000000000000000000000000000000000000000..513b3a2a8ae2040fb7535e4b2c59ea09a71a4a9d
--- /dev/null
+++ b/example/peripheral/usb/xhci_platform/src/usb_input.c
@@ -0,0 +1,396 @@
+/*
+ * Copyright : (C) 2022 Phytium Information Technology, Inc.
+ * All Rights Reserved.
+ *
+ * This program is OPEN SOURCE software: you can redistribute it and/or modify it
+ * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd,
+ * either version 1.0 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY;
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the Phytium Public License for more details.
+ *
+ *
+ * FilePath: usb_input.c
+ * Date: 2022-07-22 13:57:42
+ * LastEditTime: 2022-07-22 13:57:43
+ * Description: This file is for the usb input functions.
+ *
+ * Modify History:
+ * Ver Who Date Changes
+ * ----- ------ -------- --------------------------------------
+ * 1.0 zhugengyu 2022/9/20 init commit
+ */
+/***************************** Include Files *********************************/
+#include
+#include
+
+#include "FreeRTOS.h"
+#include "task.h"
+
+#include "fassert.h"
+#include "finterrupt.h"
+#include "fcpu_info.h"
+#include "fdebug.h"
+
+#include "usbh_core.h"
+#include "usbh_hid.h"
+/************************** Constant Definitions *****************************/
+#define HID_KEYCODE_TO_ASCII \
+ {0 , 0 }, /* 0x00 */ \
+ {0 , 0 }, /* 0x01 */ \
+ {0 , 0 }, /* 0x02 */ \
+ {0 , 0 }, /* 0x03 */ \
+ {'a' , 'A' }, /* 0x04 */ \
+ {'b' , 'B' }, /* 0x05 */ \
+ {'c' , 'C' }, /* 0x06 */ \
+ {'d' , 'D' }, /* 0x07 */ \
+ {'e' , 'E' }, /* 0x08 */ \
+ {'f' , 'F' }, /* 0x09 */ \
+ {'g' , 'G' }, /* 0x0a */ \
+ {'h' , 'H' }, /* 0x0b */ \
+ {'i' , 'I' }, /* 0x0c */ \
+ {'j' , 'J' }, /* 0x0d */ \
+ {'k' , 'K' }, /* 0x0e */ \
+ {'l' , 'L' }, /* 0x0f */ \
+ {'m' , 'M' }, /* 0x10 */ \
+ {'n' , 'N' }, /* 0x11 */ \
+ {'o' , 'O' }, /* 0x12 */ \
+ {'p' , 'P' }, /* 0x13 */ \
+ {'q' , 'Q' }, /* 0x14 */ \
+ {'r' , 'R' }, /* 0x15 */ \
+ {'s' , 'S' }, /* 0x16 */ \
+ {'t' , 'T' }, /* 0x17 */ \
+ {'u' , 'U' }, /* 0x18 */ \
+ {'v' , 'V' }, /* 0x19 */ \
+ {'w' , 'W' }, /* 0x1a */ \
+ {'x' , 'X' }, /* 0x1b */ \
+ {'y' , 'Y' }, /* 0x1c */ \
+ {'z' , 'Z' }, /* 0x1d */ \
+ {'1' , '!' }, /* 0x1e */ \
+ {'2' , '@' }, /* 0x1f */ \
+ {'3' , '#' }, /* 0x20 */ \
+ {'4' , '$' }, /* 0x21 */ \
+ {'5' , '%' }, /* 0x22 */ \
+ {'6' , '^' }, /* 0x23 */ \
+ {'7' , '&' }, /* 0x24 */ \
+ {'8' , '*' }, /* 0x25 */ \
+ {'9' , '(' }, /* 0x26 */ \
+ {'0' , ')' }, /* 0x27 */ \
+ {'\r' , '\r' }, /* 0x28 */ \
+ {'\x1b', '\x1b' }, /* 0x29 */ \
+ {'\b' , '\b' }, /* 0x2a */ \
+ {'\t' , '\t' }, /* 0x2b */ \
+ {' ' , ' ' }, /* 0x2c */ \
+ {'-' , '_' }, /* 0x2d */ \
+ {'=' , '+' }, /* 0x2e */ \
+ {'[' , '{' }, /* 0x2f */ \
+ {']' , '}' }, /* 0x30 */ \
+ {'\\' , '|' }, /* 0x31 */ \
+ {'#' , '~' }, /* 0x32 */ \
+ {';' , ':' }, /* 0x33 */ \
+ {'\'' , '\"' }, /* 0x34 */ \
+ {'`' , '~' }, /* 0x35 */ \
+ {',' , '<' }, /* 0x36 */ \
+ {'.' , '>' }, /* 0x37 */ \
+ {'/' , '?' }, /* 0x38 */ \
+ \
+ {0 , 0 }, /* 0x39 */ \
+ {0 , 0 }, /* 0x3a */ \
+ {0 , 0 }, /* 0x3b */ \
+ {0 , 0 }, /* 0x3c */ \
+ {0 , 0 }, /* 0x3d */ \
+ {0 , 0 }, /* 0x3e */ \
+ {0 , 0 }, /* 0x3f */ \
+ {0 , 0 }, /* 0x40 */ \
+ {0 , 0 }, /* 0x41 */ \
+ {0 , 0 }, /* 0x42 */ \
+ {0 , 0 }, /* 0x43 */ \
+ {0 , 0 }, /* 0x44 */ \
+ {0 , 0 }, /* 0x45 */ \
+ {0 , 0 }, /* 0x46 */ \
+ {0 , 0 }, /* 0x47 */ \
+ {0 , 0 }, /* 0x48 */ \
+ {0 , 0 }, /* 0x49 */ \
+ {0 , 0 }, /* 0x4a */ \
+ {0 , 0 }, /* 0x4b */ \
+ {0 , 0 }, /* 0x4c */ \
+ {0 , 0 }, /* 0x4d */ \
+ {0 , 0 }, /* 0x4e */ \
+ {0 , 0 }, /* 0x4f */ \
+ {0 , 0 }, /* 0x50 */ \
+ {0 , 0 }, /* 0x51 */ \
+ {0 , 0 }, /* 0x52 */ \
+ {0 , 0 }, /* 0x53 */ \
+ \
+ {'/' , '/' }, /* 0x54 */ \
+ {'*' , '*' }, /* 0x55 */ \
+ {'-' , '-' }, /* 0x56 */ \
+ {'+' , '+' }, /* 0x57 */ \
+ {'\r' , '\r' }, /* 0x58 */ \
+ {'1' , 0 }, /* 0x59 */ \
+ {'2' , 0 }, /* 0x5a */ \
+ {'3' , 0 }, /* 0x5b */ \
+ {'4' , 0 }, /* 0x5c */ \
+ {'5' , '5' }, /* 0x5d */ \
+ {'6' , 0 }, /* 0x5e */ \
+ {'7' , 0 }, /* 0x5f */ \
+ {'8' , 0 }, /* 0x60 */ \
+ {'9' , 0 }, /* 0x61 */ \
+ {'0' , 0 }, /* 0x62 */ \
+ {'0' , 0 }, /* 0x63 */ \
+ {'=' , '=' }, /* 0x67 */ \
+
+/**************************** Type Definitions *******************************/
+
+/************************** Variable Definitions *****************************/
+static u8 const keycode2ascii[128][2] = { HID_KEYCODE_TO_ASCII };
+static struct usbh_urb kbd_intin_urb;
+static struct usbh_urb mouse_intin_urb;
+static uint8_t kbd_buffer[128] __attribute__((aligned(sizeof(unsigned long)))) = {0};
+static uint8_t mouse_buffer[128] __attribute__((aligned(sizeof(unsigned long)))) = {0};
+
+/***************** Macros (Inline Functions) Definitions *********************/
+#define FUSB_DEBUG_TAG "USB-INPUT"
+#define FUSB_ERROR(format, ...) FT_DEBUG_PRINT_E(FUSB_DEBUG_TAG, format, ##__VA_ARGS__)
+#define FUSB_WARN(format, ...) FT_DEBUG_PRINT_W(FUSB_DEBUG_TAG, format, ##__VA_ARGS__)
+#define FUSB_INFO(format, ...) FT_DEBUG_PRINT_I(FUSB_DEBUG_TAG, format, ##__VA_ARGS__)
+#define FUSB_DEBUG(format, ...) FT_DEBUG_PRINT_D(FUSB_DEBUG_TAG, format, ##__VA_ARGS__)
+
+/************************** Function Prototypes ******************************/
+
+
+/*****************************************************************************/
+static inline void UsbMouseLeftButtonCB(void)
+{
+ printf("<-\r\n");
+}
+
+static inline void UsbMouseRightButtonCB(void)
+{
+ printf("->\r\n");
+}
+
+static inline void UsbMouseMiddleButtonCB(void)
+{
+ printf("C\r\n");
+}
+
+static void UsbMouseHandleInput(struct usb_hid_mouse_report *input)
+{
+ /*------------- button state -------------*/
+ if (input->buttons & HID_MOUSE_INPUT_BUTTON_LEFT)
+ {
+ UsbMouseLeftButtonCB();
+ }
+
+ if (input->buttons & HID_MOUSE_INPUT_BUTTON_MIDDLE)
+ {
+ UsbMouseMiddleButtonCB();
+ }
+
+ if (input->buttons & HID_MOUSE_INPUT_BUTTON_RIGHT)
+ {
+ UsbMouseRightButtonCB();
+ }
+
+ /*------------- cursor movement -------------*/
+ printf("[x:%d y:%d w:%d]\r\n", input->xdisp, input->ydisp, input->wdisp);
+}
+
+/* look up new key in previous keys */
+static inline boolean FindKeyInPrevInput(const struct usb_hid_kbd_report *report, u8 keycode)
+{
+ for (u8 i = 0; i < 6; i++)
+ {
+ if (report->key[i] == keycode)
+ {
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+static void UsbKeyBoardHandleInput(struct usb_hid_kbd_report *input)
+{
+ static struct usb_hid_kbd_report prev_input = { 0, 0, {0} }; /* previous report to check key released */
+
+ /* ------------- example code ignore control (non-printable) key affects ------------- */
+ for (u8 i = 0; i < 6; i++)
+ {
+ if (input->key[i])
+ {
+ if (FindKeyInPrevInput(&prev_input, input->key[i]))
+ {
+ /* exist in previous report means the current key is holding */
+ }
+ else
+ {
+ /* not existed in previous report means the current key is pressed */
+ boolean is_shift = input->modifier & (HID_MODIFER_LSHIFT | HID_MODIFER_RSHIFT);
+ u8 ch = keycode2ascii[input->key[i]][is_shift ? 1 : 0];
+ putchar(ch);
+ if ('\r' == ch)
+ {
+ putchar('\n');
+ }
+
+ fflush(stdout); /* flush right away, else libc will wait for newline */
+ }
+ }
+ }
+
+ prev_input = *input;
+}
+
+static u8 UsbInputGetInterfaceProtocol(struct usbh_hid *hid_class)
+{
+ struct usbh_hubport *hport = hid_class->hport;
+ u8 intf = hid_class->intf;
+ const struct usb_interface_descriptor *intf_desc = &hport->config.intf->altsetting[intf].intf_desc;
+
+ return intf_desc->bInterfaceProtocol;
+}
+
+static void UsbKeyboardCallback(void *arg, int nbytes)
+{
+ u8 intf_protocol;
+ struct usbh_hid *kbd_class = (struct usbh_hid *)arg;
+ intf_protocol = UsbInputGetInterfaceProtocol(kbd_class);
+
+ if (HID_PROTOCOL_KEYBOARD == intf_protocol) /* handle input from keyboard */
+ {
+ if (nbytes < (int)sizeof(struct usb_hid_kbd_report))
+ {
+ FUSB_ERROR("nbytes = %d", nbytes);
+ }
+ else
+ {
+ UsbKeyBoardHandleInput((struct usb_hid_kbd_report *)kbd_buffer);
+ }
+ }
+ else
+ {
+ FUSB_ERROR("mismatch callback for protocol-%d", intf_protocol);
+ return;
+ }
+
+ usbh_submit_urb(&kbd_intin_urb); /* ask for next inputs */
+}
+
+static void UsbMouseCallback(void *arg, int nbytes)
+{
+ u8 intf_protocol;
+ struct usbh_hid *mouse_class = (struct usbh_hid *)arg;
+ intf_protocol = UsbInputGetInterfaceProtocol(mouse_class);
+
+ if (HID_PROTOCOL_MOUSE == intf_protocol) /* handle input from mouse */
+ {
+ if (nbytes < (int)sizeof(struct usb_hid_mouse_report))
+ {
+ FUSB_ERROR("nbytes = %d", nbytes);
+ }
+ else
+ {
+ UsbMouseHandleInput((struct usb_hid_mouse_report *)mouse_buffer);
+ }
+ }
+ else
+ {
+ FUSB_ERROR("mismatch callback for protocol-%d", intf_protocol);
+ return;
+ }
+
+ usbh_submit_urb(&mouse_intin_urb); /* ask for next inputs */
+}
+
+static void UsbKeyboardTask(void *args)
+{
+ int ret;
+ struct usbh_hid *kbd_class;
+ u8 intf_protocol;
+ const char *dev_name = (const char *)args;
+
+ kbd_class = (struct usbh_hid *)usbh_find_class_instance(dev_name);
+ if (kbd_class == NULL)
+ {
+ FUSB_ERROR("Do not find %s.", dev_name);
+ goto err_exit;
+ }
+
+ while (TRUE)
+ {
+ usbh_int_urb_fill(&kbd_intin_urb, kbd_class->intin, kbd_buffer, 8, 0, UsbKeyboardCallback, kbd_class);
+ ret = usbh_submit_urb(&kbd_intin_urb);
+
+ vTaskDelay(1);
+ }
+
+err_exit:
+ vTaskDelete(NULL);
+}
+
+static void UsbMouseTask(void *args)
+{
+ int ret;
+ struct usbh_hid *mouse_class;
+ u8 intf_protocol;
+ const char *dev_name = (const char *)args;
+
+ mouse_class = (struct usbh_hid *)usbh_find_class_instance(dev_name);
+ if (mouse_class == NULL)
+ {
+ FUSB_ERROR("Do not find %s.", dev_name);
+ goto err_exit;
+ }
+
+ while (TRUE)
+ {
+ usbh_int_urb_fill(&mouse_intin_urb, mouse_class->intin, mouse_buffer, 8, 0, UsbMouseCallback, mouse_class);
+ ret = usbh_submit_urb(&mouse_intin_urb);
+
+ vTaskDelay(1);
+ }
+
+err_exit:
+ vTaskDelete(NULL);
+}
+
+BaseType_t FFreeRTOSRunUsbKeyboard(const char *devname)
+{
+ BaseType_t ret = pdPASS;
+
+ taskENTER_CRITICAL(); /* no schedule when create task */
+
+ ret = xTaskCreate((TaskFunction_t)UsbKeyboardTask,
+ (const char *)"UsbKeyboardTask",
+ (uint16_t)2048,
+ (void *)devname,
+ (UBaseType_t)configMAX_PRIORITIES - 1,
+ NULL);
+ FASSERT_MSG(pdPASS == ret, "create task failed");
+
+ taskEXIT_CRITICAL(); /* allow schedule since task created */
+
+ return ret;
+}
+
+BaseType_t FFreeRTOSRunUsbMouse(const char *devname)
+{
+ BaseType_t ret = pdPASS;
+
+ taskENTER_CRITICAL(); /* no schedule when create task */
+
+ ret = xTaskCreate((TaskFunction_t)UsbMouseTask,
+ (const char *)"UsbMouseTask",
+ (uint16_t)2048,
+ (void *)devname,
+ (UBaseType_t)configMAX_PRIORITIES - 1,
+ NULL);
+ FASSERT_MSG(pdPASS == ret, "create task failed");
+
+ taskEXIT_CRITICAL(); /* allow schedule since task created */
+
+ return ret;
+}
\ No newline at end of file
diff --git a/example/peripheral/wdt/configs/d2000_aarch64_test_wdt.config b/example/peripheral/wdt/configs/d2000_aarch64_test_wdt.config
index 0e1fcd602eecb88caae594c0593e0e1fe96a7211..710837c4185347f0bb6a4ab9918b9f3055ff8809 100644
--- a/example/peripheral/wdt/configs/d2000_aarch64_test_wdt.config
+++ b/example/peripheral/wdt/configs/d2000_aarch64_test_wdt.config
@@ -196,7 +196,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/wdt/configs/e2000d_aarch64_demo_wdt.config b/example/peripheral/wdt/configs/e2000d_aarch64_demo_wdt.config
index fb91f343d461cf80af50f3872ae69c6b2df8affd..3c4975527ce6b79bbb39acc6d0c5e154b02e5d7b 100644
--- a/example/peripheral/wdt/configs/e2000d_aarch64_demo_wdt.config
+++ b/example/peripheral/wdt/configs/e2000d_aarch64_demo_wdt.config
@@ -209,7 +209,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/wdt/configs/e2000q_aarch64_demo_wdt.config b/example/peripheral/wdt/configs/e2000q_aarch64_demo_wdt.config
index 7604ba5c29a7c07a1adf463d7dc8a0121353a998..02b5dd497d57c737cae1f5c8535eed118cd58d3b 100644
--- a/example/peripheral/wdt/configs/e2000q_aarch64_demo_wdt.config
+++ b/example/peripheral/wdt/configs/e2000q_aarch64_demo_wdt.config
@@ -208,7 +208,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/wdt/configs/ft2004_aarch64_dsk_wdt.config b/example/peripheral/wdt/configs/ft2004_aarch64_dsk_wdt.config
index 4ecedbca099dd5cecd8a0467c1cd89afcc7d5b45..64b37993adc2faef37023192ea1ba10cb6b2cc15 100644
--- a/example/peripheral/wdt/configs/ft2004_aarch64_dsk_wdt.config
+++ b/example/peripheral/wdt/configs/ft2004_aarch64_dsk_wdt.config
@@ -196,7 +196,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/wdt/configs/phytiumpi_aarch64_firefly_wdt.config b/example/peripheral/wdt/configs/phytiumpi_aarch64_firefly_wdt.config
index 4208aa6e0a25215497a14b552eee07083f77e541..bc6545227c65908009eb24a2f8caeb22d67567fd 100644
--- a/example/peripheral/wdt/configs/phytiumpi_aarch64_firefly_wdt.config
+++ b/example/peripheral/wdt/configs/phytiumpi_aarch64_firefly_wdt.config
@@ -207,7 +207,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/wdt/sdkconfig b/example/peripheral/wdt/sdkconfig
index 4208aa6e0a25215497a14b552eee07083f77e541..bc6545227c65908009eb24a2f8caeb22d67567fd 100644
--- a/example/peripheral/wdt/sdkconfig
+++ b/example/peripheral/wdt/sdkconfig
@@ -207,7 +207,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/peripheral/wdt/sdkconfig.h b/example/peripheral/wdt/sdkconfig.h
index 03fb553c8dc99d817587b55130ac7eca9358b856..7f3e9185bdf38495e3e1f2b7b5f0883e54c13e12 100644
--- a/example/peripheral/wdt/sdkconfig.h
+++ b/example/peripheral/wdt/sdkconfig.h
@@ -188,7 +188,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/storage/fatfs/configs/e2000d_aarch64_demo_fatfs.config b/example/storage/fatfs/configs/e2000d_aarch64_demo_fatfs.config
index cfaf3ae44554ae926185f4c07d0e4a35768b0c2e..62bf56696d7607e9d7a43bbc06fa201d9608a89e 100644
--- a/example/storage/fatfs/configs/e2000d_aarch64_demo_fatfs.config
+++ b/example/storage/fatfs/configs/e2000d_aarch64_demo_fatfs.config
@@ -213,7 +213,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x2000000
CONFIG_HEAP_SIZE=2
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/storage/fatfs/configs/e2000q_aarch64_demo_fatfs.config b/example/storage/fatfs/configs/e2000q_aarch64_demo_fatfs.config
index 7063e2073e3d4e1a9c82eafdaa5abf85df9b2e63..154c65becd963a98c067807b47718cf49bc8cdfb 100644
--- a/example/storage/fatfs/configs/e2000q_aarch64_demo_fatfs.config
+++ b/example/storage/fatfs/configs/e2000q_aarch64_demo_fatfs.config
@@ -212,7 +212,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x2000000
CONFIG_HEAP_SIZE=2
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/storage/fatfs/configs/phytiumpi_aarch64_firefly_fatfs.config b/example/storage/fatfs/configs/phytiumpi_aarch64_firefly_fatfs.config
index 0edd0fd73a0af1fb5f712659568e1bf0ba601f76..194a18fa55ee6b52cc268fb6a5a4045d6e402292 100644
--- a/example/storage/fatfs/configs/phytiumpi_aarch64_firefly_fatfs.config
+++ b/example/storage/fatfs/configs/phytiumpi_aarch64_firefly_fatfs.config
@@ -211,7 +211,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x2000000
CONFIG_HEAP_SIZE=2
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/storage/fatfs/sdkconfig b/example/storage/fatfs/sdkconfig
index 0edd0fd73a0af1fb5f712659568e1bf0ba601f76..194a18fa55ee6b52cc268fb6a5a4045d6e402292 100644
--- a/example/storage/fatfs/sdkconfig
+++ b/example/storage/fatfs/sdkconfig
@@ -211,7 +211,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x2000000
CONFIG_HEAP_SIZE=2
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/storage/fatfs/sdkconfig.h b/example/storage/fatfs/sdkconfig.h
index cc359ad082173f0956ae905567fe3e7eef0b0323..2992394063c1f31587e4033fef12dc42cc662d72 100644
--- a/example/storage/fatfs/sdkconfig.h
+++ b/example/storage/fatfs/sdkconfig.h
@@ -191,7 +191,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x2000000
#define CONFIG_HEAP_SIZE 2
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/storage/qspi_spiffs/configs/d2000_aarch64_test_qspi_spiffs.config b/example/storage/qspi_spiffs/configs/d2000_aarch64_test_qspi_spiffs.config
index 4ca3748cfebe0a486543f9a1f1dd8cda5202ef9f..f89099cc94679dcd6259cd910d6d26cf3d1ec32e 100644
--- a/example/storage/qspi_spiffs/configs/d2000_aarch64_test_qspi_spiffs.config
+++ b/example/storage/qspi_spiffs/configs/d2000_aarch64_test_qspi_spiffs.config
@@ -196,7 +196,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/storage/qspi_spiffs/configs/e2000d_aarch64_demo_qspi_spiffs.config b/example/storage/qspi_spiffs/configs/e2000d_aarch64_demo_qspi_spiffs.config
index c62358d7450a2599c96651553a5c7cac7d3ac854..539bd3a6bd25a0061d29dd8bfc02e35d64d93269 100644
--- a/example/storage/qspi_spiffs/configs/e2000d_aarch64_demo_qspi_spiffs.config
+++ b/example/storage/qspi_spiffs/configs/e2000d_aarch64_demo_qspi_spiffs.config
@@ -209,7 +209,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/storage/qspi_spiffs/configs/e2000q_aarch64_demo_qspi_spiffs.config b/example/storage/qspi_spiffs/configs/e2000q_aarch64_demo_qspi_spiffs.config
index c9b36feb3ade87e440c67bff521ae960d3417a94..97a4f9d885b1fe287be161c465e6bca98e1704eb 100644
--- a/example/storage/qspi_spiffs/configs/e2000q_aarch64_demo_qspi_spiffs.config
+++ b/example/storage/qspi_spiffs/configs/e2000q_aarch64_demo_qspi_spiffs.config
@@ -208,7 +208,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/storage/qspi_spiffs/configs/ft2004_aarch64_dsk_qspi_spiffs.config b/example/storage/qspi_spiffs/configs/ft2004_aarch64_dsk_qspi_spiffs.config
index 330dab96ea4d225f6d96e49a87c2cb13f0756955..fc8dccf448972cb38c1530c086b263dbcec85237 100644
--- a/example/storage/qspi_spiffs/configs/ft2004_aarch64_dsk_qspi_spiffs.config
+++ b/example/storage/qspi_spiffs/configs/ft2004_aarch64_dsk_qspi_spiffs.config
@@ -196,7 +196,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/storage/qspi_spiffs/configs/phytiumpi_aarch64_firefly_qspi_spiffs.config b/example/storage/qspi_spiffs/configs/phytiumpi_aarch64_firefly_qspi_spiffs.config
index ca4f95545c411e97c55262948bac67adea5bfda4..e1f1c48fd64b660a31c05e036071d20798785c41 100644
--- a/example/storage/qspi_spiffs/configs/phytiumpi_aarch64_firefly_qspi_spiffs.config
+++ b/example/storage/qspi_spiffs/configs/phytiumpi_aarch64_firefly_qspi_spiffs.config
@@ -207,7 +207,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/storage/qspi_spiffs/sdkconfig b/example/storage/qspi_spiffs/sdkconfig
index ca4f95545c411e97c55262948bac67adea5bfda4..e1f1c48fd64b660a31c05e036071d20798785c41 100644
--- a/example/storage/qspi_spiffs/sdkconfig
+++ b/example/storage/qspi_spiffs/sdkconfig
@@ -207,7 +207,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/storage/qspi_spiffs/sdkconfig.h b/example/storage/qspi_spiffs/sdkconfig.h
index 32604c976b37723fa49127e3248d036ca4d26108..fced3779fcba6d9e2383b8666876753d3ea4f64a 100644
--- a/example/storage/qspi_spiffs/sdkconfig.h
+++ b/example/storage/qspi_spiffs/sdkconfig.h
@@ -188,7 +188,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/storage/spim_spiffs/configs/e2000d_aarch64_demo_spi_spiffs.config b/example/storage/spim_spiffs/configs/e2000d_aarch64_demo_spi_spiffs.config
index e8e37df5180b644d23b637ec6b47db12e4f7a6f8..9b5adc4691e4bb8b6e872e66581a02bc5c59d118 100644
--- a/example/storage/spim_spiffs/configs/e2000d_aarch64_demo_spi_spiffs.config
+++ b/example/storage/spim_spiffs/configs/e2000d_aarch64_demo_spi_spiffs.config
@@ -203,7 +203,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/storage/spim_spiffs/configs/e2000q_aarch64_demo_spi_spiffs.config b/example/storage/spim_spiffs/configs/e2000q_aarch64_demo_spi_spiffs.config
index 6e31bed5a07cd4f04b0ab5fbca5d4f66895f3e43..347991cb936fd2366fca077d8ec71e47672fc756 100644
--- a/example/storage/spim_spiffs/configs/e2000q_aarch64_demo_spi_spiffs.config
+++ b/example/storage/spim_spiffs/configs/e2000q_aarch64_demo_spi_spiffs.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/storage/spim_spiffs/configs/phytiumpi_aarch64_firefly_spi_spiffs.config b/example/storage/spim_spiffs/configs/phytiumpi_aarch64_firefly_spi_spiffs.config
index 8b0cf4c22524480dde4b1a99489b240c1fcf9f7b..192fe31d5a874302786b3c8a40b37fc9167634ca 100644
--- a/example/storage/spim_spiffs/configs/phytiumpi_aarch64_firefly_spi_spiffs.config
+++ b/example/storage/spim_spiffs/configs/phytiumpi_aarch64_firefly_spi_spiffs.config
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/storage/spim_spiffs/sdkconfig b/example/storage/spim_spiffs/sdkconfig
index 8b0cf4c22524480dde4b1a99489b240c1fcf9f7b..192fe31d5a874302786b3c8a40b37fc9167634ca 100644
--- a/example/storage/spim_spiffs/sdkconfig
+++ b/example/storage/spim_spiffs/sdkconfig
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/storage/spim_spiffs/sdkconfig.h b/example/storage/spim_spiffs/sdkconfig.h
index 556a16340b92aeac15df052b8d0a4ef21716454f..7e79848c891016fe152ed75e6b46242b9328f404 100644
--- a/example/storage/spim_spiffs/sdkconfig.h
+++ b/example/storage/spim_spiffs/sdkconfig.h
@@ -184,7 +184,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/system/amp/openamp/core0/configs/d2000_aarch64_test_openamp_core0.config b/example/system/amp/openamp/core0/configs/d2000_aarch64_test_openamp_core0.config
index 18b453cab19c1e26d766c78a307ff6b4d3148d56..456edfd537c90d9b84ea0323727a88bd3203bf94 100644
--- a/example/system/amp/openamp/core0/configs/d2000_aarch64_test_openamp_core0.config
+++ b/example/system/amp/openamp/core0/configs/d2000_aarch64_test_openamp_core0.config
@@ -206,7 +206,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp/core0/configs/e2000d_aarch64_demo_openamp_core0.config b/example/system/amp/openamp/core0/configs/e2000d_aarch64_demo_openamp_core0.config
index 09f637a1f3d106dc8c56f77e6ae7cfe4843dcb26..923c5e45b340782a262dafdf59e6b0578aa71830 100644
--- a/example/system/amp/openamp/core0/configs/e2000d_aarch64_demo_openamp_core0.config
+++ b/example/system/amp/openamp/core0/configs/e2000d_aarch64_demo_openamp_core0.config
@@ -219,7 +219,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp/core0/configs/e2000q_aarch64_demo_openamp_core0.config b/example/system/amp/openamp/core0/configs/e2000q_aarch64_demo_openamp_core0.config
index 8466c9c952d3a83cd6e126c5f124ad73769efbab..40c80bcd79163b10462716073400b9c053e73d3c 100644
--- a/example/system/amp/openamp/core0/configs/e2000q_aarch64_demo_openamp_core0.config
+++ b/example/system/amp/openamp/core0/configs/e2000q_aarch64_demo_openamp_core0.config
@@ -218,7 +218,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp/core0/configs/ft2004_aarch64_dsk_openamp_core0.config b/example/system/amp/openamp/core0/configs/ft2004_aarch64_dsk_openamp_core0.config
index 7e0508b119847aebe9ac791e1590399b0cb6aabd..911998367332c75bdb19b816680702d281596a35 100644
--- a/example/system/amp/openamp/core0/configs/ft2004_aarch64_dsk_openamp_core0.config
+++ b/example/system/amp/openamp/core0/configs/ft2004_aarch64_dsk_openamp_core0.config
@@ -206,7 +206,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp/core0/configs/phytiumpi_aarch64_firefly_openamp_core0.config b/example/system/amp/openamp/core0/configs/phytiumpi_aarch64_firefly_openamp_core0.config
index 1dea9cc9a2344b8673634d8e063651be421a1b23..a7f3552f978e8c5b0b654632babe314c52e06842 100644
--- a/example/system/amp/openamp/core0/configs/phytiumpi_aarch64_firefly_openamp_core0.config
+++ b/example/system/amp/openamp/core0/configs/phytiumpi_aarch64_firefly_openamp_core0.config
@@ -217,7 +217,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp/core0/sdkconfig b/example/system/amp/openamp/core0/sdkconfig
index 1dea9cc9a2344b8673634d8e063651be421a1b23..a7f3552f978e8c5b0b654632babe314c52e06842 100644
--- a/example/system/amp/openamp/core0/sdkconfig
+++ b/example/system/amp/openamp/core0/sdkconfig
@@ -217,7 +217,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp/core0/sdkconfig.h b/example/system/amp/openamp/core0/sdkconfig.h
index 311d1153178922900249ca806aaef846bbd5587c..edd5e1172870cad11b437397f568ea03d7d50338 100644
--- a/example/system/amp/openamp/core0/sdkconfig.h
+++ b/example/system/amp/openamp/core0/sdkconfig.h
@@ -196,7 +196,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/system/amp/openamp/core1/configs/d2000_aarch64_test_openamp_core1.config b/example/system/amp/openamp/core1/configs/d2000_aarch64_test_openamp_core1.config
index c9c063a784c63aa536c0012707fce24f6d81b148..0de5f0cd2b8c72a41ab691551351107ef3f02c47 100644
--- a/example/system/amp/openamp/core1/configs/d2000_aarch64_test_openamp_core1.config
+++ b/example/system/amp/openamp/core1/configs/d2000_aarch64_test_openamp_core1.config
@@ -205,7 +205,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0xe0100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp/core1/configs/e2000d_aarch64_demo_openamp_core1.config b/example/system/amp/openamp/core1/configs/e2000d_aarch64_demo_openamp_core1.config
index 595c18668adf6ec8192e96eba121295fe8c4416b..32454765abf96ca3323ad7cfe51770d232b4e137 100644
--- a/example/system/amp/openamp/core1/configs/e2000d_aarch64_demo_openamp_core1.config
+++ b/example/system/amp/openamp/core1/configs/e2000d_aarch64_demo_openamp_core1.config
@@ -218,7 +218,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0xe0100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp/core1/configs/e2000q_aarch64_demo_openamp_core1.config b/example/system/amp/openamp/core1/configs/e2000q_aarch64_demo_openamp_core1.config
index 0bb9892ba5ae18fb4cc9038d345af7d2a74e61db..7bab19ffa1e0b1246d439c6619646b5e5bcf8215 100644
--- a/example/system/amp/openamp/core1/configs/e2000q_aarch64_demo_openamp_core1.config
+++ b/example/system/amp/openamp/core1/configs/e2000q_aarch64_demo_openamp_core1.config
@@ -217,7 +217,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0xe0100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp/core1/configs/ft2004_aarch64_dsk_openamp_core1.config b/example/system/amp/openamp/core1/configs/ft2004_aarch64_dsk_openamp_core1.config
index 50b0ba7f4c893afadb48773c7642e8633ba14324..1964ce91fd2fbf98e3b6687b549c2b2b3b4926a7 100644
--- a/example/system/amp/openamp/core1/configs/ft2004_aarch64_dsk_openamp_core1.config
+++ b/example/system/amp/openamp/core1/configs/ft2004_aarch64_dsk_openamp_core1.config
@@ -205,7 +205,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0xe0100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp/core1/configs/phytiumpi_aarch64_firefly_openamp_core1.config b/example/system/amp/openamp/core1/configs/phytiumpi_aarch64_firefly_openamp_core1.config
index 9c298412137b7d4175e5e4a4a33bb9dff8eb1c39..c808d7cb7edb259570d793fbaa93a44be6a4b324 100644
--- a/example/system/amp/openamp/core1/configs/phytiumpi_aarch64_firefly_openamp_core1.config
+++ b/example/system/amp/openamp/core1/configs/phytiumpi_aarch64_firefly_openamp_core1.config
@@ -216,7 +216,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0xe0100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp/core1/sdkconfig b/example/system/amp/openamp/core1/sdkconfig
index 9c298412137b7d4175e5e4a4a33bb9dff8eb1c39..c808d7cb7edb259570d793fbaa93a44be6a4b324 100644
--- a/example/system/amp/openamp/core1/sdkconfig
+++ b/example/system/amp/openamp/core1/sdkconfig
@@ -216,7 +216,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0xe0100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp/core1/sdkconfig.h b/example/system/amp/openamp/core1/sdkconfig.h
index 404acb3307af1d39f665141d6cf88af5a5847991..f53ad3edb77f7477ff5c53d12894960dd67b6d27 100644
--- a/example/system/amp/openamp/core1/sdkconfig.h
+++ b/example/system/amp/openamp/core1/sdkconfig.h
@@ -195,7 +195,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/system/amp/openamp_for_linux/configs/d2000_aarch64_test_openamp_for_linux.config b/example/system/amp/openamp_for_linux/configs/d2000_aarch64_test_openamp_for_linux.config
index 386e4cb961a389214f9086ea2c3d816cdfe58ba9..652c017d44c74ffc289a75f5d8cce47f45b4489f 100644
--- a/example/system/amp/openamp_for_linux/configs/d2000_aarch64_test_openamp_for_linux.config
+++ b/example/system/amp/openamp_for_linux/configs/d2000_aarch64_test_openamp_for_linux.config
@@ -209,7 +209,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0xb0100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp_for_linux/configs/e2000d_aarch64_demo_openamp_for_linux.config b/example/system/amp/openamp_for_linux/configs/e2000d_aarch64_demo_openamp_for_linux.config
index 410319311198606e27b64625facc7c3288acd778..ed43ab3f7d7d5303a59b727e3651954c463497d1 100644
--- a/example/system/amp/openamp_for_linux/configs/e2000d_aarch64_demo_openamp_for_linux.config
+++ b/example/system/amp/openamp_for_linux/configs/e2000d_aarch64_demo_openamp_for_linux.config
@@ -222,7 +222,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0xb0100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp_for_linux/configs/e2000q_aarch64_demo_openamp_for_linux.config b/example/system/amp/openamp_for_linux/configs/e2000q_aarch64_demo_openamp_for_linux.config
index ed8bea230b73ef533df4274f2298ffc3be116d1c..3bd890909145874ff4415623097a4fe230a2eb3e 100644
--- a/example/system/amp/openamp_for_linux/configs/e2000q_aarch64_demo_openamp_for_linux.config
+++ b/example/system/amp/openamp_for_linux/configs/e2000q_aarch64_demo_openamp_for_linux.config
@@ -221,7 +221,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0xb0100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp_for_linux/configs/ft2004_aarch64_dsk_openamp_for_linux.config b/example/system/amp/openamp_for_linux/configs/ft2004_aarch64_dsk_openamp_for_linux.config
index d6a22666fbe15dd96822fe7547973a8b6eac0b20..5679ce6fd678dbab7dc9ab5db2fb95d4c672c815 100644
--- a/example/system/amp/openamp_for_linux/configs/ft2004_aarch64_dsk_openamp_for_linux.config
+++ b/example/system/amp/openamp_for_linux/configs/ft2004_aarch64_dsk_openamp_for_linux.config
@@ -209,7 +209,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0xb0100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp_for_linux/configs/phytiumpi_aarch64_firefly_openamp_for_linux.config b/example/system/amp/openamp_for_linux/configs/phytiumpi_aarch64_firefly_openamp_for_linux.config
index 31068d722e78889ad23c2b8ba5891a9756f46f6f..d2abc0f267b6f66cb629e9b6596142ebd8f7db63 100644
--- a/example/system/amp/openamp_for_linux/configs/phytiumpi_aarch64_firefly_openamp_for_linux.config
+++ b/example/system/amp/openamp_for_linux/configs/phytiumpi_aarch64_firefly_openamp_for_linux.config
@@ -220,7 +220,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0xb0100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp_for_linux/sdkconfig b/example/system/amp/openamp_for_linux/sdkconfig
index 31068d722e78889ad23c2b8ba5891a9756f46f6f..d2abc0f267b6f66cb629e9b6596142ebd8f7db63 100644
--- a/example/system/amp/openamp_for_linux/sdkconfig
+++ b/example/system/amp/openamp_for_linux/sdkconfig
@@ -220,7 +220,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0xb0100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/amp/openamp_for_linux/sdkconfig.h b/example/system/amp/openamp_for_linux/sdkconfig.h
index 588e9e508638833854f5ea8f62ee850761c464bf..928c52ee89d46c1453f1333ce1759a14507c2bf4 100644
--- a/example/system/amp/openamp_for_linux/sdkconfig.h
+++ b/example/system/amp/openamp_for_linux/sdkconfig.h
@@ -197,7 +197,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/system/atomic/configs/d2000_aarch64_test_atomic.config b/example/system/atomic/configs/d2000_aarch64_test_atomic.config
index ebc91f435c90208e7104cd6e85f16713cc9d215d..36dcd731e14947b46a4e688b6cf8e99583c46994 100644
--- a/example/system/atomic/configs/d2000_aarch64_test_atomic.config
+++ b/example/system/atomic/configs/d2000_aarch64_test_atomic.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/atomic/configs/e2000d_aarch64_demo_atomic.config b/example/system/atomic/configs/e2000d_aarch64_demo_atomic.config
index 1208d9ce045ac48dfebaa082d22ac5e5a17a7745..86ab98edd06cc0a4fafaf445cfb7f58b21138531 100644
--- a/example/system/atomic/configs/e2000d_aarch64_demo_atomic.config
+++ b/example/system/atomic/configs/e2000d_aarch64_demo_atomic.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/atomic/configs/e2000q_aarch64_demo_atomic.config b/example/system/atomic/configs/e2000q_aarch64_demo_atomic.config
index 97f29c12c9039fba55da431af1055caa82e1c45c..2ca5d06305432710ae5a394a7f44b955cce3cf63 100644
--- a/example/system/atomic/configs/e2000q_aarch64_demo_atomic.config
+++ b/example/system/atomic/configs/e2000q_aarch64_demo_atomic.config
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/atomic/configs/ft2004_aarch64_dsk_atomic.config b/example/system/atomic/configs/ft2004_aarch64_dsk_atomic.config
index 441e66782de8ced65b9b0303236d2f1566f4d22d..f317d0723c25bbd319b87edbeb0b077d7f7b5e98 100644
--- a/example/system/atomic/configs/ft2004_aarch64_dsk_atomic.config
+++ b/example/system/atomic/configs/ft2004_aarch64_dsk_atomic.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/atomic/configs/phytiumpi_aarch64_firefly_atomic.config b/example/system/atomic/configs/phytiumpi_aarch64_firefly_atomic.config
index 5a89487dc1c2915ae99e6c92dcc9c25340665881..c6a8e4e91dcf619a5e0f2311a43225caf4e9e6d6 100644
--- a/example/system/atomic/configs/phytiumpi_aarch64_firefly_atomic.config
+++ b/example/system/atomic/configs/phytiumpi_aarch64_firefly_atomic.config
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/atomic/sdkconfig b/example/system/atomic/sdkconfig
index 5a89487dc1c2915ae99e6c92dcc9c25340665881..c6a8e4e91dcf619a5e0f2311a43225caf4e9e6d6 100644
--- a/example/system/atomic/sdkconfig
+++ b/example/system/atomic/sdkconfig
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/atomic/sdkconfig.h b/example/system/atomic/sdkconfig.h
index 061a41d4f875cf08bbab871140ee983efbee8a41..03768afc82cfe6b2436cc7b9accf9fb16f92d0ae 100644
--- a/example/system/atomic/sdkconfig.h
+++ b/example/system/atomic/sdkconfig.h
@@ -183,7 +183,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/system/exception_debug/configs/d2000_aarch64_test_exception.config b/example/system/exception_debug/configs/d2000_aarch64_test_exception.config
index 5fd80a99b33471fee88fecadece2e339d3b497f0..22fc60d1d487765c5181b33185dfacf06f75edbf 100644
--- a/example/system/exception_debug/configs/d2000_aarch64_test_exception.config
+++ b/example/system/exception_debug/configs/d2000_aarch64_test_exception.config
@@ -198,7 +198,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/exception_debug/configs/e2000d_aarch64_demo_exception.config b/example/system/exception_debug/configs/e2000d_aarch64_demo_exception.config
index d59cc09117c5dee1d13031c658ee12e79d0cc3ea..44e3e73fa43d65b8205a151b60ae4196e165db9a 100644
--- a/example/system/exception_debug/configs/e2000d_aarch64_demo_exception.config
+++ b/example/system/exception_debug/configs/e2000d_aarch64_demo_exception.config
@@ -211,7 +211,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/exception_debug/configs/e2000q_aarch64_demo_exception.config b/example/system/exception_debug/configs/e2000q_aarch64_demo_exception.config
index 7771175997be5fedb024d05e9fd93631df17410e..617e8da6d314531a32513134e48ff092c13136c5 100644
--- a/example/system/exception_debug/configs/e2000q_aarch64_demo_exception.config
+++ b/example/system/exception_debug/configs/e2000q_aarch64_demo_exception.config
@@ -210,7 +210,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/exception_debug/configs/ft2004_aarch64_dsk_exception.config b/example/system/exception_debug/configs/ft2004_aarch64_dsk_exception.config
index 14d50f5eda36b773a644e28ae842d12d696a9763..f0dd06fd49ca9f43d3c58baebd308aebb763c9bb 100644
--- a/example/system/exception_debug/configs/ft2004_aarch64_dsk_exception.config
+++ b/example/system/exception_debug/configs/ft2004_aarch64_dsk_exception.config
@@ -198,7 +198,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/exception_debug/configs/phytiumpi_aarch64_firefly_exception.config b/example/system/exception_debug/configs/phytiumpi_aarch64_firefly_exception.config
index 464b650a8624e332cbefa65f58dd0234b215b755..9f89ed4753c7ff04a3fa027d2b32dc0654ba7246 100644
--- a/example/system/exception_debug/configs/phytiumpi_aarch64_firefly_exception.config
+++ b/example/system/exception_debug/configs/phytiumpi_aarch64_firefly_exception.config
@@ -209,7 +209,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/exception_debug/main.c b/example/system/exception_debug/main.c
index bbde277aca12901a8718399f6a9d4d39a066497e..31e5c7684013f14fcd809e43a67ead842e862e74 100644
--- a/example/system/exception_debug/main.c
+++ b/example/system/exception_debug/main.c
@@ -32,13 +32,7 @@
#include "fio.h"
#include "fkernel.h"
#include "sdkconfig.h"
-
-#ifdef __aarch64__
-#include "faarch64.h"
-#else
-#include "faarch32.h"
-#endif
-
+#include "faarch.h"
static int FExcOpsInvalidMemAccess(void)
{
diff --git a/example/system/exception_debug/sdkconfig b/example/system/exception_debug/sdkconfig
index 464b650a8624e332cbefa65f58dd0234b215b755..9f89ed4753c7ff04a3fa027d2b32dc0654ba7246 100644
--- a/example/system/exception_debug/sdkconfig
+++ b/example/system/exception_debug/sdkconfig
@@ -209,7 +209,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/exception_debug/sdkconfig.h b/example/system/exception_debug/sdkconfig.h
index efd5c991acb98053059f3387e57ca55bc5b933aa..70e9891843fa36d5b9feb50ec93cc870f0aa0b93 100644
--- a/example/system/exception_debug/sdkconfig.h
+++ b/example/system/exception_debug/sdkconfig.h
@@ -189,7 +189,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/system/nested_interrupt/configs/d2000_aarch64_test_nested_interrupt.config b/example/system/nested_interrupt/configs/d2000_aarch64_test_nested_interrupt.config
index 2ec52b644927f25f48f1be391cd53dea8465d303..30eaa77ad9efb556888671da83eb5e9ea0b9bccf 100644
--- a/example/system/nested_interrupt/configs/d2000_aarch64_test_nested_interrupt.config
+++ b/example/system/nested_interrupt/configs/d2000_aarch64_test_nested_interrupt.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/nested_interrupt/configs/e2000d_aarch64_demo_nested_interrupt.config b/example/system/nested_interrupt/configs/e2000d_aarch64_demo_nested_interrupt.config
index 630a8fb5d58156c3fcc0ba2c9514ee8e1a23b42b..f111b8c5d71bc09ff2dfd2c4568be4fb4dab81c1 100644
--- a/example/system/nested_interrupt/configs/e2000d_aarch64_demo_nested_interrupt.config
+++ b/example/system/nested_interrupt/configs/e2000d_aarch64_demo_nested_interrupt.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/nested_interrupt/configs/e2000q_aarch64_demo_nested_interrupt.config b/example/system/nested_interrupt/configs/e2000q_aarch64_demo_nested_interrupt.config
index ec8ab6304760eb8ec4945df419e7e13bbe05fa6c..f9a6abd4a9671478a765f9cc455b839b6153b784 100644
--- a/example/system/nested_interrupt/configs/e2000q_aarch64_demo_nested_interrupt.config
+++ b/example/system/nested_interrupt/configs/e2000q_aarch64_demo_nested_interrupt.config
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/nested_interrupt/configs/ft2004_aarch64_dsk_nested_interrupt.config b/example/system/nested_interrupt/configs/ft2004_aarch64_dsk_nested_interrupt.config
index c7c9363deb577a37bf5383bcb38dc33efdb80b0d..b4add871097e4929338126936a34d021eace9025 100644
--- a/example/system/nested_interrupt/configs/ft2004_aarch64_dsk_nested_interrupt.config
+++ b/example/system/nested_interrupt/configs/ft2004_aarch64_dsk_nested_interrupt.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/nested_interrupt/configs/phytiumpi_aarch64_firefly_nested_interrupt.config b/example/system/nested_interrupt/configs/phytiumpi_aarch64_firefly_nested_interrupt.config
index 2edec1c2e8a6b05aa10fe9136a9caf78e73ff021..cd714b48f0dbc6c51c5556016c3edd7a86cc1f98 100644
--- a/example/system/nested_interrupt/configs/phytiumpi_aarch64_firefly_nested_interrupt.config
+++ b/example/system/nested_interrupt/configs/phytiumpi_aarch64_firefly_nested_interrupt.config
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/nested_interrupt/sdkconfig b/example/system/nested_interrupt/sdkconfig
index 2edec1c2e8a6b05aa10fe9136a9caf78e73ff021..cd714b48f0dbc6c51c5556016c3edd7a86cc1f98 100644
--- a/example/system/nested_interrupt/sdkconfig
+++ b/example/system/nested_interrupt/sdkconfig
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/nested_interrupt/sdkconfig.h b/example/system/nested_interrupt/sdkconfig.h
index 9df28aea411d4ebd238e451fc1af26d8e35e1ea0..81dea636f6b4404f59fdb7832bd07237ccb2d880 100644
--- a/example/system/nested_interrupt/sdkconfig.h
+++ b/example/system/nested_interrupt/sdkconfig.h
@@ -183,7 +183,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/system/posix/configs/d2000_aarch64_test_posix.config b/example/system/posix/configs/d2000_aarch64_test_posix.config
index a0737682f0af9658d618f271d232c252deb34986..eecfb862f74666a5677161035ab3e8b56855ea31 100644
--- a/example/system/posix/configs/d2000_aarch64_test_posix.config
+++ b/example/system/posix/configs/d2000_aarch64_test_posix.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/posix/configs/e2000d_aarch64_demo_posix.config b/example/system/posix/configs/e2000d_aarch64_demo_posix.config
index b9a3896baff1ba1d0433db659d1f53f7efbec22f..82805c10176d4ce1683271ef45dae6bdd231b64d 100644
--- a/example/system/posix/configs/e2000d_aarch64_demo_posix.config
+++ b/example/system/posix/configs/e2000d_aarch64_demo_posix.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/posix/configs/e2000q_aarch64_demo_posix.config b/example/system/posix/configs/e2000q_aarch64_demo_posix.config
index 39f0336bca04a9c3190719d2d0c1fc0a794c0647..d1a895038532daa86f016db3dce1d2d520f133ab 100644
--- a/example/system/posix/configs/e2000q_aarch64_demo_posix.config
+++ b/example/system/posix/configs/e2000q_aarch64_demo_posix.config
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/posix/configs/ft2004_aarch64_dsk_posix.config b/example/system/posix/configs/ft2004_aarch64_dsk_posix.config
index a2303a243270379b422e7c481e95d10e4c14a127..be125f7043c2d993762a462bc6a4d2f94040b830 100644
--- a/example/system/posix/configs/ft2004_aarch64_dsk_posix.config
+++ b/example/system/posix/configs/ft2004_aarch64_dsk_posix.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/posix/configs/phytiumpi_aarch64_firefly_posix.config b/example/system/posix/configs/phytiumpi_aarch64_firefly_posix.config
index 4c54cab32af38c82436003d45c55df244a112074..043910b1af405789c3f9f654e32df9caf6fa9e4d 100644
--- a/example/system/posix/configs/phytiumpi_aarch64_firefly_posix.config
+++ b/example/system/posix/configs/phytiumpi_aarch64_firefly_posix.config
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/posix/sdkconfig b/example/system/posix/sdkconfig
index 4c54cab32af38c82436003d45c55df244a112074..043910b1af405789c3f9f654e32df9caf6fa9e4d 100644
--- a/example/system/posix/sdkconfig
+++ b/example/system/posix/sdkconfig
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/system/posix/sdkconfig.h b/example/system/posix/sdkconfig.h
index 2696ee98657fefe0b251ab2775d9a515128dfd4b..7575cecc4a6a29cdf7faccf6d19b5451e579d26a 100644
--- a/example/system/posix/sdkconfig.h
+++ b/example/system/posix/sdkconfig.h
@@ -183,7 +183,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/example/template/configs/d2000_aarch64_test_eg.config b/example/template/configs/d2000_aarch64_test_eg.config
index e2762fab527f75a85e0cda72c91871d3dc0ddfbc..d9546a18884deebdc25ea70c54e5dba4d519abc0 100644
--- a/example/template/configs/d2000_aarch64_test_eg.config
+++ b/example/template/configs/d2000_aarch64_test_eg.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/template/configs/e2000d_aarch64_demo_eg.config b/example/template/configs/e2000d_aarch64_demo_eg.config
index a0d21ad1609228c48bc4c8dbd4c1e3ab3879d017..eaf688c03b15970d0dd516b0c25187f4b549d499 100644
--- a/example/template/configs/e2000d_aarch64_demo_eg.config
+++ b/example/template/configs/e2000d_aarch64_demo_eg.config
@@ -202,7 +202,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x100000
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/template/configs/e2000q_aarch64_demo_eg.config b/example/template/configs/e2000q_aarch64_demo_eg.config
index 8c4b1ead726793722254f610bd625ae58e83b4b5..0a603a5d4c0c64cce0b91e86164fab8bc8e05bfe 100644
--- a/example/template/configs/e2000q_aarch64_demo_eg.config
+++ b/example/template/configs/e2000q_aarch64_demo_eg.config
@@ -201,7 +201,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/template/configs/ft2004_aarch64_dsk_eg.config b/example/template/configs/ft2004_aarch64_dsk_eg.config
index 5336af264512447954ab08453ba9090c2cf29da9..561507b5a20b6c2939c268e8a3e7d01760e9c2af 100644
--- a/example/template/configs/ft2004_aarch64_dsk_eg.config
+++ b/example/template/configs/ft2004_aarch64_dsk_eg.config
@@ -189,7 +189,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/template/configs/phytiumpi_aarch64_firefly_eg.config b/example/template/configs/phytiumpi_aarch64_firefly_eg.config
index 7b7197748979a523beba6723b263a00f62aed035..bc7935ba59bfa124304fb052b781c7ed6a0421d1 100644
--- a/example/template/configs/phytiumpi_aarch64_firefly_eg.config
+++ b/example/template/configs/phytiumpi_aarch64_firefly_eg.config
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/template/sdkconfig b/example/template/sdkconfig
index 7b7197748979a523beba6723b263a00f62aed035..bc7935ba59bfa124304fb052b781c7ed6a0421d1 100644
--- a/example/template/sdkconfig
+++ b/example/template/sdkconfig
@@ -200,7 +200,6 @@ CONFIG_IMAGE_LOAD_ADDRESS=0x80100000
CONFIG_IMAGE_MAX_LENGTH=0x1000000
CONFIG_HEAP_SIZE=1
CONFIG_STACK_SIZE=0x400
-CONFIG_FPU_STACK_SIZE=0x1000
# end of Linker Options
# end of Build setup
diff --git a/example/template/sdkconfig.h b/example/template/sdkconfig.h
index 7c97f68c09d4ce89d4f05768b2f52791c3e0580a..c7764e210515da38c39b018cd58d96fec0d2a39b 100644
--- a/example/template/sdkconfig.h
+++ b/example/template/sdkconfig.h
@@ -183,7 +183,6 @@
#define CONFIG_IMAGE_MAX_LENGTH 0x1000000
#define CONFIG_HEAP_SIZE 1
#define CONFIG_STACK_SIZE 0x400
-#define CONFIG_FPU_STACK_SIZE 0x1000
/* end of Linker Options */
/* end of Build setup */
diff --git a/install.py b/install.py
index 437cfe75a3317750f3fb19d43d7aaa44bfc51eb7..ddac69b5100201a7bae5360a473d9261bfc990bc 100755
--- a/install.py
+++ b/install.py
@@ -1,70 +1,26 @@
#!/usr/bin/env python3
-import sys
import os
-import pwd
-import stat
import platform
-import getpass
-import tarfile
import re
-import shutil
### platform constant
-platform_tags = ["Linux_X86_64" "Linux_AARCH64" "Msys2"]
+platform_tags = ["Linux_X86_64" "Linux_AARCH64" "Windows_x64"]
linux_x86 = 0
linux_aarch64 = 1
-windows_msys2 = 2
-
-### environment constant
-sdk_profile_path = "/etc/profile.d/phytium_dev.sh"
-sdk_version = "v0.7.1"
-
-def rm_line(str, file_path):
- with open(file_path,'r+') as f:
- lines = [line for line in f.readlines() if str not in line]
- f.seek(0)
- f.truncate(0)
- f.writelines(lines)
-
-def ap_line(str, file_path):
- with open(file_path, 'a') as f:
- f.write(str + '\n')
+windows_x64 = 2
# STEP 1: Check environment
-# check install environment
if (platform.system() == 'Linux' ) and (platform.processor() == 'x86_64'):
install_platform = linux_x86
elif (platform.system() == 'Linux' ) and (platform.processor() == 'aarch64'): # Arm64 computer
install_platform = linux_aarch64
-elif (re.search('MSYS_NT', platform.system()).span() == (0, len('MSYS_NT'))):
- install_platform = windows_msys2
+elif (platform.system() == 'Windows') and (platform.machine() == 'AMD64'):
+ install_platform = windows_x64
else:
- print("[1]: Platform not support !!! ")
- exit()
-
-
-# create '/etc/profile.d/phytium_standalone_sdk.sh' need sudo right, ask user to create it first
-if not os.path.exists(sdk_profile_path):
- if (install_platform == linux_x86) or (install_platform == linux_aarch64):
- print("[1]: Please create sdk profile with 'sudo touch {}' first".format(sdk_profile_path))
- print("then 'sudo chmod 666 {}'".format(sdk_profile_path))
- else: # for Windows msys2
- print("[1]: Please create sdk profile with 'touch {}' first".format(sdk_profile_path))
- print("then 'chmod 666 {}'".format(sdk_profile_path))
-
+ print("Platform not support !!! ")
exit()
-# get current user to install, profile depends on user
-usr = getpass.getuser()
-if (install_platform == windows_msys2):
- # arch is not able to get for msys2
- print("[1]: Usr: {}, OS: {}, Type: {}".format(usr, platform.system(), install_platform))
-else:
- print("[1]: Usr: {}, OS: {}, Arch: {}, Type: {}".format(usr, platform.system(), platform.processor(), install_platform))
-
-print("[1]: Enviroment variables will set at {}".format(sdk_profile_path))
-
# get absoulte path current pwd to install sdk
install_path, install_script = os.path.split(os.path.abspath(__file__))
curr_path = os.getcwd()
@@ -72,22 +28,19 @@ freertos_sdk_path = ''
# in case user call this script not from current path
if (curr_path != install_path):
- print("[1]: Please cd to install script path first !!!")
+ print("Please cd to install script path first !!!")
exit()
# get absolute path of sdk install dir
freertos_sdk_path = install_path
-print("[1]: Standalone SDK at {}".format(freertos_sdk_path))
-
-# make sure sdk scripts are executable
-os.system("chmod +x ./*.sh --silent ")
-os.system("chmod +x ./scripts/*.sh --silent ")
-os.system("chmod +x ./make/*.mk --silent ")
-os.system("chmod +x ./lib/Kconfiglib/*.py --silent ")
+print("Standalone SDK at {}".format(freertos_sdk_path))
# Add standalone sdk
-standalone_sdk_v="e279fe5984778e7e7ac8cfa746d3d66ec9385b38"
-standalone_path=freertos_sdk_path + '/standalone'
+standalone_sdk_v="c723ac981c28f27d423ebe63bcd5fd55b8ecc72d"
+if (install_platform == windows_x64):
+ standalone_path=freertos_sdk_path + '\\standalone'
+else:
+ standalone_path=freertos_sdk_path + '/standalone'
standalone_branche="master"
standalone_remote="https://gitee.com/phytium_embedded/phytium-standalone-sdk.git"
@@ -98,61 +51,26 @@ if not os.path.exists(standalone_path):
os.chdir(standalone_path)# 切换工作路径至standalone 路径
os.system("git config core.sparsecheckout true")
os.system("git config advice.detachedHead false")
- os.system("echo \"arch/*\" >> {}".format(r'.git/info/sparse-checkout'))
- os.system("echo \"board/*\" >> {}".format(r'.git/info/sparse-checkout'))
- os.system("echo \"common/*\" >> {}".format(r'.git/info/sparse-checkout'))
- os.system("echo \"drivers/*\" >> {}".format(r'.git/info/sparse-checkout'))
- os.system("echo \"standalone.mk\" >> {}".format(r'.git/info/sparse-checkout'))
- os.system("echo \"lib/*\" >> {}".format(r'.git/info/sparse-checkout'))
- os.system("echo \"doc/*\" >> {}".format(r'.git/info/sparse-checkout'))
- os.system("echo \"third-party/*\" >> {}".format(r'.git/info/sparse-checkout'))
- os.system("echo \"tools/*\" >> {}".format(r'.git/info/sparse-checkout'))
- os.system("echo \"soc/*\" >> {}".format(r'.git/info/sparse-checkout'))
+ os.system("git sparse-checkout init")
+
+ # 适配 windows 环境,路径不兼容
+ os.system("git sparse-checkout set arch \
+ board \
+ common \
+ drivers \
+ standalone.mk \
+ lib \
+ doc \
+ third-party \
+ !third-party/lwip-2.1.2/ports/arch \
+ tools \
+ soc")
os.system("git checkout {}".format(standalone_sdk_v))
- print('[1]: Standalone sdk download is succeed')
- os.chdir(current_path) # 切换回当前路径
- lwip_port_arch_path=standalone_path + '/third-party/lwip-2.1.2/ports/arch'
- shutil.rmtree(lwip_port_arch_path)
+ print('Standalone sdk download is succeed')
else:
- print('[1]: Standalone sdk is exist')
+ print('Standalone sdk is exist')
pass
-## STEP 2: reset environment
-# remove environment variables
-
-try:
- sdk_profile = open(sdk_profile_path, "r+")
- sdk_profile.close()
-
-except Exception as ex:
- print(ex)
- print("[2]: Create SDK profile {} failed !!!!".format(sdk_profile_path))
- exit()
-
-rm_line("### PHYTIUM FREERTOS SDK SETTING START",sdk_profile_path)
-rm_line("export FREERTOS_SDK_ROOT=",sdk_profile_path)
-rm_line("export FREERTOS_STANDALONE=",sdk_profile_path)
-rm_line("### PHYTIUM FREERTOS SDK SETTING END",sdk_profile_path)
-
-print("[2]: Reset environment")
-
-## STEP 3: get cross-platform compiler
-#########################################
-if not os.path.exists(os.environ.get('AARCH32_CROSS_PATH')):
- print("[3]: Failed, AARCH32 CC package {} non found !!!".format('AARCH32_CROSS_PATH'))
- exit()
-
-if not os.path.exists(os.environ.get('AARCH64_CROSS_PATH')):
- print("[3]: Failed, AARCH64 CC package {} non found !!!".format('AARCH64_CROSS_PATH'))
- exit()
-
-print("[3]: GNU CC version: 10.3.1-2021.07")
-
-## STEP 4: display success message and enable environment
-print("[4]: Success!!! Standalone SDK is Install at {}".format(freertos_sdk_path))
-print("[4]: SDK Environment Variables is in {}".format(sdk_profile_path))
-print("[4]: Phytium FREERTOS SDK Setup Done for {}!!!".format(usr))
-print("[4]: FREERTOS SDK version is {}".format(sdk_version))
-print("[4]: Input 'source {}' or Reboot System to Active SDK".format(sdk_profile_path))
-
+## STEP 2: display success message and enable environment
+print("Success!!! Phytium FreeRTOS SDK is Install at {}".format(freertos_sdk_path))
\ No newline at end of file
diff --git a/third-party/cherryusb/core/usbh_core.h b/third-party/cherryusb/core/usbh_core.h
index cda0c3bdc5442c843ee8fb4670c11eea01072a69..fd8ac72891f4b8b457a6b209509e63733aa1eaef 100644
--- a/third-party/cherryusb/core/usbh_core.h
+++ b/third-party/cherryusb/core/usbh_core.h
@@ -173,7 +173,7 @@ struct usbh_hub {
struct usbh_hubport *parent;
usb_slist_t hub_event_list;
struct usbh_bus *usb;
- uint ports; /* num of ports */
+ uint32_t ports; /* num of ports */
USB_MEM_ALIGNX uint8_t g_hub_buf[32];
USB_MEM_ALIGNX uint8_t g_hub_intbuf[CONFIG_USBHOST_MAX_EXTHUBS + 1][1];
};
diff --git a/third-party/cherryusb/osal/usb_config.h b/third-party/cherryusb/osal/usb_config.h
index 3cce59fdd809b0b3551651639bf4e8bd5ca9b069..69d0e5e74778d5839043cff9de432abd6a73e744 100644
--- a/third-party/cherryusb/osal/usb_config.h
+++ b/third-party/cherryusb/osal/usb_config.h
@@ -107,7 +107,7 @@ void *usb_hc_malloc_align(size_t align, size_t size);
/* ================ USB HOST Stack Configuration ================== */
-#define CONFIG_USBHOST_MAX_RHPORTS 2
+#define CONFIG_USBHOST_MAX_RHPORTS 8
#define CONFIG_USBHOST_MAX_EXTHUBS 2
#define CONFIG_USBHOST_MAX_EHPORTS 4
#define CONFIG_USBHOST_MAX_INTERFACES 6
diff --git a/third-party/cherryusb/osal/usb_osal_freertos.c b/third-party/cherryusb/osal/usb_osal_freertos.c
index e33bf39de4a7debbb2c9e56f0839cd063d95e7ef..7a055aba6c8cfc41a7f13637e7864559568ed25c 100644
--- a/third-party/cherryusb/osal/usb_osal_freertos.c
+++ b/third-party/cherryusb/osal/usb_osal_freertos.c
@@ -4,11 +4,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
-#if defined(__aarch64__)
-#include "faarch64.h"
-#else
-#include "faarch32.h"
-#endif
+#include "faarch.h"
#include "usb_osal.h"
#include "usb_errno.h"
diff --git a/third-party/cherryusb/port/xhci/xhci_dbg.c b/third-party/cherryusb/port/xhci/xhci_dbg.c
index a828219991965a42dcd65d7c7393ee32585e30d5..f8d6f370e265f884c1f570db58d5531340b7bb44 100644
--- a/third-party/cherryusb/port/xhci/xhci_dbg.c
+++ b/third-party/cherryusb/port/xhci/xhci_dbg.c
@@ -40,7 +40,7 @@
#define XHCI_DUMP_EP_CTX 0
#define XHCI_DUMP_INPUT_CTX 0
#define XHCI_DUMP_ENDPOINT 0
-#define XHCI_DUMP_PORT_STATUS 0
+#define XHCI_DUMP_PORT_STATUS 1
/**
* Dump host controller registers
@@ -344,7 +344,8 @@ void xhci_dump_endpoint(const struct xhci_endpoint *ep) {
*/
void xhci_dump_port_status(uint32_t port, uint32_t portsc) {
#if XHCI_DUMP_PORT_STATUS
- USB_LOG_DBG("====port-%d====\n");
+ USB_LOG_DBG("====port-%d====\n", port);
+ USB_LOG_DBG("changed=%d \n", !!(XHCI_PORTSC_CSC & port));
USB_LOG_DBG("connect=%d \n", !!(XHCI_PORTSC_CCS & port));
USB_LOG_DBG("enabled=%d \n", !!(XHCI_PORTSC_PED & port));
USB_LOG_DBG("powered=%d \n", !!(XHCI_PORTSC_PP & port));
diff --git a/third-party/libmetal/metal/system/freertos/ft_platform/sys.c b/third-party/libmetal/metal/system/freertos/ft_platform/sys.c
index f127ed2826ef4fd6bcaa032fd13afabfa7333c26..47ba12f3fa1495d1ae977cff79ca4bf01e0a012d 100644
--- a/third-party/libmetal/metal/system/freertos/ft_platform/sys.c
+++ b/third-party/libmetal/metal/system/freertos/ft_platform/sys.c
@@ -27,9 +27,7 @@
#include
#include
#include
-#ifndef __aarch64__
-#include "faarch32.h"
-#endif
+#include "faarch.h"
#include "fmmu.h"
#include "fcache.h"
diff --git a/third-party/lwip-2.1.2/ports/arch/sys_arch.c b/third-party/lwip-2.1.2/ports/arch/sys_arch.c
index c938a83c785fd1bb6b3f57477c2d118571f5310b..2ed06e10f5068b241f48543b13e65fd66a8fbf57 100644
--- a/third-party/lwip-2.1.2/ports/arch/sys_arch.c
+++ b/third-party/lwip-2.1.2/ports/arch/sys_arch.c
@@ -31,12 +31,7 @@
#include "lwip/sys.h"
#include "lwip/mem.h"
#include "lwip/stats.h"
-
-#ifdef __aarch64__
- #include "faarch64.h"
-#else
- #include "faarch32.h"
-#endif
+#include "faarch.h"
#include "fdebug.h"