v1.4.0 ReleaseNote
如需Phytium全系CPU的软件适配支持,请联系 linan1284@phytium.com.cn
本项目代码仓库整体共分为两个分支: master 分支:开发分支,用于保存最新的协作开发代码以及bug修复后的代码。其只要求保障新功能基本正确并且能够满足基本的使用需求,并没有经过系统性和复杂条件下的测试。 release 分支:发布分支,包含核心启动代码、芯片外设驱动、用户使用例程和构建的脚本工具。用于保存经过系统性测试的代码并对外发布版本,默认下载此分支的代码。
本项目发布了 Phytium 系列 CPU 的 嵌入式软件开发工具包,包括板级支持包、第三方开源中间件、交叉编译构建工具、及其 Baremetal 参考例程,在支持多平台裸机应用开发的基础上,能够为多种RTOS提供外设驱动和配置构建工具。

本项目的整体设计如下所示,自下而上可以分为平台层、组件层、框架层和应用层。

.
├── standalone.kconfig --> 配置定义
├── LICENSE --> 版权声明
├── README.md --> 使用说明
├── arch
│ └── armv8 --> 架构相关
├── board
│ ├── e2000d_demo
│ ├── e2000q_demo
│ ├── d2000_test
│ ├── ft2004_dsk
│ ├── phytiumpi_firefly
│ ├── pd2308_demo
│ ├── pd2408_test_a
│ ├── pd2408_test_b
│ └── user --> 板级IO复用,初始化和用户定义相关
├── common
│ ├── fprintf.c
│ ├── fprintf.h
│ ├── fsleep.c
│ └── fsleep.h --> 通用方法
├── doc
│ ├── ChangeLog.md --> 修改记录
│ └── reference --> 接口说明文档
├── drivers
│ ├── can
│ ├── dma
│ ├── ...
│ └── watchdog --> 外设驱动
├── example --> 裸机例程
├── lib
│ ├── Kconfiglib
│ └── libc --> 依赖库
├── scripts
├── soc
│ ├── pd1904
| ├── pe220x
│ ├── pd2308
│ ├── pd2408
│ ├── ps2316
│ └── pd2008 --> soc平台相关
├── third-party
│ └── letter-shell-3.1 --> 第三方库
├── tools
├── install.py --> 安装脚本
└── requirements.txt --> python环境依赖组件





PD1904 是一款面向桌面应用的高性能通用 4 核处理器。每 2 个核构成 1 个处理器核簇(Cluster),并共享 L2 Cache。主要技术特征如下:
PD2008 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个核构成 1 个处理器核簇(Cluster),并共享 L2 Cache。存储系统包含 Cache 子系统和 DDR,I/O 系统包含 PCIe、高速 IO 子系统、千兆位以太网 GMAC 和低速 IO 子系统,主要技术特征如下,
PD2408 是一款国产自主的处理器芯片,主要适用于笔记本电脑,也可用于独显,低成本台式机。存储系统包含 Cache 子系统和 DDR,I/O 系统包含 PCIe、高速 IO 子系统、千兆位以太网 GMAC 和低速 IO 子系统,主要技术特征如下,
| ai | Platform Supported | Platform Developing | Component |
|---|---|---|---|
| TINYMAIX | PD1904、PE220X、PD2008、PD2308、PS2316 | tinymaix_demo |
| Peripherals | Platform Supported | Platform Developing | Component |
|---|---|---|---|
| Generic Interrupt Controller v3 | PD1904、PE220X、PD2008、PD2308、PS2316、PD2408 | gicv3 | |
| Generic Timer | PD1904、PE220X、PD2008、PD2308、PS2316、PD2408 | generic_timer | |
| UART (PrimeCell PL011) | PD1904、PE220X、PD2008、PD2308、PS2316 | serial | |
| ADC | PE220X | adc | |
| CAN | PD1904、PE220X、PD2008、PD2308 | can/can | |
| DDMA | PE220X、 | seria/ddma | |
| GDMA | PE220X、PD2308、PD2408 | dma/gdma | |
| IOPAD | PE220X、、PD2408 | iopad | |
| IPC | PE220X、 | ipc/semaphore | |
| I2C | PE220X、PD2308、PD2408 | PD1904/PD2008 | i2c |
| I2S | PE220X、PD2308、PD2408 | i2s | |
| PIN | PE220X、PD2008、PD2308 | PD1904/PD2008 | pin |
| QSPI (Nor Flash) | PD1904、PE220X 、PD2008、PD2308、PD2408 | qspi | |
| SPI | PD1904、PE220X 、PD2008、PD2308、PD2408 | spi | |
| TIMER & TACHO | PE220X、PD2308、PD2408 | timer&tacho | |
| MIO | PE220X、 | i2c & serial | |
| SDMMC | PD1904、PD2008 | sd | |
| SDIO | PE220X、PD2308、PD2408 | sd | |
| PCIE RC | PE220X、PD1904、PD2008、PD2308、PS2316 | pcie rc | |
| SATA | PE220X、PD2308、PD2408 | sata/sata_controller | |
| SATA PCIE | PD1904、PE220X、PD2008、PD2308、PD2408 | sata/sata_pcie | |
| PWM | PE220X、PD2308、PD2408 | pwm | |
| WDT | PD1904、PD2008、PE220X、PD2308、PS2316、PD2408 | wdt | |
| USB(Device) | PE220X、PD2408 | usb/usb_device |
| Media | Platform Supported | Platform Developing | Component |
|---|---|---|---|
| DP | PE220X | media_test | |
| LVGL | PE220X | lvgl_demo_test |
| SEC | Platform Supported | Platform Developing | Component |
|---|---|---|---|
| RND | PE220X | PD2408 | trng_test |
| SHA | PE220X | sha_test |
| Network | Platform Supported | Platform Developing | Component |
|---|---|---|---|
| LWIP | PD1904、PD2008、PE220X | lwip_startup | |
| RAW | PD1904、PE220X、PD2008 | raw_api |
| Storage | Platform Supported | Platform Developing | Component |
|---|---|---|---|
| FATFS | PD1904、PE220X、PD2008、PD2308、PD2408 | fatfs | |
| MEMORY_POOL | PD1904、PE220X、PD2008、PD2308、PS2316、PD2408 | memory_pool_test | |
| SFUD | PD1904、PE220X、PD2308、PD2408 | PD2008 | sfud |
| SPIFFS | PD1904、PE220X、PD2308 、PD2408 | PD2008 | spiffs |
| System | Platform Supported | Platform Developing | Component |
|---|---|---|---|
| TEMPLATE | PD1904、PE220X、PD2008、PD2308、PS2316、PD2408 | template_test | |
| AMP_TOOLS | PE220X、PD2308、PD2008、PS2316、PD2408 | amp/amp_tools_example | |
| LIBMETAL | PE220X、PD2008、PD1904、PD2308、PS2316、PD2408 | amp/libmetal_test | |
| AMP | PE220X、PD1904、PD2008、PD2308、PS2316、PD2408 | amp/openamp、amp/openamp_echo_remoteproc_load | |
| PSCI | PD1904、PE220X、PD2008、PD2308、PS2316、PD2408 | arch/armv8/psci、arch/armv8/mmu、arch/armv8/pmu | |
| SCMI | PE220X、PD2308、PD2408 | scmi_mhu | |
| ATOMIC | PD1904、PE220X、PD2008、PD2308、PS2316、PD2408 | atomic | |
| C++ | PD1904、PE220X、PD2008、PD2308、PS2316 | cxx/cryptopp&get-start | |
| SHELL | PD1904、PE220X、PD2008、PD2308、PS2316、PD2408 | letter_shell_test | |
| NESTED INTERRUPT | PD1904、PE220X、PD2008、PD2308、PS2316 | nested_interrupt | |
| CMSIS | PD1904、PE220X、PD2008、PD2308、PS2316 | cmsis | |
| DELAY | PE220X、 | delay | |
| NEWLIB | PD1904、PE220X、PD2008、PD2308、PS2316 | newlib | |
| UNWIND | PD1904、PE220X、PD2008、PD2308、PS2316 | unwind | |
| FJTAG | PE220X | jtag_debugging | |
| ACPI | PD2308 | acpi_devices/acpi_utilities | |
| FDT | PD2308 | fdt_devices | |
| PCI device | Platform Supported | Platform Developing | Component |
| ---------- | ---------------------------------------------- | ------------------- | ---------------------------- |
| E1000 | PD1904、PE220X、PD2008、PD2308、PS2316、PD2408 | example\network\lwip_startup | |
| NVME | PD1904、PE220X、PD2008、PD2308、PS2316、PD2408 | example\peripherals\pcie |
请联系飞腾嵌入式软件部
wangxiaodong1030@phytium.com.cn
liushengming1118@phytium.com.cn