|
|
@ -1,6 +1,6 @@ |
|
|
|
# Phytium-Standalone-SDK |
|
|
|
|
|
|
|
**v0.1.5** [ReleaseNote](./doc/ChangeLog.md) |
|
|
|
**v0.1.6** [ReleaseNote](./doc/ChangeLog.md) |
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
@ -12,259 +12,154 @@ |
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
## 2. 安装使用 |
|
|
|
## 2. 安装方法 |
|
|
|
|
|
|
|
### 2.1 Windows 10 x86_64 环境下使用 Standalone SDK |
|
|
|
### 2.1 获取SDK的开发环境 |
|
|
|
|
|
|
|
#### 2.1.1 在线安装`Msys2`搭建开发环境 |
|
|
|
- 按照不同开发平台获取DEV压缩包 |
|
|
|
|
|
|
|
> 如果不想安装,可以参考 2.1.2 使用已经安装好的Portable开发环境 |
|
|
|
- [Windows10](https://pan.baidu.com/s/1i7rkUPzXwhbyasbhlUKPmQ) |
|
|
|
>提取码:WX64 |
|
|
|
|
|
|
|
##### 2.1.1.1 准备安装包 |
|
|
|
- [Ubuntu 20.04 x86_64](https://pan.baidu.com/s/1GrXHCygjcySKxARQ5UduTA ) |
|
|
|
>提取码:LX64 |
|
|
|
![linux-x86_64](https://images.gitee.com/uploads/images/2021/1019/095533_a960e2a6_8736513.png "linux-x86_64.png") |
|
|
|
|
|
|
|
1. 获取[Windows环境安装包](https://pan.baidu.com/s/17WX5hec7t8_ubAKzFCwQAA) |
|
|
|
- [Ubuntu/Kylis OS aarch64](https://pan.baidu.com/s/1pDWZIdI-dRle4NOIsP-TQA ) |
|
|
|
>提取码:LA64 |
|
|
|
|
|
|
|
> 提取码:MGW6 |
|
|
|
![linux-aarch64](https://images.gitee.com/uploads/images/2021/1019/101040_ff6c194e_8736513.png "linux-aarch64.png") |
|
|
|
|
|
|
|
- msys2, `msys2-x86_64-20210725.exe` |
|
|
|
- mingw64-arm交叉编译链, `gcc-arm-10.3-2021.07-mingw-w64-i686-arm-none-eabi.tar.xz`, `gcc-arm-10.3-2021.07-mingw-w64-i686-aarch64-none-elf.tar.xz` |
|
|
|
- tftp工具,`tftp.zip` |
|
|
|
Q:如何解压SDK开发环境压缩包 |
|
|
|
> Windows环境下可以用通用的unzip工具解压,如7zip和winrar |
|
|
|
|
|
|
|
##### 2.1.1.2 配置开发环境目录 |
|
|
|
> Linux/KylinOS环境下可以用unzip命令解压 |
|
|
|
|
|
|
|
1. 创建Windows集成开发环境(DEV目录),如`D:/phytium-dev`, 将DEV目录添加在Windows环境变量中,变量名为`PHYTIUM_DEV_PATH`,如下图所示,保存环境变量, |
|
|
|
### 2.2 安装SDK开发环境 |
|
|
|
|
|
|
|
> 对于Windows 10,在桌面左下角系统搜索框中输入“环境变量”即可进入环境变量编辑界面 |
|
|
|
> 对于Windows 10平台,2.1章节的开发环境压缩包中通过msys2控制台提供了git工具 |
|
|
|
|
|
|
|
> DEV目录中不要留空格 |
|
|
|
> 对于Linux/KylinOS平台,可以通过`sudo apt-get install build-essential`安装git等工具 |
|
|
|
|
|
|
|
![输入图片说明](https://images.gitee.com/uploads/images/2021/1013/192453_4e609b79_8736513.png "配置环境变量.png") |
|
|
|
#### 2.2.1 Windows 10 |
|
|
|
|
|
|
|
2. 保存DEV环境变量后,打开一个控制台,输入`echo %PHYTIUM_DEV_PATH%`,检查环境变量是否设置成功, |
|
|
|
- Windows10下使用SDK依赖Msys2, 推荐使用2.1章提供的开发环境, 也可以参考2.3章手动安装Msys2 |
|
|
|
- (1). 添加Windows环境变量,`PHYTIUM_DEV_PATH`(环境变量名**不能自定义**),例如,指向文件夹`E:\phytium-dev-windows-nt`(可以自定义) |
|
|
|
|
|
|
|
![输入图片说明](https://images.gitee.com/uploads/images/2021/1013/164646_3fbc5df8_8736513.png "检查环境变量.png") |
|
|
|
![配置环境变量](https://images.gitee.com/uploads/images/2021/1019/105259_18e64169_8736513.png "配置环境变量.png") |
|
|
|
|
|
|
|
##### 2.1.1.3 安装`Msys2`到开发环境中 |
|
|
|
- (2). 进入DEV目录,双击脚本`run_msys2.cmd`, 进入msys2控制台, 运行`source ./update_sdk_dev.sh`,安装开发环境 |
|
|
|
|
|
|
|
1. 双击`msys2-x86_64-20210725.exe`,设置`Msys2`的安装路径在DEV路径下,其余设置按默认安装,注意安装完成后不要马上启动,最后一步取消勾选“马上启动Msys2” |
|
|
|
![安装开发环境](https://images.gitee.com/uploads/images/2021/1019/105848_f49f8f72_8736513.png "安装开发环境.png") |
|
|
|
|
|
|
|
![输入图片说明](https://images.gitee.com/uploads/images/2021/1013/164805_4169d4d2_8736513.png "安装Msys2.png") |
|
|
|
![开发环境安装完成](https://images.gitee.com/uploads/images/2021/1019/110311_eeb15589_8736513.png "开发环境安装完成.png") |
|
|
|
|
|
|
|
![Msys2安装过程](https://images.gitee.com/uploads/images/2021/1013/135101_c8fc0454_8736513.png "Msys2安装过程.png") |
|
|
|
#### 2.2.2 Kylin OS/Ubuntu 20.04 |
|
|
|
|
|
|
|
2. `Msys2`安装完成后,需要添加国内软件源,否则下载速度会很慢,进入`D:\phytium-dev\msys64\etc\pacman.d`目录下,找到以下三个文件,在文件末尾分别添加对应的软件源 |
|
|
|
- (1). 解压开发环境压缩包,形成DEV目录 |
|
|
|
|
|
|
|
- mirrorlist.mingw32 |
|
|
|
``` |
|
|
|
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686 |
|
|
|
``` |
|
|
|
![解压DEV](https://images.gitee.com/uploads/images/2021/1019/110732_609695c3_8736513.png "解压DEV.png") |
|
|
|
|
|
|
|
- mirrorlist.mingw64 |
|
|
|
``` |
|
|
|
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64 |
|
|
|
``` |
|
|
|
- (2). 进入DEV目录,运行`source ./update_sdk_dev.sh`,安装开发环境 |
|
|
|
|
|
|
|
- mirrorlist.msys |
|
|
|
``` |
|
|
|
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch |
|
|
|
``` |
|
|
|
![安装开发环境](https://images.gitee.com/uploads/images/2021/1019/110951_4ce01ea1_8736513.png "安装开发环境.png") |
|
|
|
|
|
|
|
3. 进入`D:\phytium-dev\msys64`目录,双击`msys2_shell.cmd`启动运行`Msys2`,输入以下命令,更新`Msys2`软件,安装必要组件 |
|
|
|
![安装完成](https://images.gitee.com/uploads/images/2021/1019/111228_e0c5ea48_8736513.png "安装完成.png") |
|
|
|
|
|
|
|
> 如果执行失败,可以多次尝试,直到没有报错 |
|
|
|
#### 2.2.3 检查安装是否成功 |
|
|
|
|
|
|
|
> 安装过程全部选用默认方式`default`或选择`y`,注意如果没有`default = all`,需要输入`y` |
|
|
|
- 打印下列环境变量,观察各变量是否存在,指向的目录是否正确 |
|
|
|
> `PHYTIUM_DEV_PATH`指向DEV目录 |
|
|
|
|
|
|
|
``` |
|
|
|
$ pacman -Syu |
|
|
|
$ pacman -S mingw-w64-x86_64-toolchain |
|
|
|
$ pacman -S base-devel git python3 python3-pip |
|
|
|
``` |
|
|
|
|
|
|
|
![更新Msys2软件源](https://images.gitee.com/uploads/images/2021/1013/140545_6cda8ecc_8736513.png "更新Msys2软件源.png") |
|
|
|
|
|
|
|
4. 运行以下命令,检查组件是否安装完全 |
|
|
|
``` |
|
|
|
$ pacman -Q make git wget python3 python3-pip |
|
|
|
``` |
|
|
|
> `STANDALONE_SDK_ROOT`指向SDK源文件目录 |
|
|
|
|
|
|
|
##### 2.1.1.4 安装SDK和交叉编译链 |
|
|
|
> `AARCH32_CROSS_PATH`指向32位交叉编译链目录 |
|
|
|
|
|
|
|
- 通过 Gitee 拉取 Standalone SDK 源代码到DEV目录下,如`D:\PHYTIUM-DEV\phytium-standalone-sdk` |
|
|
|
> `AARCH64_CROSS_PATH`指向64位交叉编译链目录 |
|
|
|
|
|
|
|
``` |
|
|
|
$ git clone https://gitee.com/phytium_embedded/phytium-standalone-sdk.git |
|
|
|
./phytium-standalone-sdk |
|
|
|
$ cd ./phytium-standalone-sdk |
|
|
|
echo $PHYTIUM_DEV_PATH $STANDALONE_SDK_ROOT $AARCH32_CROSS_PATH $AARCH64_CROSS_PATH |
|
|
|
``` |
|
|
|
![检查环境变量](https://images.gitee.com/uploads/images/2021/1019/111414_f7639144_8736513.png "检查环境变量.png") |
|
|
|
|
|
|
|
- 将交叉编译链压缩包`gcc-arm-10.3-2021.07-mingw-w64-i686-arm-none-eabi.tar.xz`, `gcc-arm-10.3-2021.07-mingw-w64-i686-aarch64-none-elf.tar.xz`放置在`D:\PHYTIUM-DEV\phytium-standalone-sdk\tools`下 |
|
|
|
|
|
|
|
- 创建SDK的profile文件,并添加读写权限 |
|
|
|
``` |
|
|
|
$ touch /etc/profile.d/phytium_standalone_sdk.sh |
|
|
|
$ chmod 666 /etc/profile.d/phytium_standalone_sdk.sh |
|
|
|
``` |
|
|
|
|
|
|
|
- 在`D:\phytium-dev\phytium-standalone-sdk`目录下通过`Msys2`运行`./install.py` |
|
|
|
|
|
|
|
> 如果出现安装成功信息`[5]: Success!!!`表示安装成功,否则根据相应提示信息排查错误 |
|
|
|
|
|
|
|
> Windows环境不支持使用在线安装,即不支持使用`./install.py -online` |
|
|
|
|
|
|
|
![检查安装需要的组件](https://images.gitee.com/uploads/images/2021/1014/153121_815cdc26_8736513.png "检查安装需要的组件.png") |
|
|
|
### 2.3 Windows 10安装Msys2(可选) |
|
|
|
|
|
|
|
![SDK安装过程](https://images.gitee.com/uploads/images/2021/1014/153155_ccaba2ab_8736513.png "SDK安装过程.png") |
|
|
|
- (1). 获取[Windows环境安装包](https://pan.baidu.com/s/17WX5hec7t8_ubAKzFCwQAA) |
|
|
|
|
|
|
|
![SDK安装完成](https://images.gitee.com/uploads/images/2021/1014/153529_929928b2_8736513.png "SDK安装完成.png") |
|
|
|
|
|
|
|
- **安装完成后重启系统,生效 Standalone SDK 环境**, 检查SDK路径是否与环境变量`STANDALONE_SDK_ROOT`一致 |
|
|
|
|
|
|
|
![SDK安装完成环境变量](https://images.gitee.com/uploads/images/2021/1014/153641_9ceb3358_8736513.png "SDK安装完成环境变量.png") |
|
|
|
|
|
|
|
#### 2.1.2 使用Portable的开发环境 |
|
|
|
|
|
|
|
- 下载开发环境然后解压,如`D:\PHYTIUM-DEV` |
|
|
|
|
|
|
|
[下载链接](https://pan.baidu.com/s/1rF0fh4RwgiIpuTI0pk47xg) |
|
|
|
> 提取码:MGW6 |
|
|
|
|
|
|
|
- 添加Windows环境变量,`PHYTIUM_DEV_PATH`(环境变量名不能自定义,必须用这个名字,SDK内部会使用)指向`D:\PHYTIUM-DEV`(可以自定义) |
|
|
|
|
|
|
|
![输入图片说明](https://images.gitee.com/uploads/images/2021/1013/164551_934da3d7_8736513.png "配置环境变量.png") |
|
|
|
|
|
|
|
- 通过 Gitee 拉取 Standalone SDK 源代码到DEV目录下的`D:\PHYTIUM-DEV\phytium-standalone-sdk` |
|
|
|
|
|
|
|
``` |
|
|
|
$ git clone https://gitee.com/phytium_embedded/phytium-standalone-sdk.git ./phytium-standalone-sdk |
|
|
|
$ cd ./phytium-standalone-sdk |
|
|
|
``` |
|
|
|
|
|
|
|
- 将交叉编译链压缩包`gcc-arm-10.3-2021.07-mingw-w64-i686-arm-none-eabi.tar.xz`, `gcc-arm-10.3-2021.07-mingw-w64-i686-aarch64-none-elf.tar.xz`放置在`D:\PHYTIUM-DEV\phytium-standalone-sdk\tools`下 |
|
|
|
- msys2, `msys2-x86_64-20210725.exe` |
|
|
|
- mingw64-arm交叉编译链, `gcc-arm-10.3-2021.07-mingw-w64-i686-arm-none-eabi.tar.xz`, `gcc-arm-10.3-2021.07-mingw-w64-i686-aarch64-none-elf.tar.xz` |
|
|
|
- tftp工具,`tftp.zip` |
|
|
|
|
|
|
|
- 创建SDK的profile文件,并添加读写权限 |
|
|
|
``` |
|
|
|
$ touch /etc/profile.d/phytium_standalone_sdk.sh |
|
|
|
$ chmod 666 /etc/profile.d/phytium_standalone_sdk.sh |
|
|
|
``` |
|
|
|
- (2). 创建Windows集成开发环境(DEV目录),如`D:/phytium-dev`, 将DEV目录添加在Windows环境变量中,变量名为`PHYTIUM_DEV_PATH`,如下图所示,保存环境变量, |
|
|
|
|
|
|
|
- 在`D:\phytium-dev\phytium-standalone-sdk`目录下双击`run_mingw64.cmd`, 启动`Msys2`控制台,在控制台输入`./install.py`完成SDK安装 |
|
|
|
> 对于Windows 10,在桌面左下角系统搜索框中输入“环境变量”即可进入环境变量编辑界面 |
|
|
|
|
|
|
|
- **安装完成后关闭shell重新打开,生效 Standalone SDK 环境**, 检查SDK路径是否与环境变量`STANDALONE_SDK_ROOT`一致 |
|
|
|
> DEV目录中不要留空格 |
|
|
|
|
|
|
|
#### 2.1.3 卸载开发环境 |
|
|
|
![输入图片说明](https://images.gitee.com/uploads/images/2021/1013/192453_4e609b79_8736513.png "配置环境变量.png") |
|
|
|
|
|
|
|
- 在SDK目录`D:\phytium-dev\phytium-standalone-sdk`目录双击`run_mingw64.cmd`, 启动`Msys2`控制台,在控制台输入`./uninstall.py`完成SDK卸载 |
|
|
|
- (3). 保存DEV环境变量后,打开一个控制台,输入`echo %PHYTIUM_DEV_PATH%`,检查环境变量是否设置成功, |
|
|
|
|
|
|
|
- 在`Msys2`控制台运行`sudo rm /etc/profile.d/phytium_standalone_sdk.sh`,删除SDK配置文件 |
|
|
|
![输入图片说明](https://images.gitee.com/uploads/images/2021/1013/164646_3fbc5df8_8736513.png "检查环境变量.png") |
|
|
|
|
|
|
|
- 在DEV目录`D:\phytium-dev\tftp`下以**管理员权限**打开Windows命令行中断,运行`uninstall.cmd`完成Tftd卸载 |
|
|
|
- (4). 双击`msys2-x86_64-20210725.exe`,设置`Msys2`的安装路径在DEV路径下,其余设置按默认安装,注意安装完成后不要马上启动,最后一步取消勾选“马上启动Msys2” |
|
|
|
|
|
|
|
### 2.2 Ubuntu 20.04 x86_64 环境下使用 Standalone SDK |
|
|
|
![输入图片说明](https://images.gitee.com/uploads/images/2021/1013/164805_4169d4d2_8736513.png "安装Msys2.png") |
|
|
|
|
|
|
|
#### 2.2.1 选择在线方式安装 SDK |
|
|
|
![Msys2安装过程](https://images.gitee.com/uploads/images/2021/1013/135101_c8fc0454_8736513.png "Msys2安装过程.png") |
|
|
|
|
|
|
|
- 通过 Gitee 拉取 Standalone SDK 源代码 |
|
|
|
- (5). `Msys2`安装完成后,需要添加国内软件源,否则下载速度会很慢,进入`D:\phytium-dev\msys64\etc\pacman.d`目录下,找到以下三个文件,在文件末尾分别添加对应的软件源 |
|
|
|
|
|
|
|
- mirrorlist.mingw32 |
|
|
|
``` |
|
|
|
$ git clone https://gitee.com/phytium_embedded/phytium-standalone-sdk.git ~/standalone_sdk |
|
|
|
$ cd ~/standalone_sdk |
|
|
|
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686 |
|
|
|
``` |
|
|
|
|
|
|
|
- 检查 install.py 的执行权限, 如果没有执行权限`x`,需要利用`chmod +x ./install.py`添加执行权限 |
|
|
|
|
|
|
|
- mirrorlist.mingw64 |
|
|
|
``` |
|
|
|
$ ls ./install.py -l |
|
|
|
-rwxrwxrwx 1 usr usr 6353 Jul 21 10:13 ./install.py |
|
|
|
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64 |
|
|
|
``` |
|
|
|
|
|
|
|
- 在线下载源代码和编译环境,创建SDK的profile,并为用户添加读写权限,然后完成 Standalone SDK 安装 |
|
|
|
> 注意不要使用'sudo ./install.py',否则环境变量配置可能不正确 |
|
|
|
|
|
|
|
- mirrorlist.msys |
|
|
|
``` |
|
|
|
$ sudo touch /etc/profile.d/phytium_standalone_sdk.sh |
|
|
|
$ sudo chmod 666 /etc/profile.d/phytium_standalone_sdk.sh |
|
|
|
$ ./install.py -online |
|
|
|
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch |
|
|
|
``` |
|
|
|
|
|
|
|
![输入图片说明](https://images.gitee.com/uploads/images/2021/1014/112439_2a038045_8736513.png "安装过程.png") |
|
|
|
|
|
|
|
|
|
|
|
- **安装完成后重启系统,生效 Standalone SDK 环境** |
|
|
|
|
|
|
|
>请注意使用虚拟机进行开发时不要将sdk安装在挂载的共享文件夹下,否则交叉编译链的部分链接文件可能无法工作 |
|
|
|
- (6). 进入`D:\phytium-dev\msys64`目录,双击`msys2_shell.cmd`启动运行`Msys2`,输入以下命令,更新`Msys2`软件,安装必要组件 |
|
|
|
|
|
|
|
#### 2.2.2 选择离线方式安装 SDK |
|
|
|
|
|
|
|
- 下载[Phytium Standalone SDK](https://gitee.com/phytium_embedded/phytium-standalone-sdk)源代码 |
|
|
|
- 下载[AARCH32](https://gitee.com/phytium_embedded/phytium-standalone-sdk/attach_files/776847/download/gcc-arm-x86_64-none-eabi-10-2020-q4-major.tar.xz)编译器 |
|
|
|
- 下载[AARCH64](https://gitee.com/phytium_embedded/phytium-standalone-sdk/attach_files/776846/download/gcc-arm-x86_64-aarch64-none-elf-10.2-2020.11.tar.xz)编译器 |
|
|
|
> 如果执行失败,可以多次尝试,直到没有报错 |
|
|
|
|
|
|
|
- 解压 phytium_standalone_sdk.zip 为`~/standalone_sdk`(路径名可以自定义) |
|
|
|
- 将 AARCH32、AARCH64 编译器压缩包放置在`~/standalone_sdk/tools`(必须放置在 tools 路径下) |
|
|
|
- 确保 install.py 有执行权限,`~/standalone_sdk`Standalone SDK 安装 |
|
|
|
> 安装过程全部选用默认方式`default`或选择`y`,注意如果没有`default = all`,需要输入`y` |
|
|
|
|
|
|
|
``` |
|
|
|
$ sudo touch /etc/profile.d/phytium_standalone_sdk.sh |
|
|
|
$ sudo chmod 666 /etc/profile.d/phytium_standalone_sdk.sh |
|
|
|
$ ./install.py |
|
|
|
$ pacman -Syu |
|
|
|
$ pacman -S mingw-w64-x86_64-toolchain |
|
|
|
$ pacman -S base-devel git python3 python3-pip |
|
|
|
``` |
|
|
|
|
|
|
|
- **安装完成后重启系统,生效 Standalone SDK 环境** |
|
|
|
|
|
|
|
#### 2.2.3 卸载开发环境 |
|
|
|
|
|
|
|
- 在SDK目录运行`./uninstall.py`完成SDK卸载 |
|
|
|
|
|
|
|
- 运行`sudo rm /etc/profile.d/phytium_standalone_sdk.sh`,删除SDK配置文件 |
|
|
|
|
|
|
|
### 2.3 Kylin OS/Ubuntu 20.04 AARCH64 环境下使用 Standalone SDK |
|
|
|
|
|
|
|
#### 2.3.1 选择在线方式安装 SDK |
|
|
|
|
|
|
|
参考 2.3.1 选择在线方式安装 SDK |
|
|
|
|
|
|
|
#### 2.3.2 选择离线方式安装 SDK |
|
|
|
|
|
|
|
- 下载[Phytium Standalone SDK](https://gitee.com/phytium_embedded/phytium-standalone-sdk)源代码 |
|
|
|
- 下载[AARCH32](https://gitee.com/phytium_embedded/phytium-standalone-sdk/attach_files/779742/download/gcc-arm-aarch64-none-eabi-10-2020-q4-major.tar.xz)编译器 |
|
|
|
- 下载[AARCH64](https://gitee.com/phytium_embedded/phytium-standalone-sdk/attach_files/779743/download/gcc-arm-10.2-2020.11-aarch64-aarch64-none-elf.tar.xz)编译器 |
|
|
|
|
|
|
|
- 解压 phytium_standalone_sdk.zip 为`~/standalone_sdk`(路径名可以自定义) |
|
|
|
- 将 AARCH32、AARCH64 编译器压缩包放置在`~/standalone_sdk/tools`(必须放置在 tools 路径下) |
|
|
|
- 确保 install.py 有执行权限,`~/standalone_sdk`Standalone SDK 安装 |
|
|
|
![更新Msys2软件源](https://images.gitee.com/uploads/images/2021/1013/140545_6cda8ecc_8736513.png "更新Msys2软件源.png") |
|
|
|
|
|
|
|
- (7). 运行以下命令,检查组件是否安装完全 |
|
|
|
``` |
|
|
|
$ sudo touch /etc/profile.d/phytium_standalone_sdk.sh |
|
|
|
$ ./install.py |
|
|
|
$ pacman -Q make git wget python3 python3-pip |
|
|
|
``` |
|
|
|
|
|
|
|
### 2.4 新建一个 baremetal 应用工程 |
|
|
|
|
|
|
|
#### 2.4.1 选择工程模板 |
|
|
|
### 2.4 卸载开发环境 |
|
|
|
|
|
|
|
##### 2.4.1.1 Window环境使用工程 |
|
|
|
- 在DEV目录下双击`run_msys2.cmd`, 启动`Msys2`控制台,在控制台输入`./uninstall.py`完成SDK卸载 |
|
|
|
|
|
|
|
- 复制`~/standalone-sdk/example/template-mingw64`目录,作为baremetal应用工程 |
|
|
|
- 在`Msys2`控制台运行`rm /etc/profile.d/phytium_standalone_sdk.sh`,删除SDK配置文件 |
|
|
|
|
|
|
|
> `*` 表示可选文件/目录 |
|
|
|
|
|
|
|
``` |
|
|
|
Kconfig --> 应用工程配置menu文件 |
|
|
|
makefile --> makefile |
|
|
|
main.c --> 包含main函数 |
|
|
|
sdkconfig --> 配置输出 |
|
|
|
sdkconfig.h --> 配置输出 |
|
|
|
run_mingw64.cmd --> 启动msys-mingw64控制台* |
|
|
|
inc --> 用户头文件* |
|
|
|
src --> 用户源文件* |
|
|
|
``` |
|
|
|
- 在DEV目录`D:\phytium-dev\tftp`下以**管理员权限**打开Windows命令行中断,运行`uninstall.cmd`完成Tftd卸载 |
|
|
|
|
|
|
|
![输入图片说明](https://images.gitee.com/uploads/images/2021/1013/144914_9e06694b_8736513.png "屏幕截图.png") |
|
|
|
--- |
|
|
|
## 3. 使用方法 |
|
|
|
|
|
|
|
- 双击run_mingw64.cmd,在当前目录启动mingw64控制台 |
|
|
|
### 3.1 新建一个 baremetal 应用工程 |
|
|
|
|
|
|
|
##### 2.4.1.2 Linux环境使用工程 |
|
|
|
#### 3.1.1 选择工程模板 |
|
|
|
|
|
|
|
- 复制`~/standalone-sdk/example/template`目录,作为 baremetal 应用工程 |
|
|
|
|
|
|
@ -283,7 +178,7 @@ src --> 用户源文件* |
|
|
|
|
|
|
|
>请注意使用小写makefile,使用Makefile在部分平台不能被识别 |
|
|
|
|
|
|
|
#### 2.4.2 选择目标平台 |
|
|
|
#### 3.1.2 选择目标平台 |
|
|
|
|
|
|
|
- 切换目标平台, e.g `FT2000/4 AARCH32`, 加载默认配置 |
|
|
|
|
|
|
@ -308,15 +203,15 @@ template.map --> 内存布局文件 |
|
|
|
|
|
|
|
![输入图片说明](https://images.gitee.com/uploads/images/2021/0709/141655_f20b6d98_8736513.png "屏幕截图.png") |
|
|
|
|
|
|
|
### 2.5 快速使用例程 |
|
|
|
### 3.2 快速使用例程 |
|
|
|
|
|
|
|
> ~/standalone-sdk/example/aarch32_hello_world |
|
|
|
|
|
|
|
![输入图片说明](https://images.gitee.com/uploads/images/2021/0709/145025_398f6501_8736513.png "屏幕截图.png") |
|
|
|
|
|
|
|
### 2.6 下载镜像跳转启动 |
|
|
|
### 3.3 下载镜像跳转启动 |
|
|
|
|
|
|
|
#### 2.6.1 在 host 侧(Ubuntu 20.04)配置 tftp 服务 |
|
|
|
#### 3.3.1 在 host 侧(Ubuntu 20.04)配置 tftp 服务 |
|
|
|
|
|
|
|
- 在开发环境`host`侧安装`tftp`服务 |
|
|
|
|
|
|
@ -381,7 +276,7 @@ tftp> get test1234 |
|
|
|
tftp> q |
|
|
|
``` |
|
|
|
|
|
|
|
#### 2.6.2 在 host 侧(Windows)配置 tftp 服务 |
|
|
|
#### 3.3.2 在 host 侧(Windows)配置 tftp 服务 |
|
|
|
|
|
|
|
- 将2.1.1章下载的`tftp.zip`解压到开发环境,如`D:\phytium-dev\tftp` |
|
|
|
- 以**管理员权限**打开Windows cmd,进入`D:\phytium-dev\tftp`,运行`.\reinstall.cmd`完成Tftpd服务安装 |
|
|
@ -402,7 +297,7 @@ tftp> q |
|
|
|
|
|
|
|
> 在`template_mingw64`工程中,通过定义`USR_BOOT_DIR`可以将编译的镜像自动拷贝带tftp目录下 |
|
|
|
|
|
|
|
#### 2.6.3 配置开发板 ip,连通 host 下载启动镜像 |
|
|
|
#### 3.3.3 配置开发板 ip,连通 host 下载启动镜像 |
|
|
|
|
|
|
|
- 将`BIN`文件或者`ELF`文件复制到`tftpboot`目录 |
|
|
|
|
|
|
@ -442,61 +337,61 @@ $ cp ./baremetal.elf /mnt/d/tftboot |
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
## 3. SDK 源代码结构 |
|
|
|
## 4. SDK 源代码结构 |
|
|
|
|
|
|
|
``` |
|
|
|
. |
|
|
|
├── Kconfig --> 配置定义 |
|
|
|
├── LICENSE --> 版权声明 |
|
|
|
├── README.md |
|
|
|
├── standalone.mk |
|
|
|
├── Kconfig --> 配置定义 |
|
|
|
├── LICENSE --> 版权声明 |
|
|
|
├── README.md --> 使用说明 |
|
|
|
├── arch |
|
|
|
│ └── armv8 --> 架构相关 |
|
|
|
├── baremetal |
|
|
|
│ └── example --> 裸机例程 |
|
|
|
| ├── can_test |
|
|
|
| └── i2c_eeprom |
|
|
|
| └── sdci_test ... |
|
|
|
├── arch --> 架构相关 |
|
|
|
| ├── armv8 |
|
|
|
| | ├── aarch32 |
|
|
|
| | └── aarch64 |
|
|
|
| └── common |
|
|
|
├── common |
|
|
|
├── drivers --> 外设驱动 |
|
|
|
| ├── can |
|
|
|
| └── eth |
|
|
|
| └── gic ... |
|
|
|
├── board --> 目标平台相关 |
|
|
|
| ├── d2000 |
|
|
|
| └── ft2004 |
|
|
|
| └── e2000 |
|
|
|
├── configs --> 各目标平台的默认配置 |
|
|
|
│ ├── d2000_aarch32_defconfig |
|
|
|
│ └── d2000_aarch64_defconfig |
|
|
|
| └── e2000_aarch32_defconfig |
|
|
|
| └── e2000_aarch64_defconfig |
|
|
|
| └── ft2004_aarch32_defconfig |
|
|
|
| └── ft2004_aarch64_defconfig |
|
|
|
│ └── 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 |
|
|
|
│ └── checklist.md |
|
|
|
├── install.py --> 环境变量安装脚本 |
|
|
|
├── lib --> 依赖库 |
|
|
|
│ ├── Kconfiglib |
|
|
|
│ ├── libc |
|
|
|
│ └── nostdlib |
|
|
|
├── make --> Makefile文件 |
|
|
|
├── scripts --> 相关脚本 |
|
|
|
├── third-party --> 第三方库 |
|
|
|
└── tools --> 编译构建相关工具 |
|
|
|
├── README.md |
|
|
|
├── gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf |
|
|
|
│ ├── 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 --> 卸载脚本 |
|
|
|
``` |
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
## 4. 硬件平台 |
|
|
|
## 5. 硬件平台 |
|
|
|
|
|
|
|
### 4.1 FT2000-4 |
|
|
|
### 5.1 FT2000-4 |
|
|
|
|
|
|
|
FT-2000/4 是一款面向桌面应用的高性能通用 4 核处理器。每 2 个核构成 1 个处理器核簇(Cluster),并共享 L2 Cache。主要技术特征如下: |
|
|
|
|
|
|
@ -512,7 +407,7 @@ FT-2000/4 是一款面向桌面应用的高性能通用 4 核处理器。每 2 |
|
|
|
- 集成 4 个 UART,1 个 LPC,32 个 GPIO,4 个 I2C,1 个 QSPI,2 个通 用 SPI,2 个 WDT,16 个外部中断(和 GPIO 共用 IO) |
|
|
|
- 集成温度传感器 |
|
|
|
|
|
|
|
### 4.2 D2000 |
|
|
|
### 5.2 D2000 |
|
|
|
|
|
|
|
D2000 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个核构成 1 个处理器核簇(Cluster),并共享 L2 Cache。存储系统包含 Cache 子系统和 DDR,I/O 系统包含 PCIe、高速 IO 子系统、千兆位以太网 GMAC 和低速 IO 子系统,主要技术特征如下, |
|
|
|
|
|
|
@ -530,9 +425,9 @@ D2000 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个 |
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
## 5. 支持情况 |
|
|
|
## 6. 支持情况 |
|
|
|
|
|
|
|
### 5.1 外设驱动支持情况 |
|
|
|
### 6.1 外设驱动支持情况 |
|
|
|
|
|
|
|
| Hardware Interface | Platform Supported | Platform Developing | Component | |
|
|
|
| ------------------------------ | -------------------------- | ------------------- | -------------------- | |
|
|
@ -562,7 +457,7 @@ D2000 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个 |
|
|
|
| Yaffs2 | | E2000 | | |
|
|
|
--- |
|
|
|
|
|
|
|
## 6. 参考资源 |
|
|
|
## 7. 参考资源 |
|
|
|
|
|
|
|
- ARM Architecture Reference Manual |
|
|
|
- ARM Cortex-A Series Programmer’s Guide |
|
|
@ -578,7 +473,7 @@ D2000 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个 |
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
## 7. 贡献方法 |
|
|
|
## 8. 贡献方法 |
|
|
|
|
|
|
|
请联系飞腾嵌入式软件部 |
|
|
|
|
|
|
@ -590,6 +485,6 @@ wangxiaodong1030@phytium.com.cn |
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
## 8. 许可协议 |
|
|
|
## 9. 许可协议 |
|
|
|
|
|
|
|
Apache-2.0 |
|
|
|