9.6 KiB
Phytium-Standalone-SDK
v0.1.11 ReleaseNote
1. 项目概要
1.1 基本介绍
本项目发布了 Phytium 系列 CPU 的 嵌入式软件开发工具包,包括板级支持包、第三方开源中间件、交叉编译构建工具、及其 Baremetal 参考例程,在支持多平台裸机应用开发的基础上,能够为多种RTOS提供外设驱动和配置构建工具。
1.2 系统架构
本项目的整体设计如下所示,自下而上可以分为平台层、组件层、框架层和应用层。
-
平台层(Platform)在整个软件框架中位于最底层,提供了基本数据结构类型定义、驱动参数标定、硬件平台耦合的寄存器自检、板级启动、CPU 内存虚拟等功能
-
组件层(Component)在整个软件框架中位于中间位置,向下依赖于平台层提供的参数配置与内存方案,向上提供应用开发与模块测试的支持
-
框架层(Framework)为开发主机提供了开发环境,支持SDK安装,应用工程配置和二进制文件构建及烧录等工具。
-
应用层(Application)提供了应用开发模板和例程,帮助开发者迅速熟悉SDK的使用,进行不同类型的应用程序开发
1.3. 源代码结构
.
├── Kconfig --> 配置定义
├── LICENSE --> 版权声明
├── README.md --> 使用说明
├── arch
│ └── armv8 --> 架构相关
├── baremetal
│ └── example --> 裸机例程
├── board
│ ├── d2000
│ ├── e2000
│ └── ft2004 --> 平台相关
├── common
│ ├── f_printf.c
│ ├── f_printf.h
│ ├── fsleep.c
│ └── fsleep.h --> 通用方法
├── configs
│ ├── ft2004_aarch32_defconfig
│ └── ft2004_aarch64_defconfig --> 各平台默认配置
├── doc
│ ├── ChangeLog.md
│ └── system.dio --> 文档和修改记录
├── drivers
│ ├── can
│ ├── dma
│ └── watchdog --> 外设驱动
├── install.py --> 安装脚本
├── lib
│ ├── Kconfiglib
│ ├── lib.mk
│ ├── libc
│ └── nostdlib --> 依赖库
├── make
│ ├── build_baremetal.mk
│ ├── buildinfo.mk
│ ├── complier.mk
│ └── preconfig.mk --> 编译脚本和链接脚本
├── requirements.txt --> python环境依赖组件
├── scripts
├── standalone.mk
├── third-party
│ ├── letter-shell-3.1
│ └── yaffs2 --> 第三方库
├── tools
└── uninstall.py --> 卸载脚本
2. 快速入门
- 目前支持在Windows和Linux上使用SDK,支持在x86_64和arm aarch64设备上完成交叉编译
-
参考Windows10 快速入门, Linux x86_64 快速入门或Linux arm aarch64 快速入门搭建Phytium Standalone SDK的软件环境
-
参考使用说明, 新建Phytium Standalone SDK的应用工程,与开发板建立连接
-
参考例程,开始使用SDK
3. 硬件参考
3.1 FT2000-4
FT-2000/4 是一款面向桌面应用的高性能通用 4 核处理器。每 2 个核构成 1 个处理器核簇(Cluster),并共享 L2 Cache。主要技术特征如下:
- 兼容 ARM v8 64 位指令系统,兼容 32 位指令
- 支持单精度、双精度浮点运算指令
- 支持 ASIMD 处理指令
- 集成 2 个 DDR4 通道,可对 DDR 存储数据进行实时加密
- 集成 34 Lane PCIE3.0 接口:2 个 X16(每个可拆分成 2 个 X8),2 个 X1
- 集成 2 个 GMAC,RGMII 接口,支持 10/100/1000 自适应
- 集成 1 个 SD 卡控制器,兼容 SD 2.0 规范
- 集成 1 个 HDAudio,支持音频输出,可同时支持最多 4 个 Codec
- 集成 SM2、SM3、SM4 模块
- 集成 4 个 UART,1 个 LPC,32 个 GPIO,4 个 I2C,1 个 QSPI,2 个通 用 SPI,2 个 WDT,16 个外部中断(和 GPIO 共用 IO)
- 集成温度传感器
3.2 D2000
D2000 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个核构成 1 个处理器核簇(Cluster),并共享 L2 Cache。存储系统包含 Cache 子系统和 DDR,I/O 系统包含 PCIe、高速 IO 子系统、千兆位以太网 GMAC 和低速 IO 子系统,主要技术特征如下,
- 兼容 ARM v8 64 位指令系统,兼容 32 位指令
- 支持单精度、双精度浮点运算指令
- 支持 ASIMD 处理指令
- 集成 2 个 DDR 通道,支持 DDR4 和 LPDDR4,可对 DDR 存储数据进行实时加密
- 集成 34 Lane PCIE3.0 接口:2 个 X16(每个可拆分成 2 个 X8),2 个 X1
- 集成 2 个 GMAC,RGMII 接口,支持 10/100/1000 自适应
- 集成 1 个 SD 卡控制器,兼容 SD 2.0 规范
- 集成 1 个 HDAudio,支持音频输出,可同时支持最多 4 个 Codec
- 集成 SM2、SM3、SM4、SM9 模块
- 集成 4 个 UART,1 个 LPC,32 个 GPIO,4 个 I2C,1 个 QSPI,2 个通用 SPI,2 个 WDT,16 个外部中断(和 GPIO 共用 IO)
- 集成 2 个温度传感器
3.3 外设驱动支持情况
Hardware Interface | Platform Supported | Platform Developing | Component |
---|---|---|---|
Generic Intrrupt Controller v3 | FT2000/4 E2000 D2000 |
gic/gicv3 | |
Generic Timer | FT2000/4 E2000 D2000 |
generic_timer | |
UART (PrimeCell PL011) | FT2000/4 E2000 D2000 |
usart/pl011_uart | |
10/100/1000MB-ETHERNET | FT2000/4 D2000 |
E2000 | eth/f_gmac |
CAN | FT2000/4 | E2000 | can/ft_can |
GPIO | FT2000/4 E2000 D2000 |
gpio/f_gpio | |
I2C | FT2000/4 D2000 |
E2000 | i2c/fi2c |
IOMUX | FT2000/4 D2000 |
iomux/f_iomux | |
QSPI (Nor Flash) | FT2000/4 D2000 |
E2000 | qspi/nor_qspi |
SPI | FT2000/4 D2000 |
E2000 | spi/fspim |
TIMER & TACHO | E2000 | timer/hw_timer_tacho | |
SDMMC | FT2000/4 D2000 |
mmc/f_sdmmc | |
PCIE | FT2000/4 | E2000 D2000 |
pcie/fpcie |
GDMA | E2000 | dma/gdma | |
WDT | FT2000/4 D2000 E2000 |
watchdog/fwdt | |
NAND | E2000 | nand/fnand | |
RTC | FT2000/4 D2000 |
E2000 | rtc/frtc |
Third-Party | Platform Supported | Platform Developing | Component |
---|---|---|---|
LWIP 2.1.2 | FT2000/4 D2000 |
E2000 | lwip-2.1.2 |
Letter shell 3.1 | FT2000/4 D2000 |
E2000 | letter-shell-3.1 |
Libmetal 1.0.0 | FT2000/4 D2000 |
E2000 | libmetal-1.0.0 |
Sdmmc | FT2000/4 D2000 |
E2000 | sdmmc |
Yaffs2 | E2000 | ||
Sfud 1.1.0 | FT2000/4 D2000 |
4. API指南
4.1 FI2C
4.2 FPL011
4.3 FRTC
4.4 FWDT
4.5 FSPIM
5. 贡献方法
请联系飞腾嵌入式软件部
wangxiaodong1030@phytium.com.cn
6. 相关资源
- ARM Architecture Reference Manual
- ARM Cortex-A Series Programmer’s Guide
- Programmer Guide for ARMv8-A
- ARM System Developers Guide Designing and Optimizing System Software
- FT-2000/4 软件编程手册-V1.4
- D2000 软件编程手册-V1.0
- Bare-metal programming for ARM —— A hands-on guide
- Using the GNU Compiler Collection
- Using ld, The GNU Linker
- Using as, The GNU Assembler
- Armv8-A memory model guide
7. 许可协议
Apache-2.0