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.
 
 
 
 
 
 
zhugengyu e7475ddf43 !4 合入v0.0.3 3 years ago
.gitee Initial commit 3 years ago
.vscode init standalone sdk 3 years ago
baremetal/example fix mmu issue, reset sctrl 3 years ago
bsp fix mmu issue, reset sctrl 3 years ago
configs init standalone sdk 3 years ago
doc !1 v0.0.2 合入适配FreeRTOS SDK 3 years ago
lib init standalone sdk 3 years ago
make !2 v0.0.2 合入适配FreeRTOS SDK 第二次合入 3 years ago
scripts !1 v0.0.2 合入适配FreeRTOS SDK 3 years ago
tools init standalone sdk 3 years ago
.gitignore !4 合入v0.0.3 3 years ago
Kconfig update Readme 3 years ago
LICENSE Initial commit 3 years ago
README.md !4 合入v0.0.3 3 years ago
install.sh !4 合入v0.0.3 3 years ago

README.md

Phytium-Standalone-SDK

1. 介绍

本项目发布了Phytium系列CPU的BSP源码,Baremetal参考例程及其配置编译工具

2. Ubuntu 20.04 x86_64环境下使用Standalone SDK

2.1. 配置SDK

2.1.1. 下载SDK源代码

  • 通过Gitee拉取源代码
$ git clone https://gitee.com/phytium_embedded/phytium-standalone-sdk.git ./ft_sdk
$ cd ./ft_sdk

2.1.2 选择在线方式安装SDK

  • 选择在线方式安装Standalone SDK在~/ft_sdk
$ ./install.sh -online

download cc

2.1.3 选择离线方式安装SDK

  • 在ARM官网下载AARCH32AARCH64编译器
  • 将下载的编译器安装包放置在'~/ft_sdk/tools'路径下
  • 安装SDK开发环境,没有打印错误信息表示安装成功
$ ./install.sh
Please type in 'source ./export.sh'
Phytium Embedded SDK Setup Done!!
Install AARCH32 Compiler at  /home/ubuntu/ft_sdk/tools/gcc-arm-none-eabi-10-2020-q4-major
Install AARCH64 Compiler at  /home/ubuntu/ft_sdk/tools/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf
SDK Path is set as /home/ubuntu/ft_sdk/standalone-sdk-master
  • 通过离线/在线方式完成安装后,关闭当前窗口或者运行以下命令,立即生效SDK环境变量
$ source ~/.profile

2.2 快速使用例程

2.2.1 使用FT2000-4开发板,快速体验SDK

ft_sdk/baremetal/example/aarch32_hello_world

  • 编译例程hello_world

compiling ft2004

  • 通过TFTP服务器下载到开发板上

load-bin

  • 跳转启动例程

boot os

2.2.2 没有开发板,可以通过模拟器体验一下SDK

ft_sdk/baremetal/example/aarch32/qemu_debug

  • 编译例程qemu_debug
$ make

make qemu example

  • 运行例程qemu_debug
$ make run

run qemu

2.2.3 新建Baremetal应用工程

  • 复制例程hello_world
  • 在工程目录下添加源文件
  • 通过'make menuconfig'修改配置 menuconfig
Project Configuration     --> 当前工程的私有配置
Target Setting            --> 配置目标硬件平台
Building Option           --> 配置编译开发环境
Board Configuration       --> 配置开发板组件
Library Configuration     --> 配置依赖库
  • 通过'make info'观察构建信息
$make info		 --> 查看交叉编译器的信号,编译输出路径,SDK根目录等信息
$make info-srcs		 --> 查看编译过程中用到的源文件
$make info-incs		 --> 查看编译过程中引用的目录
$make info-flags         --> 查看编译过程中的flags
  • 通过'make'完成编译构建

3. Standalone源码结构

.
├── Kconfig                    --> 顶层配置选项定义
├── LICENSE
├── README.en.md
├── README.md
├── baremetal
│   └── example                --> 已经配置好的baremetal例程
├── bsp                        --> 板级支持包
│   ├── Kconfig
│   ├── arch                   --> 架构相关源码 armv7/a32/a64 
│   ├── bsp.mk
│   ├── common                 --> BSP 不同平台的共用源码
│   └── drivers                --> 各类驱动
├── configs                    --> 各平台默认匹配文件
│   ├── aarch32_defconfig
│   └── aarch64_defconfig
├── doc
│   ├── ChangeLog.md           --> 版本变更日志
│   ├── baremetal.dio
│   └── baremetal.png
├── export.sh                  --> SDK注册安装脚本
├── lib
│   ├── Kconfig
│   ├── Kconfiglib
│   ├── lib.mk
│   ├── libc
│   └── nostdlib
├── make                       --> SDK共用Makefile
│   ├── build_baremetal.mk
│   ├── buildinfo.mk
│   ├── complier.mk
│   ├── ld
│   ├── ld.mk
│   ├── menuconfig.mk
│   ├── packsource.mk
│   └── preconfig.mk
├── scripts
│   ├── kill_qemu_instance.sh
│   └── mount2vxbox.sh
└── tools                     --> 必要的工具,编译器安装在这个路径下
    ├── README.md
    ├── gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf
    ├── gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xz
    ├── gcc-arm-none-eabi-10-2020-q4-major    --> SDK注册过程中下载安装
    └── gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz

4. 驱动描述

5. 硬件平台

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
  • 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. 贡献方法

请联系飞腾嵌入式软件部

huanghe@phytium.com.cn

zhugengyu@phytium.com.cn


8. 许可协议

Apache-2.0