Browse Source

v1.2.0 master

v1.2.0 版本的正式发布
1.新增PHYTIUMPI的支持
2.新增板级支持
3.采用新的编译框架
4.调整SDK文件结构
5.全面重构测试例程
pull/87/head
liushengming 1 year ago
parent
commit
b60d947ce8
  1. 28
      README.md
  2. 57
      doc/ChangeLog.md
  3. 28
      drivers/media/Kconfig
  4. BIN
      drivers/media/fdcdp_lib/fdcdp_standalone_a32.a
  5. BIN
      drivers/media/fdcdp_lib/fdcdp_standalone_a64.a
  6. 3
      example/media/lvgl_demo_test/configs/e2000d_aarch32_demo_media.config
  7. 1
      example/media/lvgl_demo_test/configs/e2000d_aarch64_demo_media.config
  8. 3
      example/media/lvgl_demo_test/configs/e2000q_aarch32_demo_media.config
  9. 1
      example/media/lvgl_demo_test/configs/e2000q_aarch64_demo_media.config
  10. 3
      example/media/lvgl_demo_test/configs/phytiumpi_aarch32_firefly_media.config
  11. 1
      example/media/lvgl_demo_test/configs/phytiumpi_aarch64_firefly_media.config
  12. 1
      example/media/lvgl_demo_test/sdkconfig
  13. 1
      example/media/lvgl_demo_test/sdkconfig.h
  14. 3
      example/media/media_test/configs/e2000d_aarch32_demo_media.config
  15. 1
      example/media/media_test/configs/e2000d_aarch64_demo_media.config
  16. 3
      example/media/media_test/configs/e2000q_aarch32_demo_media.config
  17. 1
      example/media/media_test/configs/e2000q_aarch64_demo_media.config
  18. 3
      example/media/media_test/configs/phytiumpi_aarch32_firefly_media.config
  19. 1
      example/media/media_test/configs/phytiumpi_aarch64_firefly_media.config
  20. 1
      example/media/media_test/sdkconfig
  21. 1
      example/media/media_test/sdkconfig.h
  22. 8
      example/network/lwip_startup/configs/e2000d_aarch32_demo_lwip.config
  23. 8
      example/network/lwip_startup/configs/e2000d_aarch64_demo_lwip.config
  24. 8
      example/network/lwip_startup/configs/e2000q_aarch32_demo_lwip.config
  25. 8
      example/network/lwip_startup/configs/e2000q_aarch64_demo_lwip.config
  26. 1
      example/peripherals/gicv3/configs/phytiumpi_aarch32_firefly_boot.config
  27. 2
      example/peripherals/gicv3/master/configs/e2000q_aarch32_demo_gic_master.config
  28. 2
      example/peripherals/gicv3/master/configs/phytiumpi_aarch32_firefly_gic_master.config
  29. 2
      example/peripherals/gicv3/slave/configs/e2000q_aarch32_demo_gic_slave.config
  30. 2
      example/peripherals/gicv3/slave/configs/phytiumpi_aarch32_firefly_gic_slave.config
  31. 4
      example/peripherals/pin/README.md
  32. 6
      example/peripherals/pwm/inc/pwm_common.h
  33. 2
      example/peripherals/pwm/src/pwm_dead_band_example.c
  34. 6
      example/peripherals/pwm/src/pwm_dual_channel_example.c
  35. 4
      example/peripherals/sata/sata_controller/README.md
  36. 4
      example/peripherals/sata/sata_pcie/README.md
  37. 3
      example/peripherals/sd/src/sdio/emmc_detect_example.c
  38. 4
      example/peripherals/sd/src/sdio/sdio_tf_read_write_example.c
  39. 12
      example/peripherals/timer/tacho/configs/e2000d_aarch32_demo_tacho.config
  40. 12
      example/peripherals/timer/tacho/configs/e2000d_aarch64_demo_tacho.config
  41. 12
      example/peripherals/timer/tacho/configs/e2000q_aarch32_demo_tacho.config
  42. 12
      example/peripherals/timer/tacho/configs/e2000q_aarch64_demo_tacho.config
  43. 4
      example/storage/sfud/src/sfud_read_write_example.c
  44. 2
      example/storage/sfud/src/sfud_spi_bench_example.c
  45. 2
      example/storage/sfud/src/sfud_spiffs_basic_example.c
  46. 2
      example/storage/sfud/src/sfud_spiffs_mount_example.c
  47. 10
      example/system/amp/libmetal_test/README.md
  48. 4
      example/system/amp/libmetal_test/apu_running/configs/d2000_aarch32_TEST_apu.config
  49. 256
      example/system/amp/libmetal_test/apu_running/configs/ft2004_aarch32_DSK_apu.config
  50. 254
      example/system/amp/libmetal_test/apu_running/configs/ft2004_aarch64_DSK_apu.config
  51. 17
      example/system/amp/libmetal_test/apu_running/makefile
  52. 233
      example/system/amp/libmetal_test/configs/ft2004_aarch32_DSK_boot.config
  53. 231
      example/system/amp/libmetal_test/configs/ft2004_aarch64_DSK_boot.config
  54. 22
      example/system/amp/libmetal_test/makefile
  55. 4
      example/system/amp/libmetal_test/rpu_running/configs/d2000_aarch32_TEST_rpu.config
  56. 246
      example/system/amp/libmetal_test/rpu_running/configs/ft2004_aarch32_DSK_rpu.config
  57. 244
      example/system/amp/libmetal_test/rpu_running/configs/ft2004_aarch64_DSK_rpu.config
  58. 18
      example/system/amp/libmetal_test/rpu_running/makefile
  59. 2
      example/system/amp/openamp/core0/configs/d2000_aarch32_TEST_openamp_core0.config
  60. 2
      example/system/amp/openamp/core0/configs/ft2004_aarch32_DSK_openamp_core0.config
  61. 4
      example/system/amp/openamp/makefile
  62. 10
      example/system/arch/armv8/psci/README.md
  63. 21
      example/system/arch/armv8/psci/makefile
  64. 2
      example/system/arch/armv8/psci/psci_test/configs/e2000d_aarch32_demo_psci.config
  65. 2
      example/system/arch/armv8/psci/psci_test/configs/e2000q_aarch32_demo_psci.config
  66. 2
      example/system/arch/armv8/psci/psci_test/configs/phytiumpi_aarch32_firefly_psci.config
  67. 23
      tools/build/archived_libs.mk
  68. 6
      tools/build/boot_code/available_space.h
  69. 34
      tools/build/boot_code/sdkconfig
  70. 33
      tools/build/boot_code/sdkconfig.h
  71. 7
      tools/build/build.mk
  72. 2
      tools/build/compiler.mk

28
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 <br>E2000 <br>D2000 <br>PHYTIUMPI| | lwip_startup |
| LWIP | FT2000/4 <br>D2000 <br>E2000 <br>PHYTIUMPI| | lwip_startup |
| RAW | FT2000/4 <br>E2000 <br>D2000 <br>PHYTIUMPI| | raw_api |
| Storage | Platform Supported | Platform Developing | Component |
@ -236,7 +226,7 @@ D2000 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个
| System | Platform Supported | Platform Developing | Component |
| -------------------| ------------------------------------------| ------------------------------------ | ---------------------- |
| LIBMETAL | E2000 <br>D2000 <br>PHYTIUMPI | FT2000/4 | amp/libmetal_test |
| AMP | FT2000/4 <br>E2000 <br>D2000 <br>PHYTIUMPI| | amp/openamp |
| AMP | E2000 <br>PHYTIUMPI | FT2000/4 <br>D2000 | amp/openamp |
| PSCI | FT2000/4 <br>E2000 <br>D2000 <br>PHYTIUMPI| | arch/armv8/psci |
| SCMI | E2000 | | scmi_mhu |
| ATOMIC | FT2000/4 <br>E2000 <br>D2000 <br>PHYTIUMPI| | atomic |

57
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

28
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

BIN
drivers/media/fdcdp_lib/fdcdp_standalone_a32.a

Binary file not shown.

BIN
drivers/media/fdcdp_lib/fdcdp_standalone_a64.a

Binary file not shown.

3
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

1
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

3
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

1
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

3
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

1
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

1
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

1
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 */

3
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

1
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

3
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

1
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

3
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

1
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

1
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

1
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 */

8
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
#

8
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
#

8
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
#

8
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
#

1
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

2
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

2
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

2
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

2
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

4
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.
- 串口线和串口上位机
- 逻辑分析仪

6
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

2
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;

6
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));

4
example/peripherals/sata/sata_controller/README.md

@ -96,13 +96,13 @@ bootelf -p 0x90100000
><font size="1">描述输入输出情况,列出存在哪些输出,对应的输出是什么(建议附录相关现象图片)</font><br />
#### 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
```

4
example/peripherals/sata/sata_pcie/README.md

@ -98,13 +98,13 @@ bootelf -p 0x90100000
><font size="1">描述输入输出情况,列出存在哪些输出,对应的输出是什么(建议附录相关现象图片)</font><br />
#### 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
```

3
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 */
{

4
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 */
{

12
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

12
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

12
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

12
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

4
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);

2
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 */

2
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 */

2
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 */

10
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)

4
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

256
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

254
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

17
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

233
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

231
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

22
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

4
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

246
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

244
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

18
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

2
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

2
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

4
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

10
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. 程序内交互命令:

21
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

2
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

2
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

2
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

23
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

6
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

34
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

33
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 */

7
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)

2
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

Loading…
Cancel
Save