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
5c065877ad
|
3 years ago | |
---|---|---|
.gitee | 3 years ago | |
.vscode | 3 years ago | |
baremetal/example | 3 years ago | |
bsp | 3 years ago | |
configs | 3 years ago | |
doc | 3 years ago | |
lib | 3 years ago | |
make | 3 years ago | |
scripts | 3 years ago | |
third-party | 3 years ago | |
tools | 3 years ago | |
.gitattributes | 3 years ago | |
.gitignore | 3 years ago | |
Kconfig | 3 years ago | |
LICENSE | 3 years ago | |
README.md | 3 years ago | |
install.sh | 3 years ago |
README.md
Phytium-Standalone-SDK
1. 介绍
本项目发布了Phytium系列CPU的BSP源码,Baremetal参考例程及其配置编译工具
2. Ubuntu 20.04 x86_64环境下使用Standalone SDK
2.1. 选择在线方式安装SDK
- 通过Gitee拉取Standalone SDK源代码
$ git clone https://gitee.com/phytium_embedded/phytium-standalobe-sdk.git ~/standalone_sdk
$ cd ~/standalone_sdk
- 检查install.sh的执行权限, 如果没有执行权限
x
,需要利用chmod +x ./install.sh
添加执行权限
$ ls ./install.sh -l
-rwxrwxrwx 1 usr usr 6353 Jul 21 10:13 ./install.sh
- 在线下载源代码和编译环境,完成FreeRTOS SDK安装
$ ./install.sh -online
- 安装完成后重启系统,生效FreeRTOS SDK环境
2.2. 选择离线方式安装SDK
-
下载AARCH32编译器
-
下载AARCH64编译器
-
解压phytium_standalone_sdk.zip为
~/standalone_sdk
(路径名可以自定义) -
将AARCH32、AARCH64编译器压缩包放置在
~/standalone_sdk/tools
(必须放置在tools路径下) -
确保install.sh有执行权限,
~/standalone_sdk
Standalone SDK安装
$ ./install.sh
- 安装完成后重启系统,生效FreeRTOS SDK环境
2.3 新建一个baremetal应用工程
- 复制
~/standalone-sdk/example/template
目录,作为baremetal应用工程
*
表示可选文件
$ ls
Kconfig --> 应用工程配置menu文件
Makefile --> makefile
inc --> 用户头文件*
main.c --> 包含main函数
sdkconfig --> 配置输出
sdkconfig.h --> 配置输出
src --> 用户源文件*
- 编译应用工程, 生成*.bin文件用于下载到开发板
$ make
$ ls
template.bin --> 二进制文件
template.dis --> 反汇编文件
template.elf --> ELF文件
template.map --> 内存布局文件
2.4 快速使用例程
~/standalone-sdk/example/aarch32_hello_world
3. SDK源代码结构
.
├── Kconfig --> 配置定义
├── LICENSE --> 版权声明
├── README.md
├── baremetal
│ └── example --> 裸机例程
├── bsp --> 板级支持包
│ ├── Kconfig
│ ├── arch
│ ├── bsp.mk
│ ├── common
│ └── drivers
├── configs --> 各板子启动用的默认配置
│ ├── aarch32_defconfig
│ └── aarch64_defconfig
├── doc
│ ├── ChangeLog.md
│ ├── baremetal.dio
│ ├── baremetal.png
│ └── checklist.md
├── install.sh --> 环境变量安装脚本
├── lib --> 依赖库
│ ├── Kconfig
│ ├── Kconfiglib
│ ├── lib.mk
│ ├── libc
│ └── nostdlib
├── make --> Makefile文件
│ ├── build_baremetal.mk
│ ├── buildinfo.mk
│ ├── complier.mk
│ ├── ld
│ ├── ld.mk
│ ├── menuconfig.mk
│ ├── packsource.mk
│ └── preconfig.mk
├── scripts --> 相关脚本
│ ├── diffdir.md
│ ├── diffdir.sh
│ ├── kill_qemu_instance.sh
│ ├── mount2vxbox.sh
│ ├── release_tag.sh
│ └── wsl_import_export.bat
├── third-party --> 第三方库
│ ├── Kconfig
│ ├── coremark
│ └── third-party.mk
└── tools --> 编译构建相关工具
├── README.md
├── gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf
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. 贡献方法
请联系飞腾嵌入式软件部
8. 许可协议
Apache-2.0