diff --git a/README.md b/README.md
index ce07c05dc..ef8f70547 100644
--- a/README.md
+++ b/README.md
@@ -36,8 +36,6 @@ release 分支:发布分支,包含核心启动代码、芯片外设驱动、
├── README.md --> 使用说明
├── arch
│ └── armv8 --> 架构相关
-├── baremetal
-│ └── example --> 裸机例程
├── board
│ ├── e2000d_demo
│ ├── e2000q_demo
@@ -50,38 +48,30 @@ release 分支:发布分支,包含核心启动代码、芯片外设驱动、
│ ├── fprintf.h
│ ├── fsleep.c
│ └── fsleep.h --> 通用方法
-├── configs
-│ ├── ft2004_aarch32_defconfig
-│ └── ft2004_aarch64_defconfig --> 各平台默认配置
├── doc
│ ├── ChangeLog.md --> 修改记录
│ └── reference --> 接口说明文档
├── drivers
│ ├── can
│ ├── dma
+│ ├── ...
│ └── watchdog --> 外设驱动
-├── install.py --> 安装脚本
+├── example --> 裸机例程
├── lib
│ ├── Kconfiglib
-│ ├── lib.mk
-│ ├── libc
-│ └── nostdlib --> 依赖库
-├── make
-│ ├── build_baremetal.mk
-│ ├── buildinfo.mk
-│ ├── complier.mk
-│ └── preconfig.mk --> 编译脚本和链接脚本
-├── requirements.txt --> python环境依赖组件
+│ └── libc --> 依赖库
├── scripts
├── soc
│ ├── d2000
│ ├── e2000
│ ├── phytiumpi
│ └── ft2004 --> soc平台相关
-├── standalone.mk
├── third-party
│ └── letter-shell-3.1 --> 第三方库
├── tools
+├── install.py --> 安装脚本
+└── requirements.txt --> python环境依赖组件
+
```
---
@@ -175,7 +165,7 @@ D2000 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个
- 2路 DisplayPort1.4 接口
- 集成常用低速接口:WDT、DMAC、PWM、QSPI、SD/SDIO/eMMC、SPI Master、UART、I2C、MIO、I3C、PMBUS、GPIO、SGPIO、One-Wire、Timer、One-Wire
-### 3.5 PHYTIUMPI
+### 3.6 PHYTIUMPI
- PHYTIUMPI 集成2个FTC664核和2个FTC310核。主要技术特征如下:
- FTC664 核主频可达 1.8GHz,FTC310 核主频可达 1.5GHz
@@ -224,7 +214,7 @@ D2000 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个
| Network | Platform Supported | Platform Developing | Component |
| -------------------| ------------------------------------------| ------------------------------------ | ---------------------- |
-| LWIP | FT2000/4
E2000
D2000
PHYTIUMPI| | lwip_startup |
+| LWIP | FT2000/4
D2000
E2000
PHYTIUMPI| | lwip_startup |
| RAW | FT2000/4
E2000
D2000
PHYTIUMPI| | raw_api |
| Storage | Platform Supported | Platform Developing | Component |
@@ -236,7 +226,7 @@ D2000 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个
| System | Platform Supported | Platform Developing | Component |
| -------------------| ------------------------------------------| ------------------------------------ | ---------------------- |
| LIBMETAL | E2000
D2000
PHYTIUMPI | FT2000/4 | amp/libmetal_test |
-| AMP | FT2000/4
E2000
D2000
PHYTIUMPI| | amp/openamp |
+| AMP | E2000
PHYTIUMPI | FT2000/4
D2000 | amp/openamp |
| PSCI | FT2000/4
E2000
D2000
PHYTIUMPI| | arch/armv8/psci |
| SCMI | E2000 | | scmi_mhu |
| ATOMIC | FT2000/4
E2000
D2000
PHYTIUMPI| | atomic |
diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md
index fe3a794df..4e8f90319 100644
--- a/doc/ChangeLog.md
+++ b/doc/ChangeLog.md
@@ -1,3 +1,60 @@
+# Phytium Standalone SDK 2023-8-30 v1.2.0 ChangeLog
+
+Change Log since 2023-8-29
+
+## README.md
+
+- Update the doc
+
+# Phytium Standalone SDK 2023-8-30 ChangeLog
+
+Change Log since 2023-8-29
+
+## driver
+
+- modify the driver lib to adapt the new compile
+
+## tools
+
+- add some config to generate the driver lib
+
+# Phytium Standalone SDK 2023-8-29 ChangeLog
+
+Change Log since 2023-8-25
+
+## example
+
+- modify example configs including lwip-startup,gicv3,pcie,tacho and psci.
+- add makefile about psci.
+- modify readme.md about sata.
+- add FtOut16 api call in sdio_tf_read example.
+
+# Phytium Standalone SDK 2023-8-29 ChangeLog
+
+Change Log since 2023-8-28
+
+## example
+
+- modify example configs
+
+- modify pwm, sfud example
+
+# Phytium Standalone SDK 2023-8-28 ChangeLog
+
+Change Log since 2023-8-28
+
+## example
+
+- modify example configs
+
+# Phytium Standalone SDK 2023-8-28 ChangeLog
+
+Change Log since 2023-8-24
+
+## tool
+
+- fix bug of build *.bin
+
# Phytium Standalone SDK 2023-8-24 ChangeLog
Change Log since 2023-8-24
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index cec2cf2e3..19625d149 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -1,22 +1,24 @@
-
menu "Media Configuration"
+ choice
+ prompt "choice fmedia driver "
+ config ENABLE_FMEDIA
+ bool
+ prompt "Use FMEDIA"
+
+ if ENABLE_FMEDIA
config ENABLE_FDC_DP
- bool
- prompt "USE FMEDIA"
- default n
- help
- Select fdcdp driver component
+ bool
+ prompt "USE FMEDIA"
config ENABLE_FDC_DP_USE_LIB
- bool
- prompt "USE FMEDIA LIB TO LINK"
- default n
- help
- Select fdcdp driver component
-
+ bool
+ prompt "USE FMEDIA LIB TO LINK"
-endmenu
+ endif
+endchoice
+
+endmenu
diff --git a/drivers/media/fdcdp_lib/fdcdp_standalone_a32.a b/drivers/media/fdcdp_lib/fdcdp_standalone_a32.a
index 2e3af146c..ad02c5e09 100644
Binary files a/drivers/media/fdcdp_lib/fdcdp_standalone_a32.a and b/drivers/media/fdcdp_lib/fdcdp_standalone_a32.a differ
diff --git a/drivers/media/fdcdp_lib/fdcdp_standalone_a64.a b/drivers/media/fdcdp_lib/fdcdp_standalone_a64.a
index ad36081ed..6f8c6b044 100644
Binary files a/drivers/media/fdcdp_lib/fdcdp_standalone_a64.a and b/drivers/media/fdcdp_lib/fdcdp_standalone_a64.a differ
diff --git a/example/media/lvgl_demo_test/configs/e2000d_aarch32_demo_media.config b/example/media/lvgl_demo_test/configs/e2000d_aarch32_demo_media.config
index 79ba86f32..f4dde8c04 100644
--- a/example/media/lvgl_demo_test/configs/e2000d_aarch32_demo_media.config
+++ b/example/media/lvgl_demo_test/configs/e2000d_aarch32_demo_media.config
@@ -27,7 +27,7 @@ CONFIG_ARCH_EXECUTION_STATE="aarch32"
# CONFIG_ARCH_FPU_VFP_V3 is not set
CONFIG_ARCH_FPU_VFP_V4=y
CONFIG_ARM_DPFPU32=y
-CONFIG_ARM_FPU_ABI_SOFT=y
+# CONFIG_ARM_FPU_ABI_SOFT is not set
CONFIG_ARM_FPU_SYMBOL="crypto-neon-fp-armv8"
CONFIG_ARM_NEON=y
CONFIG_ARCH_FPU=y
@@ -157,6 +157,7 @@ CONFIG_USE_MEDIA=y
#
# Media Configuration
#
+CONFIG_ENABLE_FMEDIA=y
# CONFIG_ENABLE_FDC_DP is not set
CONFIG_ENABLE_FDC_DP_USE_LIB=y
# end of Media Configuration
diff --git a/example/media/lvgl_demo_test/configs/e2000d_aarch64_demo_media.config b/example/media/lvgl_demo_test/configs/e2000d_aarch64_demo_media.config
index 84976c96a..2f00a2112 100644
--- a/example/media/lvgl_demo_test/configs/e2000d_aarch64_demo_media.config
+++ b/example/media/lvgl_demo_test/configs/e2000d_aarch64_demo_media.config
@@ -159,6 +159,7 @@ CONFIG_USE_MEDIA=y
#
# Media Configuration
#
+CONFIG_ENABLE_FMEDIA=y
# CONFIG_ENABLE_FDC_DP is not set
CONFIG_ENABLE_FDC_DP_USE_LIB=y
# end of Media Configuration
diff --git a/example/media/lvgl_demo_test/configs/e2000q_aarch32_demo_media.config b/example/media/lvgl_demo_test/configs/e2000q_aarch32_demo_media.config
index 72c224c5a..af21ecebf 100644
--- a/example/media/lvgl_demo_test/configs/e2000q_aarch32_demo_media.config
+++ b/example/media/lvgl_demo_test/configs/e2000q_aarch32_demo_media.config
@@ -27,7 +27,7 @@ CONFIG_ARCH_EXECUTION_STATE="aarch32"
# CONFIG_ARCH_FPU_VFP_V3 is not set
CONFIG_ARCH_FPU_VFP_V4=y
CONFIG_ARM_DPFPU32=y
-CONFIG_ARM_FPU_ABI_SOFT=y
+# CONFIG_ARM_FPU_ABI_SOFT is not set
CONFIG_ARM_FPU_SYMBOL="crypto-neon-fp-armv8"
CONFIG_ARM_NEON=y
CONFIG_ARCH_FPU=y
@@ -156,6 +156,7 @@ CONFIG_USE_MEDIA=y
#
# Media Configuration
#
+CONFIG_ENABLE_FMEDIA=y
# CONFIG_ENABLE_FDC_DP is not set
CONFIG_ENABLE_FDC_DP_USE_LIB=y
# end of Media Configuration
diff --git a/example/media/lvgl_demo_test/configs/e2000q_aarch64_demo_media.config b/example/media/lvgl_demo_test/configs/e2000q_aarch64_demo_media.config
index 5e9f32135..c1f5464c2 100644
--- a/example/media/lvgl_demo_test/configs/e2000q_aarch64_demo_media.config
+++ b/example/media/lvgl_demo_test/configs/e2000q_aarch64_demo_media.config
@@ -158,6 +158,7 @@ CONFIG_USE_MEDIA=y
#
# Media Configuration
#
+CONFIG_ENABLE_FMEDIA=y
# CONFIG_ENABLE_FDC_DP is not set
CONFIG_ENABLE_FDC_DP_USE_LIB=y
# end of Media Configuration
diff --git a/example/media/lvgl_demo_test/configs/phytiumpi_aarch32_firefly_media.config b/example/media/lvgl_demo_test/configs/phytiumpi_aarch32_firefly_media.config
index 0c108e0d1..cd587f922 100644
--- a/example/media/lvgl_demo_test/configs/phytiumpi_aarch32_firefly_media.config
+++ b/example/media/lvgl_demo_test/configs/phytiumpi_aarch32_firefly_media.config
@@ -27,7 +27,7 @@ CONFIG_ARCH_EXECUTION_STATE="aarch32"
# CONFIG_ARCH_FPU_VFP_V3 is not set
CONFIG_ARCH_FPU_VFP_V4=y
CONFIG_ARM_DPFPU32=y
-CONFIG_ARM_FPU_ABI_SOFT=y
+# CONFIG_ARM_FPU_ABI_SOFT is not set
CONFIG_ARM_FPU_SYMBOL="crypto-neon-fp-armv8"
CONFIG_ARM_NEON=y
CONFIG_ARCH_FPU=y
@@ -155,6 +155,7 @@ CONFIG_USE_MEDIA=y
#
# Media Configuration
#
+CONFIG_ENABLE_FMEDIA=y
# CONFIG_ENABLE_FDC_DP is not set
CONFIG_ENABLE_FDC_DP_USE_LIB=y
# end of Media Configuration
diff --git a/example/media/lvgl_demo_test/configs/phytiumpi_aarch64_firefly_media.config b/example/media/lvgl_demo_test/configs/phytiumpi_aarch64_firefly_media.config
index 4201f1618..2b1c7cb1f 100644
--- a/example/media/lvgl_demo_test/configs/phytiumpi_aarch64_firefly_media.config
+++ b/example/media/lvgl_demo_test/configs/phytiumpi_aarch64_firefly_media.config
@@ -157,6 +157,7 @@ CONFIG_USE_MEDIA=y
#
# Media Configuration
#
+CONFIG_ENABLE_FMEDIA=y
# CONFIG_ENABLE_FDC_DP is not set
CONFIG_ENABLE_FDC_DP_USE_LIB=y
# end of Media Configuration
diff --git a/example/media/lvgl_demo_test/sdkconfig b/example/media/lvgl_demo_test/sdkconfig
index 4201f1618..2b1c7cb1f 100644
--- a/example/media/lvgl_demo_test/sdkconfig
+++ b/example/media/lvgl_demo_test/sdkconfig
@@ -157,6 +157,7 @@ CONFIG_USE_MEDIA=y
#
# Media Configuration
#
+CONFIG_ENABLE_FMEDIA=y
# CONFIG_ENABLE_FDC_DP is not set
CONFIG_ENABLE_FDC_DP_USE_LIB=y
# end of Media Configuration
diff --git a/example/media/lvgl_demo_test/sdkconfig.h b/example/media/lvgl_demo_test/sdkconfig.h
index df6aa263d..b109f3e72 100644
--- a/example/media/lvgl_demo_test/sdkconfig.h
+++ b/example/media/lvgl_demo_test/sdkconfig.h
@@ -143,6 +143,7 @@
/* Media Configuration */
+#define CONFIG_ENABLE_FMEDIA
/* CONFIG_ENABLE_FDC_DP is not set */
#define CONFIG_ENABLE_FDC_DP_USE_LIB
/* end of Media Configuration */
diff --git a/example/media/media_test/configs/e2000d_aarch32_demo_media.config b/example/media/media_test/configs/e2000d_aarch32_demo_media.config
index 92c7edcf3..16db21153 100644
--- a/example/media/media_test/configs/e2000d_aarch32_demo_media.config
+++ b/example/media/media_test/configs/e2000d_aarch32_demo_media.config
@@ -27,7 +27,7 @@ CONFIG_ARCH_EXECUTION_STATE="aarch32"
# CONFIG_ARCH_FPU_VFP_V3 is not set
CONFIG_ARCH_FPU_VFP_V4=y
CONFIG_ARM_DPFPU32=y
-CONFIG_ARM_FPU_ABI_SOFT=y
+# CONFIG_ARM_FPU_ABI_SOFT is not set
CONFIG_ARM_FPU_SYMBOL="crypto-neon-fp-armv8"
CONFIG_ARM_NEON=y
CONFIG_ARCH_FPU=y
@@ -156,6 +156,7 @@ CONFIG_USE_MEDIA=y
#
# Media Configuration
#
+CONFIG_ENABLE_FMEDIA=y
# CONFIG_ENABLE_FDC_DP is not set
CONFIG_ENABLE_FDC_DP_USE_LIB=y
# end of Media Configuration
diff --git a/example/media/media_test/configs/e2000d_aarch64_demo_media.config b/example/media/media_test/configs/e2000d_aarch64_demo_media.config
index 3e1aa820b..a61a19949 100644
--- a/example/media/media_test/configs/e2000d_aarch64_demo_media.config
+++ b/example/media/media_test/configs/e2000d_aarch64_demo_media.config
@@ -158,6 +158,7 @@ CONFIG_USE_MEDIA=y
#
# Media Configuration
#
+CONFIG_ENABLE_FMEDIA=y
# CONFIG_ENABLE_FDC_DP is not set
CONFIG_ENABLE_FDC_DP_USE_LIB=y
# end of Media Configuration
diff --git a/example/media/media_test/configs/e2000q_aarch32_demo_media.config b/example/media/media_test/configs/e2000q_aarch32_demo_media.config
index cd527775d..2eb8b396b 100644
--- a/example/media/media_test/configs/e2000q_aarch32_demo_media.config
+++ b/example/media/media_test/configs/e2000q_aarch32_demo_media.config
@@ -27,7 +27,7 @@ CONFIG_ARCH_EXECUTION_STATE="aarch32"
# CONFIG_ARCH_FPU_VFP_V3 is not set
CONFIG_ARCH_FPU_VFP_V4=y
CONFIG_ARM_DPFPU32=y
-CONFIG_ARM_FPU_ABI_SOFT=y
+# CONFIG_ARM_FPU_ABI_SOFT is not set
CONFIG_ARM_FPU_SYMBOL="crypto-neon-fp-armv8"
CONFIG_ARM_NEON=y
CONFIG_ARCH_FPU=y
@@ -155,6 +155,7 @@ CONFIG_USE_MEDIA=y
#
# Media Configuration
#
+CONFIG_ENABLE_FMEDIA=y
# CONFIG_ENABLE_FDC_DP is not set
CONFIG_ENABLE_FDC_DP_USE_LIB=y
# end of Media Configuration
diff --git a/example/media/media_test/configs/e2000q_aarch64_demo_media.config b/example/media/media_test/configs/e2000q_aarch64_demo_media.config
index d96453b3c..30ad55e1e 100644
--- a/example/media/media_test/configs/e2000q_aarch64_demo_media.config
+++ b/example/media/media_test/configs/e2000q_aarch64_demo_media.config
@@ -157,6 +157,7 @@ CONFIG_USE_MEDIA=y
#
# Media Configuration
#
+CONFIG_ENABLE_FMEDIA=y
# CONFIG_ENABLE_FDC_DP is not set
CONFIG_ENABLE_FDC_DP_USE_LIB=y
# end of Media Configuration
diff --git a/example/media/media_test/configs/phytiumpi_aarch32_firefly_media.config b/example/media/media_test/configs/phytiumpi_aarch32_firefly_media.config
index a3a2f7f11..bffaa4b47 100644
--- a/example/media/media_test/configs/phytiumpi_aarch32_firefly_media.config
+++ b/example/media/media_test/configs/phytiumpi_aarch32_firefly_media.config
@@ -27,7 +27,7 @@ CONFIG_ARCH_EXECUTION_STATE="aarch32"
# CONFIG_ARCH_FPU_VFP_V3 is not set
CONFIG_ARCH_FPU_VFP_V4=y
CONFIG_ARM_DPFPU32=y
-CONFIG_ARM_FPU_ABI_SOFT=y
+# CONFIG_ARM_FPU_ABI_SOFT is not set
CONFIG_ARM_FPU_SYMBOL="crypto-neon-fp-armv8"
CONFIG_ARM_NEON=y
CONFIG_ARCH_FPU=y
@@ -154,6 +154,7 @@ CONFIG_USE_MEDIA=y
#
# Media Configuration
#
+CONFIG_ENABLE_FMEDIA=y
# CONFIG_ENABLE_FDC_DP is not set
CONFIG_ENABLE_FDC_DP_USE_LIB=y
# end of Media Configuration
diff --git a/example/media/media_test/configs/phytiumpi_aarch64_firefly_media.config b/example/media/media_test/configs/phytiumpi_aarch64_firefly_media.config
index 8be58e3a9..7c74c0577 100644
--- a/example/media/media_test/configs/phytiumpi_aarch64_firefly_media.config
+++ b/example/media/media_test/configs/phytiumpi_aarch64_firefly_media.config
@@ -156,6 +156,7 @@ CONFIG_USE_MEDIA=y
#
# Media Configuration
#
+CONFIG_ENABLE_FMEDIA=y
# CONFIG_ENABLE_FDC_DP is not set
CONFIG_ENABLE_FDC_DP_USE_LIB=y
# end of Media Configuration
diff --git a/example/media/media_test/sdkconfig b/example/media/media_test/sdkconfig
index 8be58e3a9..7c74c0577 100644
--- a/example/media/media_test/sdkconfig
+++ b/example/media/media_test/sdkconfig
@@ -156,6 +156,7 @@ CONFIG_USE_MEDIA=y
#
# Media Configuration
#
+CONFIG_ENABLE_FMEDIA=y
# CONFIG_ENABLE_FDC_DP is not set
CONFIG_ENABLE_FDC_DP_USE_LIB=y
# end of Media Configuration
diff --git a/example/media/media_test/sdkconfig.h b/example/media/media_test/sdkconfig.h
index a4027b66d..f60c5dc98 100644
--- a/example/media/media_test/sdkconfig.h
+++ b/example/media/media_test/sdkconfig.h
@@ -142,6 +142,7 @@
/* Media Configuration */
+#define CONFIG_ENABLE_FMEDIA
/* CONFIG_ENABLE_FDC_DP is not set */
#define CONFIG_ENABLE_FDC_DP_USE_LIB
/* end of Media Configuration */
diff --git a/example/network/lwip_startup/configs/e2000d_aarch32_demo_lwip.config b/example/network/lwip_startup/configs/e2000d_aarch32_demo_lwip.config
index 2291f9183..52d2886c8 100644
--- a/example/network/lwip_startup/configs/e2000d_aarch32_demo_lwip.config
+++ b/example/network/lwip_startup/configs/e2000d_aarch32_demo_lwip.config
@@ -245,7 +245,13 @@ CONFIG_LWIP_MAX_RAW_PCBS=16
#
# DHCP
#
-# CONFIG_LWIP_DHCP_ENABLE is not set
+CONFIG_LWIP_DHCP_ENABLE=y
+# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set
+# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
+# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
+# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
+CONFIG_LWIP_DHCP_OPTIONS_LEN=68
+CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
# end of DHCP
#
diff --git a/example/network/lwip_startup/configs/e2000d_aarch64_demo_lwip.config b/example/network/lwip_startup/configs/e2000d_aarch64_demo_lwip.config
index dd978a5b8..cc745a5e8 100644
--- a/example/network/lwip_startup/configs/e2000d_aarch64_demo_lwip.config
+++ b/example/network/lwip_startup/configs/e2000d_aarch64_demo_lwip.config
@@ -247,7 +247,13 @@ CONFIG_LWIP_MAX_RAW_PCBS=16
#
# DHCP
#
-# CONFIG_LWIP_DHCP_ENABLE is not set
+CONFIG_LWIP_DHCP_ENABLE=y
+# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set
+# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
+# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
+# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
+CONFIG_LWIP_DHCP_OPTIONS_LEN=68
+CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
# end of DHCP
#
diff --git a/example/network/lwip_startup/configs/e2000q_aarch32_demo_lwip.config b/example/network/lwip_startup/configs/e2000q_aarch32_demo_lwip.config
index 29549bd1b..ae3453643 100644
--- a/example/network/lwip_startup/configs/e2000q_aarch32_demo_lwip.config
+++ b/example/network/lwip_startup/configs/e2000q_aarch32_demo_lwip.config
@@ -244,7 +244,13 @@ CONFIG_LWIP_MAX_RAW_PCBS=16
#
# DHCP
#
-# CONFIG_LWIP_DHCP_ENABLE is not set
+CONFIG_LWIP_DHCP_ENABLE=y
+# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set
+# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
+# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
+# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
+CONFIG_LWIP_DHCP_OPTIONS_LEN=68
+CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
# end of DHCP
#
diff --git a/example/network/lwip_startup/configs/e2000q_aarch64_demo_lwip.config b/example/network/lwip_startup/configs/e2000q_aarch64_demo_lwip.config
index abbe2f434..fb2a0203f 100644
--- a/example/network/lwip_startup/configs/e2000q_aarch64_demo_lwip.config
+++ b/example/network/lwip_startup/configs/e2000q_aarch64_demo_lwip.config
@@ -246,7 +246,13 @@ CONFIG_LWIP_MAX_RAW_PCBS=16
#
# DHCP
#
-# CONFIG_LWIP_DHCP_ENABLE is not set
+CONFIG_LWIP_DHCP_ENABLE=y
+# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set
+# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
+# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
+# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
+CONFIG_LWIP_DHCP_OPTIONS_LEN=68
+CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
# end of DHCP
#
diff --git a/example/peripherals/gicv3/configs/phytiumpi_aarch32_firefly_boot.config b/example/peripherals/gicv3/configs/phytiumpi_aarch32_firefly_boot.config
index 05997f7e1..6772c4a2d 100644
--- a/example/peripherals/gicv3/configs/phytiumpi_aarch32_firefly_boot.config
+++ b/example/peripherals/gicv3/configs/phytiumpi_aarch32_firefly_boot.config
@@ -37,6 +37,7 @@ CONFIG_ARCH_FPU=y
CONFIG_USE_CACHE=y
CONFIG_USE_MMU=y
CONFIG_USE_AARCH64_L1_TO_AARCH32=y
+CONFIG_FPEN=y
# end of Arm architecture configuration
# end of Arch configuration
diff --git a/example/peripherals/gicv3/master/configs/e2000q_aarch32_demo_gic_master.config b/example/peripherals/gicv3/master/configs/e2000q_aarch32_demo_gic_master.config
index 53a129f1f..d98360d3e 100644
--- a/example/peripherals/gicv3/master/configs/e2000q_aarch32_demo_gic_master.config
+++ b/example/peripherals/gicv3/master/configs/e2000q_aarch32_demo_gic_master.config
@@ -36,7 +36,7 @@ CONFIG_ARCH_FPU=y
CONFIG_USE_CACHE=y
CONFIG_USE_MMU=y
-CONFIG_USE_AARCH64_L1_TO_AARCH32=y
+# CONFIG_USE_AARCH64_L1_TO_AARCH32 is not set
CONFIG_FPEN=y
# end of Arm architecture configuration
# end of Arch configuration
diff --git a/example/peripherals/gicv3/master/configs/phytiumpi_aarch32_firefly_gic_master.config b/example/peripherals/gicv3/master/configs/phytiumpi_aarch32_firefly_gic_master.config
index 8bb95ec7c..97dfc0a63 100644
--- a/example/peripherals/gicv3/master/configs/phytiumpi_aarch32_firefly_gic_master.config
+++ b/example/peripherals/gicv3/master/configs/phytiumpi_aarch32_firefly_gic_master.config
@@ -36,7 +36,7 @@ CONFIG_ARCH_FPU=y
CONFIG_USE_CACHE=y
CONFIG_USE_MMU=y
-CONFIG_USE_AARCH64_L1_TO_AARCH32=y
+# CONFIG_USE_AARCH64_L1_TO_AARCH32 is not set
CONFIG_FPEN=y
# end of Arm architecture configuration
# end of Arch configuration
diff --git a/example/peripherals/gicv3/slave/configs/e2000q_aarch32_demo_gic_slave.config b/example/peripherals/gicv3/slave/configs/e2000q_aarch32_demo_gic_slave.config
index cdfdeaa15..ccd2d9ce6 100644
--- a/example/peripherals/gicv3/slave/configs/e2000q_aarch32_demo_gic_slave.config
+++ b/example/peripherals/gicv3/slave/configs/e2000q_aarch32_demo_gic_slave.config
@@ -36,7 +36,7 @@ CONFIG_ARCH_FPU=y
CONFIG_USE_CACHE=y
CONFIG_USE_MMU=y
-CONFIG_USE_AARCH64_L1_TO_AARCH32=y
+# CONFIG_USE_AARCH64_L1_TO_AARCH32 is not set
CONFIG_FPEN=y
# end of Arm architecture configuration
# end of Arch configuration
diff --git a/example/peripherals/gicv3/slave/configs/phytiumpi_aarch32_firefly_gic_slave.config b/example/peripherals/gicv3/slave/configs/phytiumpi_aarch32_firefly_gic_slave.config
index 136cdb4cf..8abdf32f9 100644
--- a/example/peripherals/gicv3/slave/configs/phytiumpi_aarch32_firefly_gic_slave.config
+++ b/example/peripherals/gicv3/slave/configs/phytiumpi_aarch32_firefly_gic_slave.config
@@ -36,7 +36,7 @@ CONFIG_ARCH_FPU=y
CONFIG_USE_CACHE=y
CONFIG_USE_MMU=y
-CONFIG_USE_AARCH64_L1_TO_AARCH32=y
+# CONFIG_USE_AARCH64_L1_TO_AARCH32 is not set
CONFIG_FPEN=y
# end of Arm architecture configuration
# end of Arch configuration
diff --git a/example/peripherals/pin/README.md b/example/peripherals/pin/README.md
index fa2bae9e8..a5b6174d6 100644
--- a/example/peripherals/pin/README.md
+++ b/example/peripherals/pin/README.md
@@ -7,7 +7,7 @@
本例程示范了example中的PIN功能使用:
-- 此例程已在E2000D Demo 板上完成测试
+- 此例程已在E2000D Demo板,PhytiumPi上完成测试
### 1.1 GPIO中断触发测试例程 (pin_gpio_intr_example.c)
- E2000 集成 6 个 GPIO 控制器,提供 96 个 GPIO 信号,支持外部中断功能,每路中断信号没有优先级区分,并产生一个统一的中断报送到全芯片的中断管理模块。在中断管理模块内可针对 GPIO0~5 两路中断设置不同的优先级。支持中断单独屏蔽和清除。GPIO0~2 的每位中断单独上报,GPIO3~5的中断由模块内和成一个中断上报
- 板上的 GPIO 引脚往往被设置了复用功能,使用前需要通过软件编程手册查阅复用设置
@@ -32,7 +32,7 @@
本例程需要以下硬件,
-- E2000D Demo 板
+- E2000D Demo 板,PhytiumPi.
- 串口线和串口上位机
- 逻辑分析仪
diff --git a/example/peripherals/pwm/inc/pwm_common.h b/example/peripherals/pwm/inc/pwm_common.h
index 3fb507736..f0c6dbadf 100644
--- a/example/peripherals/pwm/inc/pwm_common.h
+++ b/example/peripherals/pwm/inc/pwm_common.h
@@ -44,6 +44,12 @@ extern "C"
/* pwm pulse amplitude of periodic variation */
#define PWM_PULSE_CHANGE 1000
+#ifdef CONFIG_TARGET_PHYTIUMPI
+#define PWM_TEST_ID FPWM2_ID
+#else
+#define PWM_TEST_ID FPWM6_ID
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/example/peripherals/pwm/src/pwm_dead_band_example.c b/example/peripherals/pwm/src/pwm_dead_band_example.c
index 5de33de49..65aa644d7 100644
--- a/example/peripherals/pwm/src/pwm_dead_band_example.c
+++ b/example/peripherals/pwm/src/pwm_dead_band_example.c
@@ -59,7 +59,7 @@ static FPwmConfig pwm_config;
int FPwmDeadBandExample()
{
u32 ret = FPWM_SUCCESS;
- u32 pwm_id = FPWM2_ID;
+ u32 pwm_id = PWM_TEST_ID;
FPwmVariableConfig pwm_cfg;
FPwmDbVariableConfig db_cfg;
diff --git a/example/peripherals/pwm/src/pwm_dual_channel_example.c b/example/peripherals/pwm/src/pwm_dual_channel_example.c
index e43fd6732..ac1d5f7ec 100644
--- a/example/peripherals/pwm/src/pwm_dual_channel_example.c
+++ b/example/peripherals/pwm/src/pwm_dual_channel_example.c
@@ -151,15 +151,15 @@ static void FPwmIrqSet(FPwmCtrl *instance_p, u32 channel)
int FPwmDualChannelExample()
{
u32 ret = FPWM_SUCCESS;
- u32 pwm_id = FPWM2_ID;
+ u32 pwm_id = PWM_TEST_ID;
FPwmVariableConfig pwm_cfg;
#if defined(TARDIGRADE)
FMioPwmInit();
#else
/*set channel 0 and 1 iopad*/
- FIOPadSetPwmMux(FPWM7_ID, 0);
- FIOPadSetPwmMux(FPWM7_ID, 1);
+ FIOPadSetPwmMux(pwm_id, 0);
+ FIOPadSetPwmMux(pwm_id, 1);
/*init pwm config*/
memset(&pwm_ctrl, 0, sizeof(pwm_ctrl));
diff --git a/example/peripherals/sata/sata_controller/README.md b/example/peripherals/sata/sata_controller/README.md
index 91d4bb81b..718b7b3cb 100644
--- a/example/peripherals/sata/sata_controller/README.md
+++ b/example/peripherals/sata/sata_controller/README.md
@@ -96,13 +96,13 @@ bootelf -p 0x90100000
>描述输入输出情况,列出存在哪些输出,对应的输出是什么(建议附录相关现象图片)
-#### 2.4.1 SATA CONTROLLER PIO模式读写测试例程测试例程
+#### 2.4.1 SATA CONTROLLER PIO模式读写测试例程
```
$ fsata pio
```
![fsata_pio](./fig/fsata_pio.png)
-#### 2.4.2 SATA CONTROLLER FPDMA模式读写测试例程测试例程
+#### 2.4.2 SATA CONTROLLER FPDMA模式读写测试例程
```
$ fsata fpdma
```
diff --git a/example/peripherals/sata/sata_pcie/README.md b/example/peripherals/sata/sata_pcie/README.md
index 53fa342ec..48f9d672b 100644
--- a/example/peripherals/sata/sata_pcie/README.md
+++ b/example/peripherals/sata/sata_pcie/README.md
@@ -98,13 +98,13 @@ bootelf -p 0x90100000
>描述输入输出情况,列出存在哪些输出,对应的输出是什么(建议附录相关现象图片)
-#### 2.4.1 SATA PCIE PIO模式读写测试例程测试例程
+#### 2.4.1 SATA PCIE PIO模式读写测试例程
```
$ psata pio
```
![psata_pio](./fig/psata_pio.png)
-#### 2.4.2 SATA PCIE FPDMA模式读写测试例程测试例程
+#### 2.4.2 SATA PCIE FPDMA模式读写测试例程
```
$ psata fpdma
```
diff --git a/example/peripherals/sd/src/sdio/emmc_detect_example.c b/example/peripherals/sd/src/sdio/emmc_detect_example.c
index 06273eeb8..a24531a6a 100644
--- a/example/peripherals/sd/src/sdio/emmc_detect_example.c
+++ b/example/peripherals/sd/src/sdio/emmc_detect_example.c
@@ -31,7 +31,7 @@
#include "fassert.h"
#include "fparameters.h"
#include "fsleep.h"
-
+#include "fio.h"
#include "sdkconfig.h"
#ifndef SDK_CONFIG_H__
#warning "Please include sdkconfig.h"
@@ -74,6 +74,7 @@ int FEmmcDetectExample(void)
emmc_card_config.slot = FSDIO0_ID;
emmc_card_config.type = SDMMC_HOST_TYPE_FSDIO;
emmc_card_config.bus_speed_mode = SDMMC_SDR_25;
+
if (SD_WORK_DMA) /* data transfer type, by fifo wr or DMA */
{
diff --git a/example/peripherals/sd/src/sdio/sdio_tf_read_write_example.c b/example/peripherals/sd/src/sdio/sdio_tf_read_write_example.c
index 4929fd005..75eff0e1b 100644
--- a/example/peripherals/sd/src/sdio/sdio_tf_read_write_example.c
+++ b/example/peripherals/sd/src/sdio/sdio_tf_read_write_example.c
@@ -93,9 +93,9 @@ int FSdioTfCardReadWriteExample(void)
tf_card_config.slot = SD_CONTROLLER_ID;
tf_card_config.type = SDMMC_HOST_TYPE_FSDIO;
tf_card_config.flags = SDMMC_HOST_REMOVABLE_CARD; /* TF card is removable on board */
- tf_card_config.bus_speed_mode = SD_BUS_SPEED_MODE;
+ tf_card_config.bus_speed_mode = SD_BUS_SPEED_MODE;
- FtOut32((uintptr)0x32b31178, 0x1f); /* set delay of SDIO-1 on E2000 Demo otherwise detect may fail */
+ FtOut16((uintptr)0x32b31178, 0x001f); /* set delay of SDIO-1 on E2000 Demo otherwise detect may fail */
if (TF_WORK_DMA) /* data transfer type, by fifo wr or DMA */
{
diff --git a/example/peripherals/timer/tacho/configs/e2000d_aarch32_demo_tacho.config b/example/peripherals/timer/tacho/configs/e2000d_aarch32_demo_tacho.config
index 00e54e33a..fa74ff19d 100644
--- a/example/peripherals/timer/tacho/configs/e2000d_aarch32_demo_tacho.config
+++ b/example/peripherals/timer/tacho/configs/e2000d_aarch32_demo_tacho.config
@@ -167,7 +167,17 @@ CONFIG_ENABLE_TIMER_TACHO=y
# Third-party configuration
#
# CONFIG_USE_LWIP is not set
-# CONFIG_USE_LETTER_SHELL 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_SDMMC_CMD is not set
# CONFIG_USE_YMODEM is not set
diff --git a/example/peripherals/timer/tacho/configs/e2000d_aarch64_demo_tacho.config b/example/peripherals/timer/tacho/configs/e2000d_aarch64_demo_tacho.config
index 14b1c4fae..28ca88b09 100644
--- a/example/peripherals/timer/tacho/configs/e2000d_aarch64_demo_tacho.config
+++ b/example/peripherals/timer/tacho/configs/e2000d_aarch64_demo_tacho.config
@@ -169,7 +169,17 @@ CONFIG_ENABLE_TIMER_TACHO=y
# Third-party configuration
#
# CONFIG_USE_LWIP is not set
-# CONFIG_USE_LETTER_SHELL 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_SDMMC_CMD is not set
# CONFIG_USE_YMODEM is not set
diff --git a/example/peripherals/timer/tacho/configs/e2000q_aarch32_demo_tacho.config b/example/peripherals/timer/tacho/configs/e2000q_aarch32_demo_tacho.config
index 853a9e8e6..bccf44561 100644
--- a/example/peripherals/timer/tacho/configs/e2000q_aarch32_demo_tacho.config
+++ b/example/peripherals/timer/tacho/configs/e2000q_aarch32_demo_tacho.config
@@ -166,7 +166,17 @@ CONFIG_ENABLE_TIMER_TACHO=y
# Third-party configuration
#
# CONFIG_USE_LWIP is not set
-# CONFIG_USE_LETTER_SHELL 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_SDMMC_CMD is not set
# CONFIG_USE_YMODEM is not set
diff --git a/example/peripherals/timer/tacho/configs/e2000q_aarch64_demo_tacho.config b/example/peripherals/timer/tacho/configs/e2000q_aarch64_demo_tacho.config
index eda60533d..bae2e9fa3 100644
--- a/example/peripherals/timer/tacho/configs/e2000q_aarch64_demo_tacho.config
+++ b/example/peripherals/timer/tacho/configs/e2000q_aarch64_demo_tacho.config
@@ -168,7 +168,17 @@ CONFIG_ENABLE_TIMER_TACHO=y
# Third-party configuration
#
# CONFIG_USE_LWIP is not set
-# CONFIG_USE_LETTER_SHELL 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_SDMMC_CMD is not set
# CONFIG_USE_YMODEM is not set
diff --git a/example/storage/sfud/src/sfud_read_write_example.c b/example/storage/sfud/src/sfud_read_write_example.c
index aa065abe8..a157de253 100644
--- a/example/storage/sfud/src/sfud_read_write_example.c
+++ b/example/storage/sfud/src/sfud_read_write_example.c
@@ -41,7 +41,7 @@
#include "sfud_read_write_example.h"
/***************** Macros (Inline Functions) Definitions *********************/
-#ifdef CONFIG_TARGET_E2000
+#if defined CONFIG_TARGET_E2000Q || defined CONFIG_TARGET_E2000D
#define SFUD_CONTROLLER_ID SFUD_FSPIM2_INDEX /* E2000 Default Use SPI0 id */
#else
#define SFUD_CONTROLLER_ID SFUD_FSPIM0_INDEX /* Default Use SPI0 id */
@@ -84,7 +84,7 @@ int FSfudReadWriteExample(void)
}
else
{
- printf("Sfud init success.\r\n");
+ // printf("Sfud init success.\r\n");
}
flash = sfud_get_device(SFUD_CONTROLLER_ID);
diff --git a/example/storage/sfud/src/sfud_spi_bench_example.c b/example/storage/sfud/src/sfud_spi_bench_example.c
index 8d4401041..011ca813c 100644
--- a/example/storage/sfud/src/sfud_spi_bench_example.c
+++ b/example/storage/sfud/src/sfud_spi_bench_example.c
@@ -42,7 +42,7 @@
#include "sfud_spi_bench_example.h"
/***************** Macros (Inline Functions) Definitions *********************/
-#ifdef CONFIG_TARGET_E2000
+#if defined CONFIG_TARGET_E2000Q || defined CONFIG_TARGET_E2000D
#define SFUD_CONTROLLER_ID SFUD_FSPIM2_INDEX /* E2000 Default Use SPI0 id */
#else
#define SFUD_CONTROLLER_ID SFUD_FSPIM0_INDEX /* Default Use SPI0 id */
diff --git a/example/storage/sfud/src/sfud_spiffs_basic_example.c b/example/storage/sfud/src/sfud_spiffs_basic_example.c
index 9e1813863..73d09d4ad 100644
--- a/example/storage/sfud/src/sfud_spiffs_basic_example.c
+++ b/example/storage/sfud/src/sfud_spiffs_basic_example.c
@@ -50,7 +50,7 @@
#include "sfud_spiffs_basic_example.h"
/***************** Macros (Inline Functions) Definitions *********************/
-#ifdef CONFIG_TARGET_E2000
+#if defined CONFIG_TARGET_E2000Q || defined CONFIG_TARGET_E2000D
#define MOUNT_CONTROLLER_ID SFUD_FSPIM2_INDEX /* E2000 Default Use SPI0 id */
#else
#define MOUNT_CONTROLLER_ID SFUD_FSPIM0_INDEX /* Default Use SPI0 id */
diff --git a/example/storage/sfud/src/sfud_spiffs_mount_example.c b/example/storage/sfud/src/sfud_spiffs_mount_example.c
index 602155aab..058194adf 100644
--- a/example/storage/sfud/src/sfud_spiffs_mount_example.c
+++ b/example/storage/sfud/src/sfud_spiffs_mount_example.c
@@ -49,7 +49,7 @@
#include "sfud_spiffs_mount_example.h"
/***************** Macros (Inline Functions) Definitions *********************/
-#ifdef CONFIG_TARGET_E2000
+#if defined CONFIG_TARGET_E2000Q || defined CONFIG_TARGET_E2000D
#define MOUNT_CONTROLLER_ID SFUD_FSPIM2_INDEX /* E2000 Default Use SPI0 id */
#else
#define MOUNT_CONTROLLER_ID SFUD_FSPIM0_INDEX /* Default Use SPI0 id */
diff --git a/example/system/amp/libmetal_test/README.md b/example/system/amp/libmetal_test/README.md
index 831c442a3..1e04b3b34 100644
--- a/example/system/amp/libmetal_test/README.md
+++ b/example/system/amp/libmetal_test/README.md
@@ -135,11 +135,11 @@ make menuconfig_rpu
7. 以下是调试命令窗口中载入代码的命令
```
- setenv ipaddr 192.168.4.20 /* 设置开发板上ip */
- setenv serverip 192.168.4.50 /* 设置目标tftp服务器ip */
- setenv gatewayip 192.168.4.1 /* 设置网关ip */
- tftpboot f0000000 boot.elf /* 通过tftp通信,将例程中core0 elf 拷贝至内存中 */
- bootelf -p f0000000 /* 加载运行boot.elf的代码 */
+ setenv ipaddr 192.168.4.20
+ setenv serverip 192.168.4.50
+ setenv gatewayip 192.168.4.1
+ tftpboot f0000000 baremetal_package.elf;
+ bootelf -p f0000000
```
![](./fig/代码载入.png)
diff --git a/example/system/amp/libmetal_test/apu_running/configs/d2000_aarch32_TEST_apu.config b/example/system/amp/libmetal_test/apu_running/configs/d2000_aarch32_TEST_apu.config
index bda955b8d..28db8fac7 100644
--- a/example/system/amp/libmetal_test/apu_running/configs/d2000_aarch32_TEST_apu.config
+++ b/example/system/amp/libmetal_test/apu_running/configs/d2000_aarch32_TEST_apu.config
@@ -51,9 +51,9 @@ CONFIG_ARCH_FPU=y
# end of Compiler configuration
CONFIG_USE_CACHE=y
-# CONFIG_USE_L3CACHE is not set
+CONFIG_USE_L3CACHE=y
CONFIG_USE_MMU=y
-CONFIG_USE_AARCH64_L1_TO_AARCH32=y
+# CONFIG_USE_AARCH64_L1_TO_AARCH32 is not set
CONFIG_FPEN=y
# end of Arm architecture configuration
# end of Arch configuration
diff --git a/example/system/amp/libmetal_test/apu_running/configs/ft2004_aarch32_DSK_apu.config b/example/system/amp/libmetal_test/apu_running/configs/ft2004_aarch32_DSK_apu.config
new file mode 100644
index 000000000..85c5264d0
--- /dev/null
+++ b/example/system/amp/libmetal_test/apu_running/configs/ft2004_aarch32_DSK_apu.config
@@ -0,0 +1,256 @@
+
+#
+# Project Configuration
+#
+CONFIG_SHM_BASE_ADDR=0xc0000000
+
+#
+# Amp Config
+#
+CONFIG_IPI_IRQ_NUM=0
+CONFIG_IPI_IRQ_NUM_PRIORITY=1
+CONFIG_SPIN_MEM=0x80000000
+CONFIG_TARGET_CPU_ID=1
+# end of Amp Config
+# end of Project Configuration
+
+CONFIG_USE_BAREMETAL=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_ARCH_FPU_VFP_V3 is not set
+CONFIG_ARCH_FPU_VFP_V4=y
+CONFIG_ARM_DPFPU32=y
+# CONFIG_ARM_FPU_ABI_SOFT is not set
+CONFIG_ARM_FPU_SYMBOL="crypto-neon-fp-armv8"
+CONFIG_ARM_NEON=y
+CONFIG_ARCH_FPU=y
+# end of Fpu configuration
+# end of Compiler configuration
+
+CONFIG_USE_CACHE=y
+CONFIG_USE_L3CACHE=y
+CONFIG_USE_MMU=y
+# CONFIG_USE_AARCH64_L1_TO_AARCH32 is not set
+CONFIG_FPEN=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 is not set
+# CONFIG_TARGET_E2000S is not set
+CONFIG_TARGET_FT2004=y
+# CONFIG_TARGET_D2000 is not set
+CONFIG_SOC_NAME="ft2004"
+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_USE_SPINLOCK=y
+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="DSK"
+CONFIG_FT2004_DSK_BOARD=y
+
+#
+# IO mux configuration when board start up
+#
+# CONFIG_CUS_DEMO_BOARD is not set
+
+#
+# Build project name
+#
+CONFIG_TARGET_NAME="apu"
+# end of Build project name
+# end of Board Configuration
+
+#
+# Sdk common configuration
+#
+CONFIG_LOG_VERBOS=y
+# CONFIG_LOG_DEBUG is not set
+# CONFIG_LOG_INFO is not set
+# CONFIG_LOG_WARN is not set
+# CONFIG_LOG_ERROR is not set
+# CONFIG_LOG_NONE is not set
+# CONFIG_LOG_EXTRA_INFO is not set
+CONFIG_LOG_DISPALY_CORE_NUM=y
+# 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=y
+CONFIG_IMAGE_CORE=0
+# end of Image information configuration
+
+#
+# Drivers configuration
+#
+CONFIG_USE_IOMUX=y
+CONFIG_ENABLE_IOCTRL=y
+# CONFIG_ENABLE_IOPAD is not set
+# CONFIG_USE_SPI is not set
+# CONFIG_USE_QSPI is not set
+CONFIG_USE_GIC=y
+CONFIG_ENABLE_GICV3=y
+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 is not set
+# 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 is not set
+# 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
+# end of Drivers 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=y
+CONFIG_USE_LIBMETAL=y
+
+#
+# OpenAmp
+#
+# CONFIG_USE_OPENAMP is not set
+# end of OpenAmp
+
+# CONFIG_USE_SDMMC_CMD 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
+# end of Third-party configuration
+
+#
+# Build setup
+#
+# CONFIG_CHECK_DEPS is not set
+CONFIG_OUTPUT_BINARY=y
+
+#
+# Optimization options
+#
+# CONFIG_DEBUG_NOOPT is not set
+# CONFIG_DEBUG_CUSTOMOPT is not set
+CONFIG_DEBUG_FULLOPT=y
+# CONFIG_DEBUG_ENABLE_ALL_WARNING is not set
+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_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_USB_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
diff --git a/example/system/amp/libmetal_test/apu_running/configs/ft2004_aarch64_DSK_apu.config b/example/system/amp/libmetal_test/apu_running/configs/ft2004_aarch64_DSK_apu.config
new file mode 100644
index 000000000..c7872af77
--- /dev/null
+++ b/example/system/amp/libmetal_test/apu_running/configs/ft2004_aarch64_DSK_apu.config
@@ -0,0 +1,254 @@
+
+#
+# Project Configuration
+#
+CONFIG_SHM_BASE_ADDR=0xc0000000
+
+#
+# Amp Config
+#
+CONFIG_IPI_IRQ_NUM=0
+CONFIG_IPI_IRQ_NUM_PRIORITY=1
+CONFIG_SPIN_MEM=0x80000000
+CONFIG_TARGET_CPU_ID=1
+# end of Amp Config
+# end of Project Configuration
+
+CONFIG_USE_BAREMETAL=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"
+
+#
+# Fpu configuration
+#
+CONFIG_ARM_NEON=y
+# end of Fpu configuration
+
+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_L3CACHE is not set
+CONFIG_USE_MMU=y
+# CONFIG_BOOT_WITH_FLUSH_CACHE is not set
+# CONFIG_MMU_DEBUG_PRINTS is not set
+CONFIG_FPEN=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 is not set
+# CONFIG_TARGET_E2000S is not set
+CONFIG_TARGET_FT2004=y
+# CONFIG_TARGET_D2000 is not set
+CONFIG_SOC_NAME="ft2004"
+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_USE_SPINLOCK=y
+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="DSK"
+CONFIG_FT2004_DSK_BOARD=y
+
+#
+# IO mux configuration when board start up
+#
+# CONFIG_CUS_DEMO_BOARD is not set
+
+#
+# Build project name
+#
+CONFIG_TARGET_NAME="apu"
+# end of Build project name
+# end of Board Configuration
+
+#
+# Sdk common configuration
+#
+CONFIG_LOG_VERBOS=y
+# CONFIG_LOG_DEBUG is not set
+# CONFIG_LOG_INFO is not set
+# CONFIG_LOG_WARN is not set
+# CONFIG_LOG_ERROR is not set
+# CONFIG_LOG_NONE is not set
+# CONFIG_LOG_EXTRA_INFO is not set
+CONFIG_LOG_DISPALY_CORE_NUM=y
+# 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=y
+CONFIG_IMAGE_CORE=0
+# end of Image information configuration
+
+#
+# Drivers configuration
+#
+CONFIG_USE_IOMUX=y
+CONFIG_ENABLE_IOCTRL=y
+# CONFIG_ENABLE_IOPAD is not set
+# CONFIG_USE_SPI is not set
+# CONFIG_USE_QSPI is not set
+CONFIG_USE_GIC=y
+CONFIG_ENABLE_GICV3=y
+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 is not set
+# 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 is not set
+# 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
+# end of Drivers 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=y
+CONFIG_USE_LIBMETAL=y
+
+#
+# OpenAmp
+#
+# CONFIG_USE_OPENAMP is not set
+# end of OpenAmp
+
+# CONFIG_USE_SDMMC_CMD 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
+# end of Third-party configuration
+
+#
+# Build setup
+#
+# CONFIG_CHECK_DEPS is not set
+CONFIG_OUTPUT_BINARY=y
+
+#
+# Optimization options
+#
+# CONFIG_DEBUG_NOOPT is not set
+# CONFIG_DEBUG_CUSTOMOPT is not set
+CONFIG_DEBUG_FULLOPT=y
+# CONFIG_DEBUG_ENABLE_ALL_WARNING is not set
+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_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_USB_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
+CONFIG_FPU_STACK_SIZE=0x1000
+# end of Linker Options
+# end of Build setup
diff --git a/example/system/amp/libmetal_test/apu_running/makefile b/example/system/amp/libmetal_test/apu_running/makefile
index eee92d2bd..d066ba142 100644
--- a/example/system/amp/libmetal_test/apu_running/makefile
+++ b/example/system/amp/libmetal_test/apu_running/makefile
@@ -18,16 +18,33 @@ include $(SDK_DIR)/tools/build/makeall.mk
USR_BOOT_DIR ?= /mnt/d/tftboot
+load_d2000_aarch32:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=d2000_aarch32_TEST_apu
+
+load_d2000_aarch64:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=d2000_aarch64_TEST_apu
+
+load_ft2004_aarch32:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=ft2004_aarch32_DSK_apu
+
+load_ft2004_aarch64:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=ft2004_aarch64_DSK_apu
+
load_e2000d_aarch32:
$(MAKE) load_kconfig LOAD_CONFIG_NAME=e2000d_aarch32_demo_apu
+
load_e2000d_aarch64:
$(MAKE) load_kconfig LOAD_CONFIG_NAME=e2000d_aarch64_demo_apu
+
load_e2000q_aarch32:
$(MAKE) load_kconfig LOAD_CONFIG_NAME=e2000q_aarch32_demo_apu
+
load_e2000q_aarch64:
$(MAKE) load_kconfig LOAD_CONFIG_NAME=e2000q_aarch64_demo_apu
+
load_phytiumpi_aarch32:
$(MAKE) load_kconfig LOAD_CONFIG_NAME=phytiumpi_aarch32_firefly_apu
+
load_phytiumpi_aarch64:
$(MAKE) load_kconfig LOAD_CONFIG_NAME=phytiumpi_aarch64_firefly_apu
diff --git a/example/system/amp/libmetal_test/configs/ft2004_aarch32_DSK_boot.config b/example/system/amp/libmetal_test/configs/ft2004_aarch32_DSK_boot.config
new file mode 100644
index 000000000..ff782db70
--- /dev/null
+++ b/example/system/amp/libmetal_test/configs/ft2004_aarch32_DSK_boot.config
@@ -0,0 +1,233 @@
+CONFIG_USE_BAREMETAL=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_ARCH_FPU_VFP_V3 is not set
+CONFIG_ARCH_FPU_VFP_V4=y
+CONFIG_ARM_DPFPU32=y
+# CONFIG_ARM_FPU_ABI_SOFT is not set
+CONFIG_ARM_FPU_SYMBOL="crypto-neon-fp-armv8"
+CONFIG_ARM_NEON=y
+CONFIG_ARCH_FPU=y
+# end of Fpu configuration
+# end of Compiler configuration
+
+CONFIG_USE_CACHE=y
+CONFIG_USE_L3CACHE=y
+CONFIG_USE_MMU=y
+CONFIG_USE_AARCH64_L1_TO_AARCH32=y
+CONFIG_FPEN=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 is not set
+# CONFIG_TARGET_E2000S is not set
+CONFIG_TARGET_FT2004=y
+# CONFIG_TARGET_D2000 is not set
+CONFIG_SOC_NAME="ft2004"
+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_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="DSK"
+CONFIG_FT2004_DSK_BOARD=y
+
+#
+# IO mux configuration when board start up
+#
+# CONFIG_CUS_DEMO_BOARD is not set
+
+#
+# Build project name
+#
+CONFIG_TARGET_NAME="boot"
+# 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 is not set
+# 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=y
+CONFIG_IMAGE_CORE=0
+# end of Image information configuration
+
+#
+# Drivers configuration
+#
+CONFIG_USE_IOMUX=y
+CONFIG_ENABLE_IOCTRL=y
+# CONFIG_ENABLE_IOPAD is not set
+# CONFIG_USE_SPI is not set
+# CONFIG_USE_QSPI is not set
+CONFIG_USE_GIC=y
+CONFIG_ENABLE_GICV3=y
+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 is not set
+# 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 is not set
+# 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
+# end of Drivers 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_SDMMC_CMD 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
+# end of Third-party configuration
+
+#
+# Build setup
+#
+CONFIG_CHECK_DEPS=y
+CONFIG_OUTPUT_BINARY=y
+
+#
+# Optimization options
+#
+# CONFIG_DEBUG_NOOPT is not set
+CONFIG_DEBUG_CUSTOMOPT=y
+# CONFIG_DEBUG_FULLOPT is not set
+# CONFIG_DEBUG_ENABLE_ALL_WARNING is not set
+CONFIG_DEBUG_OPTLEVEL="-O2"
+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_WALL_WARNING_ERROR is not set
+# CONFIG_STRICT_PROTOTYPES is not set
+CONFIG_DEBUG_SYMBOLS=y
+# 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_USB_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=0x81100000
+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
diff --git a/example/system/amp/libmetal_test/configs/ft2004_aarch64_DSK_boot.config b/example/system/amp/libmetal_test/configs/ft2004_aarch64_DSK_boot.config
new file mode 100644
index 000000000..37dd0d115
--- /dev/null
+++ b/example/system/amp/libmetal_test/configs/ft2004_aarch64_DSK_boot.config
@@ -0,0 +1,231 @@
+CONFIG_USE_BAREMETAL=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"
+
+#
+# Fpu configuration
+#
+CONFIG_ARM_NEON=y
+# end of Fpu configuration
+
+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_L3CACHE=y
+CONFIG_USE_MMU=y
+# CONFIG_BOOT_WITH_FLUSH_CACHE is not set
+# CONFIG_MMU_DEBUG_PRINTS is not set
+CONFIG_FPEN=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 is not set
+# CONFIG_TARGET_E2000S is not set
+CONFIG_TARGET_FT2004=y
+# CONFIG_TARGET_D2000 is not set
+CONFIG_SOC_NAME="ft2004"
+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_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="DSK"
+CONFIG_FT2004_DSK_BOARD=y
+
+#
+# IO mux configuration when board start up
+#
+# CONFIG_CUS_DEMO_BOARD is not set
+
+#
+# Build project name
+#
+CONFIG_TARGET_NAME="boot"
+# 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 is not set
+# 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=y
+CONFIG_IMAGE_CORE=0
+# end of Image information configuration
+
+#
+# Drivers configuration
+#
+CONFIG_USE_IOMUX=y
+CONFIG_ENABLE_IOCTRL=y
+# CONFIG_ENABLE_IOPAD is not set
+# CONFIG_USE_SPI is not set
+# CONFIG_USE_QSPI is not set
+CONFIG_USE_GIC=y
+CONFIG_ENABLE_GICV3=y
+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 is not set
+# 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 is not set
+# 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
+# end of Drivers 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_SDMMC_CMD 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
+# end of Third-party configuration
+
+#
+# Build setup
+#
+CONFIG_CHECK_DEPS=y
+CONFIG_OUTPUT_BINARY=y
+
+#
+# Optimization options
+#
+# CONFIG_DEBUG_NOOPT is not set
+CONFIG_DEBUG_CUSTOMOPT=y
+# CONFIG_DEBUG_FULLOPT is not set
+# CONFIG_DEBUG_ENABLE_ALL_WARNING is not set
+CONFIG_DEBUG_OPTLEVEL="-O2"
+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_WALL_WARNING_ERROR is not set
+# CONFIG_STRICT_PROTOTYPES is not set
+CONFIG_DEBUG_SYMBOLS=y
+# 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_USB_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=0x91000000
+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/libmetal_test/makefile b/example/system/amp/libmetal_test/makefile
index 9ad62c3c5..339692662 100644
--- a/example/system/amp/libmetal_test/makefile
+++ b/example/system/amp/libmetal_test/makefile
@@ -13,7 +13,27 @@ USR_BOOT_DIR ?= /mnt/d/tftboot
image:
$(MAKE) all -j
cp ./*.elf /mnt/d/tftboot/baremetal_package.elf
-
+
+load_d2000_aarch32:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=d2000_aarch32_TEST_boot
+ $(MAKE) -C ./apu_running load_d2000_aarch32
+ $(MAKE) -C ./rpu_running load_d2000_aarch32
+
+load_d2000_aarch64:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=d2000_aarch64_TEST_boot
+ $(MAKE) -C ./apu_running load_d2000_aarch64
+ $(MAKE) -C ./rpu_running load_d2000_aarch64
+
+load_ft2004_aarch32:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=ft2004_aarch32_DSK_boot
+ $(MAKE) -C ./apu_running load_ft2004_aarch32
+ $(MAKE) -C ./rpu_running load_ft2004_aarch32
+
+load_ft2004_aarch64:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=ft2004_aarch64_DSK_boot
+ $(MAKE) -C ./apu_running load_ft2004_aarch64
+ $(MAKE) -C ./rpu_running load_ft2004_aarch64
+
load_e2000d_aarch32:
$(MAKE) load_kconfig LOAD_CONFIG_NAME=e2000d_aarch32_demo_boot
$(MAKE) -C ./apu_running load_e2000d_aarch32
diff --git a/example/system/amp/libmetal_test/rpu_running/configs/d2000_aarch32_TEST_rpu.config b/example/system/amp/libmetal_test/rpu_running/configs/d2000_aarch32_TEST_rpu.config
index b0bd72a40..ab2e4d744 100644
--- a/example/system/amp/libmetal_test/rpu_running/configs/d2000_aarch32_TEST_rpu.config
+++ b/example/system/amp/libmetal_test/rpu_running/configs/d2000_aarch32_TEST_rpu.config
@@ -51,9 +51,9 @@ CONFIG_ARCH_FPU=y
# end of Compiler configuration
CONFIG_USE_CACHE=y
-# CONFIG_USE_L3CACHE is not set
+CONFIG_USE_L3CACHE=y
CONFIG_USE_MMU=y
-CONFIG_USE_AARCH64_L1_TO_AARCH32=y
+# CONFIG_USE_AARCH64_L1_TO_AARCH32 is not set
CONFIG_FPEN=y
# end of Arm architecture configuration
# end of Arch configuration
diff --git a/example/system/amp/libmetal_test/rpu_running/configs/ft2004_aarch32_DSK_rpu.config b/example/system/amp/libmetal_test/rpu_running/configs/ft2004_aarch32_DSK_rpu.config
new file mode 100644
index 000000000..0d88eff21
--- /dev/null
+++ b/example/system/amp/libmetal_test/rpu_running/configs/ft2004_aarch32_DSK_rpu.config
@@ -0,0 +1,246 @@
+
+#
+# Project Configuration
+#
+CONFIG_SHM_BASE_ADDR=0xc0000000
+
+#
+# AMP Config
+#
+CONFIG_IPI_IRQ_NUM=0
+CONFIG_IPI_IRQ_NUM_PRIORITY=1
+CONFIG_SPIN_MEM=0x80000000
+CONFIG_TARGET_CPU_ID=0
+# end of AMP Config
+# end of Project Configuration
+
+CONFIG_USE_BAREMETAL=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_ARCH_FPU_VFP_V3 is not set
+CONFIG_ARCH_FPU_VFP_V4=y
+CONFIG_ARM_DPFPU32=y
+# CONFIG_ARM_FPU_ABI_SOFT is not set
+CONFIG_ARM_FPU_SYMBOL="crypto-neon-fp-armv8"
+CONFIG_ARM_NEON=y
+CONFIG_ARCH_FPU=y
+# end of Fpu configuration
+# end of Compiler configuration
+
+CONFIG_USE_CACHE=y
+CONFIG_USE_L3CACHE=y
+CONFIG_USE_MMU=y
+# CONFIG_USE_AARCH64_L1_TO_AARCH32 is not set
+CONFIG_FPEN=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 is not set
+# CONFIG_TARGET_E2000S is not set
+CONFIG_TARGET_FT2004=y
+# CONFIG_TARGET_D2000 is not set
+CONFIG_SOC_NAME="ft2004"
+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_USE_SPINLOCK=y
+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="DSK"
+CONFIG_FT2004_DSK_BOARD=y
+
+#
+# IO mux configuration when board start up
+#
+# CONFIG_CUS_DEMO_BOARD is not set
+
+#
+# Build project name
+#
+CONFIG_TARGET_NAME="rpu"
+# end of Build project name
+# end of Board Configuration
+
+#
+# Sdk common configuration
+#
+CONFIG_LOG_VERBOS=y
+# CONFIG_LOG_DEBUG is not set
+# CONFIG_LOG_INFO is not set
+# CONFIG_LOG_WARN is not set
+# CONFIG_LOG_ERROR is not set
+# CONFIG_LOG_NONE is not set
+# CONFIG_LOG_EXTRA_INFO is not set
+CONFIG_LOG_DISPALY_CORE_NUM=y
+# CONFIG_BOOTUP_DEBUG_PRINTS is not set
+CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
+# CONFIG_INTERRUPT_ROLE_MASTER is not set
+CONFIG_INTERRUPT_ROLE_SLAVE=y
+# end of Sdk common configuration
+
+#
+# Image information configuration
+#
+CONFIG_IMAGE_INFO=y
+CONFIG_IMAGE_CORE=1
+# end of Image information configuration
+
+#
+# Drivers configuration
+#
+CONFIG_USE_IOMUX=y
+CONFIG_ENABLE_IOCTRL=y
+# CONFIG_ENABLE_IOPAD is not set
+# CONFIG_USE_SPI is not set
+# CONFIG_USE_QSPI is not set
+CONFIG_USE_GIC=y
+CONFIG_ENABLE_GICV3=y
+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 is not set
+# 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 is not set
+# 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
+# end of Drivers configuration
+
+#
+# Third-party configuration
+#
+# CONFIG_USE_LWIP is not set
+# CONFIG_USE_LETTER_SHELL is not set
+CONFIG_USE_AMP=y
+CONFIG_USE_LIBMETAL=y
+
+#
+# OpenAmp
+#
+# CONFIG_USE_OPENAMP is not set
+# end of OpenAmp
+
+# CONFIG_USE_SDMMC_CMD 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
+# end of Third-party 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_ENABLE_ALL_WARNING is not set
+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_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_USB_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=0x90000000
+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
diff --git a/example/system/amp/libmetal_test/rpu_running/configs/ft2004_aarch64_DSK_rpu.config b/example/system/amp/libmetal_test/rpu_running/configs/ft2004_aarch64_DSK_rpu.config
new file mode 100644
index 000000000..444fefaed
--- /dev/null
+++ b/example/system/amp/libmetal_test/rpu_running/configs/ft2004_aarch64_DSK_rpu.config
@@ -0,0 +1,244 @@
+
+#
+# Project Configuration
+#
+CONFIG_SHM_BASE_ADDR=0xc0000000
+
+#
+# AMP Config
+#
+CONFIG_IPI_IRQ_NUM=0
+CONFIG_IPI_IRQ_NUM_PRIORITY=1
+CONFIG_SPIN_MEM=0x80000000
+CONFIG_TARGET_CPU_ID=0
+# end of AMP Config
+# end of Project Configuration
+
+CONFIG_USE_BAREMETAL=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"
+
+#
+# Fpu configuration
+#
+CONFIG_ARM_NEON=y
+# end of Fpu configuration
+
+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_L3CACHE is not set
+CONFIG_USE_MMU=y
+# CONFIG_BOOT_WITH_FLUSH_CACHE is not set
+# CONFIG_MMU_DEBUG_PRINTS is not set
+CONFIG_FPEN=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 is not set
+# CONFIG_TARGET_E2000S is not set
+CONFIG_TARGET_FT2004=y
+# CONFIG_TARGET_D2000 is not set
+CONFIG_SOC_NAME="ft2004"
+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_USE_SPINLOCK=y
+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="DSK"
+CONFIG_FT2004_DSK_BOARD=y
+
+#
+# IO mux configuration when board start up
+#
+# CONFIG_CUS_DEMO_BOARD is not set
+
+#
+# Build project name
+#
+CONFIG_TARGET_NAME="rpu"
+# end of Build project name
+# end of Board Configuration
+
+#
+# Sdk common configuration
+#
+CONFIG_LOG_VERBOS=y
+# CONFIG_LOG_DEBUG is not set
+# CONFIG_LOG_INFO is not set
+# CONFIG_LOG_WARN is not set
+# CONFIG_LOG_ERROR is not set
+# CONFIG_LOG_NONE is not set
+# CONFIG_LOG_EXTRA_INFO is not set
+CONFIG_LOG_DISPALY_CORE_NUM=y
+# CONFIG_BOOTUP_DEBUG_PRINTS is not set
+CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y
+# CONFIG_INTERRUPT_ROLE_MASTER is not set
+CONFIG_INTERRUPT_ROLE_SLAVE=y
+# end of Sdk common configuration
+
+#
+# Image information configuration
+#
+CONFIG_IMAGE_INFO=y
+CONFIG_IMAGE_CORE=1
+# end of Image information configuration
+
+#
+# Drivers configuration
+#
+CONFIG_USE_IOMUX=y
+CONFIG_ENABLE_IOCTRL=y
+# CONFIG_ENABLE_IOPAD is not set
+# CONFIG_USE_SPI is not set
+# CONFIG_USE_QSPI is not set
+CONFIG_USE_GIC=y
+CONFIG_ENABLE_GICV3=y
+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 is not set
+# 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 is not set
+# 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
+# end of Drivers configuration
+
+#
+# Third-party configuration
+#
+# CONFIG_USE_LWIP is not set
+# CONFIG_USE_LETTER_SHELL is not set
+CONFIG_USE_AMP=y
+CONFIG_USE_LIBMETAL=y
+
+#
+# OpenAmp
+#
+# CONFIG_USE_OPENAMP is not set
+# end of OpenAmp
+
+# CONFIG_USE_SDMMC_CMD 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
+# end of Third-party 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_ENABLE_ALL_WARNING is not set
+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_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_USB_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=0x90000000
+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/libmetal_test/rpu_running/makefile b/example/system/amp/libmetal_test/rpu_running/makefile
index 86f901e71..7dc8622ba 100644
--- a/example/system/amp/libmetal_test/rpu_running/makefile
+++ b/example/system/amp/libmetal_test/rpu_running/makefile
@@ -18,16 +18,34 @@ include $(SDK_DIR)/tools/build/makeall.mk
USR_BOOT_DIR ?= /mnt/d/tftboot
+
+load_d2000_aarch32:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=d2000_aarch32_TEST_rpu
+
+load_d2000_aarch64:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=d2000_aarch64_TEST_rpu
+
+load_ft2004_aarch32:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=ft2004_aarch32_DSK_rpu
+
+load_ft2004_aarch64:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=ft2004_aarch64_DSK_rpu
+
load_e2000d_aarch32:
$(MAKE) load_kconfig LOAD_CONFIG_NAME=e2000d_aarch32_demo_rpu
+
load_e2000d_aarch64:
$(MAKE) load_kconfig LOAD_CONFIG_NAME=e2000d_aarch64_demo_rpu
+
load_e2000q_aarch32:
$(MAKE) load_kconfig LOAD_CONFIG_NAME=e2000q_aarch32_demo_rpu
+
load_e2000q_aarch64:
$(MAKE) load_kconfig LOAD_CONFIG_NAME=e2000q_aarch64_demo_rpu
+
load_phytiumpi_aarch32:
$(MAKE) load_kconfig LOAD_CONFIG_NAME=phytiumpi_aarch32_firefly_rpu
+
load_phytiumpi_aarch64:
$(MAKE) load_kconfig LOAD_CONFIG_NAME=phytiumpi_aarch64_firefly_rpu
diff --git a/example/system/amp/openamp/core0/configs/d2000_aarch32_TEST_openamp_core0.config b/example/system/amp/openamp/core0/configs/d2000_aarch32_TEST_openamp_core0.config
index 3497d81be..a1b11aab3 100644
--- a/example/system/amp/openamp/core0/configs/d2000_aarch32_TEST_openamp_core0.config
+++ b/example/system/amp/openamp/core0/configs/d2000_aarch32_TEST_openamp_core0.config
@@ -58,7 +58,7 @@ CONFIG_ARCH_FPU=y
# end of Compiler configuration
CONFIG_USE_CACHE=y
-# CONFIG_USE_L3CACHE is not set
+CONFIG_USE_L3CACHE=y
CONFIG_USE_MMU=y
CONFIG_USE_AARCH64_L1_TO_AARCH32=y
CONFIG_FPEN=y
diff --git a/example/system/amp/openamp/core0/configs/ft2004_aarch32_DSK_openamp_core0.config b/example/system/amp/openamp/core0/configs/ft2004_aarch32_DSK_openamp_core0.config
index affd2d121..ae270648c 100644
--- a/example/system/amp/openamp/core0/configs/ft2004_aarch32_DSK_openamp_core0.config
+++ b/example/system/amp/openamp/core0/configs/ft2004_aarch32_DSK_openamp_core0.config
@@ -58,7 +58,7 @@ CONFIG_ARCH_FPU=y
# end of Compiler configuration
CONFIG_USE_CACHE=y
-# CONFIG_USE_L3CACHE is not set
+CONFIG_USE_L3CACHE=y
CONFIG_USE_MMU=y
CONFIG_USE_AARCH64_L1_TO_AARCH32=y
CONFIG_FPEN=y
diff --git a/example/system/amp/openamp/makefile b/example/system/amp/openamp/makefile
index 11a58f951..5e435e34a 100644
--- a/example/system/amp/openamp/makefile
+++ b/example/system/amp/openamp/makefile
@@ -27,11 +27,11 @@ config_d2000_aarch32:
config_ft2004_aarch64:
$(MAKE) -C ./core0 load_kconfig LOAD_CONFIG_NAME=ft2004_aarch64_DSK_openamp_core0
- $(MAKE) -C ./core1 load_kconfig LOAD_CONFIG_NAME=ft2004_aarch64_DSK_openamp_core0
+ $(MAKE) -C ./core1 load_kconfig LOAD_CONFIG_NAME=ft2004_aarch64_DSK_openamp_core1
config_ft2004_aarch32:
$(MAKE) -C ./core0 load_kconfig LOAD_CONFIG_NAME=ft2004_aarch32_DSK_openamp_core0
- $(MAKE) -C ./core1 load_kconfig LOAD_CONFIG_NAME=ft2004_aarch32_DSK_openamp_core0
+ $(MAKE) -C ./core1 load_kconfig LOAD_CONFIG_NAME=ft2004_aarch32_DSK_openamp_core1
config_e2000d_aarch64:
$(MAKE) -C ./core0 load_kconfig LOAD_CONFIG_NAME=e2000d_aarch64_demo_openamp_core0
diff --git a/example/system/arch/armv8/psci/README.md b/example/system/arch/armv8/psci/README.md
index b999ca752..252d162dc 100644
--- a/example/system/arch/armv8/psci/README.md
+++ b/example/system/arch/armv8/psci/README.md
@@ -72,11 +72,11 @@
3. 按照以下方式将elf 文件烧录至开发板内存种
```
- setenv ipaddr 192.168.4.20 /* 设置开发板上ip */
- setenv serverip 192.168.4.50 /* 设置目标tftp服务器ip */
- setenv gatewayip 192.168.4.1 /* 设置网关ip */
- tftpboot f0000000 e2000d_aarch32_demo_boot.elf.elf /* 通过tftp通信,将例程中 elf 拷贝至内存中 */
- bootelf -p f0000000 /* 加载运行boot.elf的代码 */
+ setenv ipaddr 192.168.4.20
+ setenv serverip 192.168.4.50
+ setenv gatewayip 192.168.4.1
+ tftpboot f0000000 boot.elf
+ bootelf -p f0000000
```
1. 程序内交互命令:
diff --git a/example/system/arch/armv8/psci/makefile b/example/system/arch/armv8/psci/makefile
index df06bc122..b849580ef 100644
--- a/example/system/arch/armv8/psci/makefile
+++ b/example/system/arch/armv8/psci/makefile
@@ -9,6 +9,27 @@ AMP_PATH += $(PROJECT_DIR)/psci_test/psci_slave
include $(SDK_DIR)/tools/build/amp_makeall.mk
USR_BOOT_DIR ?= /mnt/d/tftboot
+
+config_e2000d_aarch64:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=e2000d_aarch64_demo_boot
+ $(MAKE) -C ./psci_test load_kconfig LOAD_CONFIG_NAME=e2000d_aarch64_demo_psci
+ $(MAKE) -C ./psci_test/psci_slave load_kconfig LOAD_CONFIG_NAME=e2000d_aarch64_demo_psci_slave
+
+config_e2000d_aarch32:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=e2000d_aarch32_demo_boot
+ $(MAKE) -C ./psci_test load_kconfig LOAD_CONFIG_NAME=e2000d_aarch32_demo_psci
+ $(MAKE) -C ./psci_test/psci_slave load_kconfig LOAD_CONFIG_NAME=e2000d_aarch32_demo_psci_slave
+
+config_e2000q_aarch64:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=e2000q_aarch64_demo_boot
+ $(MAKE) -C ./psci_test load_kconfig LOAD_CONFIG_NAME=e2000q_aarch64_demo_psci
+ $(MAKE) -C ./psci_test/psci_slave load_kconfig LOAD_CONFIG_NAME=e2000q_aarch64_demo_psci_slave
+
+config_e2000q_aarch32:
+ $(MAKE) load_kconfig LOAD_CONFIG_NAME=e2000q_aarch32_demo_boot
+ $(MAKE) -C ./psci_test load_kconfig LOAD_CONFIG_NAME=e2000q_aarch32_demo_psci
+ $(MAKE) -C ./psci_test/psci_slave load_kconfig LOAD_CONFIG_NAME=e2000q_aarch32_demo_psci_slave
+
boot:
$(MAKE) clean
$(MAKE) all -j
diff --git a/example/system/arch/armv8/psci/psci_test/configs/e2000d_aarch32_demo_psci.config b/example/system/arch/armv8/psci/psci_test/configs/e2000d_aarch32_demo_psci.config
index 92369a646..e8d7ef0b5 100644
--- a/example/system/arch/armv8/psci/psci_test/configs/e2000d_aarch32_demo_psci.config
+++ b/example/system/arch/armv8/psci/psci_test/configs/e2000d_aarch32_demo_psci.config
@@ -36,7 +36,7 @@ CONFIG_ARCH_FPU=y
CONFIG_USE_CACHE=y
CONFIG_USE_MMU=y
-CONFIG_USE_AARCH64_L1_TO_AARCH32=y
+# CONFIG_USE_AARCH64_L1_TO_AARCH32 is not set
CONFIG_FPEN=y
# end of Arm architecture configuration
# end of Arch configuration
diff --git a/example/system/arch/armv8/psci/psci_test/configs/e2000q_aarch32_demo_psci.config b/example/system/arch/armv8/psci/psci_test/configs/e2000q_aarch32_demo_psci.config
index 015b95b66..0efd077fc 100644
--- a/example/system/arch/armv8/psci/psci_test/configs/e2000q_aarch32_demo_psci.config
+++ b/example/system/arch/armv8/psci/psci_test/configs/e2000q_aarch32_demo_psci.config
@@ -36,7 +36,7 @@ CONFIG_ARCH_FPU=y
CONFIG_USE_CACHE=y
CONFIG_USE_MMU=y
-CONFIG_USE_AARCH64_L1_TO_AARCH32=y
+# CONFIG_USE_AARCH64_L1_TO_AARCH32 is not set
CONFIG_FPEN=y
# end of Arm architecture configuration
# end of Arch configuration
diff --git a/example/system/arch/armv8/psci/psci_test/configs/phytiumpi_aarch32_firefly_psci.config b/example/system/arch/armv8/psci/psci_test/configs/phytiumpi_aarch32_firefly_psci.config
index 0cfe12dbd..8bffa772f 100644
--- a/example/system/arch/armv8/psci/psci_test/configs/phytiumpi_aarch32_firefly_psci.config
+++ b/example/system/arch/armv8/psci/psci_test/configs/phytiumpi_aarch32_firefly_psci.config
@@ -36,7 +36,7 @@ CONFIG_ARCH_FPU=y
CONFIG_USE_CACHE=y
CONFIG_USE_MMU=y
-CONFIG_USE_AARCH64_L1_TO_AARCH32=y
+# CONFIG_USE_AARCH64_L1_TO_AARCH32 is not set
CONFIG_FPEN=y
# end of Arm architecture configuration
# end of Arch configuration
diff --git a/tools/build/archived_libs.mk b/tools/build/archived_libs.mk
index feb8fd4fe..ae1a46613 100644
--- a/tools/build/archived_libs.mk
+++ b/tools/build/archived_libs.mk
@@ -8,4 +8,27 @@ else
BAREMETAL_LIBS += $(SDK_DIR)/drivers/media/fdcdp_lib/fdcdp_standalone_a32.a
endif
+else
+
+ifdef CONFIG_TARGET_ARMV8_AARCH64
+$(BUILD_OUT_PATH)/fdcdp_standalone_a64.a: fdcdp_standalone_a64.a
+fdcdp_standalone_a64.a:
+ $(call invoke_make_in_directory,drivers/media/fdcdp,makefile,all,)
+fdcdp_standalone_a64_debug:
+ $(call invoke_make_in_directory,drivers/media/fdcdp,makefile,debug,)
+fdcdp_standalone_a64_info:
+ $(call invoke_make_in_directory,drivers/media/fdcdp,makefile,compiler_info,)
+
+else
+$(BUILD_OUT_PATH)/fdcdp_standalone_a32.a: fdcdp_standalone_a32.a
+fdcdp_standalone_a32.a:
+ $(call invoke_make_in_directory,drivers/media/fdcdp,makefile,all,)
+fdcdp_standalone_a32_debug:
+ $(call invoke_make_in_directory,drivers/media/fdcdp,makefile,debug,)
+fdcdp_standalone_a32_info:
+ $(call invoke_make_in_directory,drivers/media/fdcdp,makefile,compiler_info,)
+
+endif
+
+
endif
diff --git a/tools/build/boot_code/available_space.h b/tools/build/boot_code/available_space.h
index ec2d3a428..3119386c7 100644
--- a/tools/build/boot_code/available_space.h
+++ b/tools/build/boot_code/available_space.h
@@ -2,5 +2,7 @@
#define AVAILABLE_SPACE_END_0 0x27ffffffff
#define AVAILABLE_SPACE_START_1 0x80000000
#define AVAILABLE_SPACE_END_1 0x800fffff
-#define AVAILABLE_SPACE_START_2 0x82100000
-#define AVAILABLE_SPACE_END_2 0xffffffff
+#define AVAILABLE_SPACE_START_2 0x81100000
+#define AVAILABLE_SPACE_END_2 0x8fffffff
+#define AVAILABLE_SPACE_START_3 0x91000000
+#define AVAILABLE_SPACE_END_3 0xffffffff
diff --git a/tools/build/boot_code/sdkconfig b/tools/build/boot_code/sdkconfig
index 37dd0d115..9bba9c257 100644
--- a/tools/build/boot_code/sdkconfig
+++ b/tools/build/boot_code/sdkconfig
@@ -36,11 +36,9 @@ CONFIG_GCC_CODE_MODEL_SMALL=y
# end of Compiler configuration
CONFIG_USE_CACHE=y
-CONFIG_USE_L3CACHE=y
CONFIG_USE_MMU=y
# CONFIG_BOOT_WITH_FLUSH_CACHE is not set
# CONFIG_MMU_DEBUG_PRINTS is not set
-CONFIG_FPEN=y
# end of Arm architecture configuration
# end of Arch configuration
@@ -49,16 +47,18 @@ CONFIG_FPEN=y
#
# CONFIG_TARGET_PHYTIUMPI is not set
# CONFIG_TARGET_E2000Q is not set
-# CONFIG_TARGET_E2000D is not set
+CONFIG_TARGET_E2000D=y
# CONFIG_TARGET_E2000S is not set
-CONFIG_TARGET_FT2004=y
+# CONFIG_TARGET_FT2004 is not set
# CONFIG_TARGET_D2000 is not set
-CONFIG_SOC_NAME="ft2004"
-CONFIG_SOC_CORE_NUM=4
+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
@@ -68,12 +68,24 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y
#
# Board Configuration
#
-CONFIG_BOARD_NAME="DSK"
-CONFIG_FT2004_DSK_BOARD=y
+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
#
@@ -111,8 +123,8 @@ CONFIG_IMAGE_CORE=0
# Drivers configuration
#
CONFIG_USE_IOMUX=y
-CONFIG_ENABLE_IOCTRL=y
-# CONFIG_ENABLE_IOPAD is not set
+# CONFIG_ENABLE_IOCTRL is not set
+CONFIG_ENABLE_IOPAD=y
# CONFIG_USE_SPI is not set
# CONFIG_USE_QSPI is not set
CONFIG_USE_GIC=y
@@ -187,7 +199,7 @@ CONFIG_OUTPUT_BINARY=y
CONFIG_DEBUG_CUSTOMOPT=y
# CONFIG_DEBUG_FULLOPT is not set
# CONFIG_DEBUG_ENABLE_ALL_WARNING is not set
-CONFIG_DEBUG_OPTLEVEL="-O2"
+CONFIG_DEBUG_OPTLEVEL="-O3"
CONFIG_DEBUG_OPT_UNUSED_SECTIONS=y
CONFIG_DEBUG_LINK_MAP=y
# CONFIG_CCACHE is not set
diff --git a/tools/build/boot_code/sdkconfig.h b/tools/build/boot_code/sdkconfig.h
index 439c8c824..7ab6f09cb 100644
--- a/tools/build/boot_code/sdkconfig.h
+++ b/tools/build/boot_code/sdkconfig.h
@@ -33,11 +33,9 @@
/* CONFIG_GCC_CODE_MODEL_LARGE is not set */
/* end of Compiler configuration */
#define CONFIG_USE_CACHE
-#define CONFIG_USE_L3CACHE
#define CONFIG_USE_MMU
/* CONFIG_BOOT_WITH_FLUSH_CACHE is not set */
/* CONFIG_MMU_DEBUG_PRINTS is not set */
-#define CONFIG_FPEN
/* end of Arm architecture configuration */
/* end of Arch configuration */
@@ -45,16 +43,18 @@
/* CONFIG_TARGET_PHYTIUMPI is not set */
/* CONFIG_TARGET_E2000Q is not set */
-/* CONFIG_TARGET_E2000D is not set */
+#define CONFIG_TARGET_E2000D
/* CONFIG_TARGET_E2000S is not set */
-#define CONFIG_TARGET_FT2004
+/* CONFIG_TARGET_FT2004 is not set */
/* CONFIG_TARGET_D2000 is not set */
-#define CONFIG_SOC_NAME "ft2004"
-#define CONFIG_SOC_CORE_NUM 4
+#define CONFIG_SOC_NAME "e2000"
+#define CONFIG_TARGET_TYPE_NAME "d"
+#define CONFIG_SOC_CORE_NUM 2
#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 */
@@ -63,11 +63,22 @@
/* Board Configuration */
-#define CONFIG_BOARD_NAME "DSK"
-#define CONFIG_FT2004_DSK_BOARD
+#define CONFIG_E2000D_DEMO_BOARD
+#define 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 */
@@ -101,8 +112,8 @@
/* Drivers configuration */
#define CONFIG_USE_IOMUX
-#define CONFIG_ENABLE_IOCTRL
-/* CONFIG_ENABLE_IOPAD is not set */
+/* CONFIG_ENABLE_IOCTRL is not set */
+#define CONFIG_ENABLE_IOPAD
/* CONFIG_USE_SPI is not set */
/* CONFIG_USE_QSPI is not set */
#define CONFIG_USE_GIC
@@ -170,7 +181,7 @@
#define CONFIG_DEBUG_CUSTOMOPT
/* CONFIG_DEBUG_FULLOPT is not set */
/* CONFIG_DEBUG_ENABLE_ALL_WARNING is not set */
-#define CONFIG_DEBUG_OPTLEVEL "-O2"
+#define CONFIG_DEBUG_OPTLEVEL "-O3"
#define CONFIG_DEBUG_OPT_UNUSED_SECTIONS
#define CONFIG_DEBUG_LINK_MAP
/* CONFIG_CCACHE is not set */
diff --git a/tools/build/build.mk b/tools/build/build.mk
index 9cf2e8ff8..b10c8fe0d 100644
--- a/tools/build/build.mk
+++ b/tools/build/build.mk
@@ -30,16 +30,19 @@ else
-Wl,--no-whole-archive $(EXTRALIBS) -Wl,--end-group -o $@
endif
-ifdef CONFIG_OUTPUT_ASM_DIS
+ifdef CONFIG_OUTPUT_BINARY
@echo " COPY $(IMAGE_OUT_NAME).bin"
$(OBJCOPY) -v -O binary $(IMAGE_OUTPUT)/$(IMAGE_OUT_NAME).elf $(IMAGE_OUTPUT)/$(IMAGE_OUT_NAME).bin
+endif
+
+ifdef CONFIG_OUTPUT_ASM_DIS
@echo " -D $(IMAGE_OUT_NAME).asm"
$(OD) -D $(IMAGE_OUTPUT)/$(IMAGE_OUT_NAME).elf > $(IMAGE_OUTPUT)/$(IMAGE_OUT_NAME).asm
@echo " -S $(IMAGE_OUT_NAME).dis"
$(OD) -S $(IMAGE_OUTPUT)/$(IMAGE_OUT_NAME).elf > $(IMAGE_OUTPUT)/$(IMAGE_OUT_NAME).dis
+endif
@echo " Soc is $(CONFIG_SOC_NAME)$(CONFIG_TARGET_TYPE_NAME)"
@echo " Execution state is $(CONFIG_ARCH_EXECUTION_STATE)"
-endif
link_info:
@echo LDFLAGS: $(LDFLAGS)
diff --git a/tools/build/compiler.mk b/tools/build/compiler.mk
index 3fa0ca83b..c0f1ebdd3 100644
--- a/tools/build/compiler.mk
+++ b/tools/build/compiler.mk
@@ -16,7 +16,7 @@ BUILD_SUBDIRECTORY_PATH ?= $(shell basename $(CURRENT_DIR))
BUILD_PATH := $(BUILD_OUT_PATH)/$(BUILD_SUBDIRECTORY_PATH)
# Define the library name as the output path and library name
-LIBS = $(BUILD_OUT_PATH)/$(LIBS_NAME)
+LIBS ?= $(BUILD_OUT_PATH)/$(LIBS_NAME)
# need check deps
ifdef CONFIG_CHECK_DEPS