You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

9.1 KiB

Phytium-Standalone-SDK

v0.1.9 ReleaseNote


1. 项目概要

1.1 基本介绍

本项目发布了 Phytium 系列 CPU 的 嵌入式软件开发工具包,包括板级支持包、第三方开源中间件、交叉编译构建工具、及其 Baremetal 参考例程,在支持多平台裸机应用开发的基础上,能够为多种RTOS提供外设驱动和配置构建工具。

title

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设备上完成交叉编译

windowslinux输入图片说明


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/f_spi
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
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

4. API指南

4.1 I2C


5. 贡献方法

请联系飞腾嵌入式软件部

huanghe@phytium.com.cn

zhugengyu@phytium.com.cn

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