Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 12 additions & 49 deletions bsp/phytium/aarch64/README.md
Original file line number Diff line number Diff line change
@@ -1,163 +1,126 @@
# AARCH64 工作模式使用

- 当开发者需要基于 Phytium 系列芯片进行开发时,可以从以下几个步骤出发配置芯片

## 1. 准备编译环境

- 在aarch64目录下创建tools文件夹,用于存放编译链,目前支持在以下两种环境进行开发
```shell
mkdir tools
```
注:使用RT-Smart编译链也可编译RT-Thread,但当前不支持C++

### Ubuntu 环境

#### RT-Thread

- 点击[下载编译链工具](https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz)压缩包,放置在tools目录下

- 在tools目录下,使用tar命令解压缩
```shell
tar xvf gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz
```

![tar_toolschain_ubuntu](./figures/tar_toolschain_ubuntu.png)

- 返回`aarch64`目录,运行`thread-env.sh脚本`,生效环境变量
```shell
source ./thread-env.sh
```

- 如下所示是`aarch64`编译相关的环境变量,运行`scons`前要确保环境变量设置正确

![aarch64_thread](./figures/aarch64_thread.png)

#### RT-Smart

- 点击[下载编译链工具](https://github.com/RT-Thread/toolchains-ci/releases/tag/v1.7)压缩包,放置在tools目录下

![aarch64_tools](./figures/aarch64_tools.png)

- 在tools目录下,使用tar命令解压缩
```shell
tar jxvf aarch64-linux-musleabi_for_x86_64-pc-linux-gnu_stable.tar.bz2
```

![tar_toolschain](./figures/tar_toolschain.png)

- 返回`aarch64`目录,运行`smart-env.sh`脚本,生效环境变量
```shell
source ./smart-env.sh
```

- 如下所示是`aarch64`编译相关的环境变量,运行`scons`前要确保环境变量设置正确

![aarch64_env](./figures/aarch64_env.png)

- 输入以下指令进行编译,初次编译会拉取`phytium_standalone_sdk工具包`,请确保当前环境下网络畅通
```shell
scons -j8
```
![aarch64_ubuntu_scons](./figures/aarch64_ubuntu_scons.png)

- 完成编译之后目录下将会生成以下几个文件
```
rtthread_a64.bin
rtthread_a64.elf
rtthread_a64.map
```

- 若需切换版本进行调试,请先在`bsp\phytium\libraries\phytium_standalone_sdk`目录下删除现有的`phytium_standalone_sdk`工具包,然后重新执行上述指令以拉取指定版本。

### RT-Thread env 环境

#### RT-Thread

- 点击[下载编译链工具](https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-mingw-w64-i686-aarch64-none-elf.zip)压缩包,放置在tools目录下






Expand Down



- 点击[下载编译链工具](https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-mingw-w64-i686-aarch64-none-elf.zip)压缩包,放置在tools目录下
- 在tools目录下,将下载好的编译链工具压缩包解压


- 返回`aarch32`目录,运行`thread-env.bat`脚本,生效环境变量
```shell
./thread-env.bat
```

- 如下所示是`aarch32`编译相关的环境变量,运行`scons`前要确保环境变量设置正确

![aarch64_env_thread_tools](./figures/aarch64_env_thread_tools.png)

#### RT-Smart

- 点击[下载编译链工具](https://download.rt-thread.org/download/rt-smart/toolchains/aarch64-linux-musleabi_for_i686-w64-mingw32_latest.zip
)压缩包

- 在tools目录下,将下载好的编译链工具压缩包解压

![aarch64_env_tools](./figures/aarch64_env_tools.png)

- 运行脚本smart-env.bat脚本,脚本生效环境变量
```shell
.\smart-env.bat
```

- 输入以下指令进行编译,初次编译会拉取`phytium_standalone_sdk工具包`,请确保当前环境下网络畅通
```shell
scons -j8
```
![aarch64_env_scons](./figures/aarch64_env_scons.png)

- 完成编译之后目录下将会生成以下几个文件
```
rtthread_a64.bin
rtthread_a64.elf
rtthread_a64.map
```

## 2. 如何选择开发板

>注:在 RT-Thread env 环境下使用`menuconfig`指令即可打开配置菜单,在Ubuntu下需要使用`scons --menuconfig`
- 使用`scons --attach=?`查看当前支持的开发板
![](./figures/scons_attach.png)

- 以`E2000Q_DEMO`开发板为例,进入aarch64目录后,运行`scons --attach=board.e2000q_demo_rtthread`加载默认的`rtconfig.h`, 然后输入下列命令,进入`menuconfig`进一步配置

```shell
scons --menuconfig
```

## 3. 如何选择驱动

```shell
scons --menuconfig
```

开发者通过以下选项进行驱动的使能
```
Hardware Drivers Config > On-chip Peripheral Drivers
```

![](./figures/select_driver.png)

## 4. 开启SDK中内部调试信息

```shell
scons --menuconfig
```

开发者通过以下选项开启调试信息

![](./figures/debug_info.png)

## 5. 如何切换至 RT-Thread Smart 工作模式

- 输入下列命令,进入`menuconfig`进一步配置
```shell
scons --menuconfig
```
- 在RT-Thread Kernel菜单中勾选以下选项

![](./figures/rtsmart_config.png)
## 6. 启动镜像程序

1. 完成配置后,使用以下指令进行clean和重新编译
```shell
scons -c
Expand Down