• Home
  • Annotate
  • current directory
Name Date Size #Lines LOC

..21-Aug-2025-

.ci/attachconfig/21-Aug-2025-

applications/21-Aug-2025-

boot/21-Aug-2025-

figures/21-Aug-2025-

.config A D21-Aug-202548.3 KiB1,5521,433

.config.origin A D21-Aug-202548.3 KiB1,5521,433

Kconfig A D21-Aug-2025991 4331

README.md A D21-Aug-20254.2 KiB158109

SConscript A D21-Aug-2025358 1611

SConstruct A D21-Aug-20252.7 KiB9270

export_project.py A D21-Aug-20251.6 KiB5226

link.lds A D21-Aug-20252.9 KiB138116

link_smart.lds A D21-Aug-20252.5 KiB121101

makefile A D21-Aug-20251.4 KiB4535

rtconfig.h A D21-Aug-202513 KiB588231

rtconfig.h.origin A D21-Aug-202513 KiB588413

rtconfig.py A D21-Aug-20252 KiB5747

smart-env.bat A D21-Aug-2025205 54

smart-env.sh A D21-Aug-2025326 128

thread-env.bat A D21-Aug-2025149 54

thread-env.sh A D21-Aug-2025324 128

README.md

1# AARCH32 工作模式使用
2
3- 当开发者需要基于 Phytium 系列芯片进行开发时,可以从以下几个步骤出发配置芯片
4
5## 1. 准备编译环境
6
7- 在aarch32目录下创建tools文件夹,用于存放编译链,目前支持在以下两种环境进行开发
8```shell
9mkdir tools
10```
11注:使用RT-Smart编译链也可编译RT-Thread,但当前不支持C++
12
13### Ubuntu 环境
14
15#### RT-Thread
16
17- 点击[下载编译链工具](https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-arm-none-eabi.tar.xz)压缩包,放置在tools目录下
18
19- 在tools目录下,使用tar命令解压缩
20```shell
21tar xvf gcc-arm-10.3-2021.07-x86_64-arm-none-eabi.tar.xz
22```
23
24![tar_toolschain_ubuntu](./figures/tar_toolschain_ubuntu.png)
25
26- 返回`aarch32`目录,运行`thread-env.sh脚本`,生效环境变量
27```shell
28source ./thread-env.sh
29```
30
31- 如下所示是`aarch32`编译相关的环境变量,运行`scons`前要确保环境变量设置正确
32
33![aarch32_thread](./figures/aarch32_thread.png)
34
35#### RT-Smart
36
37- 点击[下载编译链工具](https://github.com/RT-Thread/toolchains-ci/releases/tag/v1.7)压缩包,放置在tools目录下,如下所示
38
39![aarch32_tools](./figures/aarch32_tools.png)
40
41- 在tools目录下,使用tar命令解压缩
42```shell
43tar jxvf arm-linux-musleabi_for_x86_64-pc-linux-gnu_stable.tar.bz2
44```
45
46![tar_toolschain](./figures/tar_toolschain.png)
47
48- 返回`aarch32`目录,运行smart-env.sh脚本,生效环境变量
49```shell
50source ./smart-env.sh
51```
52
53- 如下所示是`aarch32`编译相关的环境变量,运行`scons`前要确保环境变量设置正确
54
55![aarch32_env](./figures/aarch32_env.png)
56
57- 输入以下指令进行编译,初次编译会拉取`phytium_standalone_sdk工具包`,请确保当前环境下网络畅通
58```shell
59scons -j8
60```
61![ubuntu_scons](./figures/ubuntu_scons.png)
62
63- 完成编译之后aarch32目录下将会生成以下几个文件
64```
65rtthread_a32.bin
66rtthread_a32.elf
67rtthread_a32.map
68```
69
70### RT-Thread env 环境
71
72#### RT-Thread
73
74- RT-Thread env 环境已经内嵌的`aarch32`编译链,运行`thread-env.bat`脚本,生效环境变量即可
75
76```shell
77.\thread-env.bat
78```
79
80#### RT-Smart
81
82- 点击[下载编译链工具](https://pan.baidu.com/s/1p7PRhV3dTGIb7hxv34YWYw)压缩包,提取码:ndxq
83
84- 在tools目录下,将下载好的编译链工具压缩包解压缩,如下所示
85
86![aarch32_env_tools](./figures/aarch32_env_tools.png)
87
88- 返回`aarch32`目录,运行smart-env.bat脚本,生效环境变量
89```shell
90.\smart-env.bat
91```
92
93- 输入以下指令进行编译,初次编译会拉取`phytium_standalone_sdk工具包`,请确保当前环境下网络畅通
94```shell
95scons -j8
96```
97![rtt_env_scons](./figures/rtt_env_scons.png)
98
99- 完成编译之后aarch32目录下将会生成以下几个文件
100```
101rtthread_a32.bin
102rtthread_a32.elf
103rtthread_a32.map
104```
105
106## 2. 如何选择开发板
107
108>注:在 RT-Thread env 环境下使用`menuconfig`指令即可打开配置菜单,在Ubuntu下需要使用`scons --menuconfig`
109- 使用`scons --attach=?`查看当前支持的开发板
110![](./figures/scons_attach.png)
111
112- 以`E2000Q_DEMO`开发板为例,进入aarch64目录后,运行`scons --attach=board.e2000q_demo_rtthread`加载默认的`rtconfig.h`, 然后输入下列命令,进入`menuconfig`进一步配置
113
114```shell
115scons --menuconfig
116```
117
118## 3. 如何选择驱动
119
120```shell
121scons --menuconfig
122```
123
124开发者通过以下选项进行驱动的使能
125```
126Hardware Drivers Config > On-chip Peripheral Drivers
127```
128
129![](./figures/select_driver.png)
130
131## 4. 开启SDK中内部调试信息
132
133```shell
134scons --menuconfig
135```
136
137开发者通过以下选项开启调试信息
138
139![](./figures/debug_info.png)
140
141## 5. 如何切换至 RT-Thread Smart 工作模式
142
143- 输入下列命令,进入`menuconfig`进一步配置
144```shell
145scons --menuconfig
146```
147- 在RT-Thread Kernel菜单中勾选以下选项
148
149![](./figures/rtsmart_config.png)
150## 6. 启动镜像程序
151
1521. 完成配置后,使用以下指令进行clean和重新编译
153```shell
154scons -c
155scons -j8
156```
1572. 按照指导[启动镜像程序](../doc/how_to_flashed_binary.md)
158