参考链接
官方文档
资料下载
env-windows-v1.3.5.7z
userapps
注意事项
通过QEMU仿真不同的平台,使用到的交叉编译工具也不一样,需要将相应工具的路径添加到系统PATH里;或者通过CMD定位到userapps,运行smart-env.bat xxx(arm或者riscv64)指定交叉编译工具的路径(只在当前CMD环境有效)
操作步骤
注意:
- 以下的
CMD命令不能用powershell代替;- 通过
QEMU仿真arm平台可以运行成功,但是仿真riscv64时运行不起来,原因不明;
- 打开
CMD,定位到userapps/tools目录,运行python get_toolchain.py arm命令安装arm平台的交叉编译工具链,如下图:
注意:如果要仿真riscv64平台,通过
python get_toolchain.py riscv64命令安装riscv64平台的交叉编译工具链

等待命令执行完成后,在userapps/tools/gnu_gcc目录下就能看到交叉编译工具链了:

2. 在CMD中定位到userapps目录,执行命令smart-env.bat arm,如下图:
注意:如果要仿真
riscv64平台,需要执行smart-env.bat riscv64

3. 在CMD中定位到userapps目录,执行scons命令,如下图:
说明:如果没有找到
scons命令,需要在CMD中通过python -m pip install scons命令安装scons。

如果scons命令执行成功,可以在userapps/root/bin目录下看到一些elf可执行文件,如下图:

4. 将 userapps 下的 root 目录复制到 env\tools\fatdisk 目录下,如下图:

5. 修改 env\tools\fatdisk 目录下 fatdisk.xml 文件为下面的内容:
<?xml version="1.0" encoding="UTF-8"?>
<fatdisk>
<disk_size>65536</disk_size>
<sector_size>512</sector_size>
<root_dir>root</root_dir>
<output>sd.bin</output>
<strip>0</strip>
</fatdisk>
- 在
env目录下双击运行env.exe,然后定位到env\tools\fatdisk目录,输入命令fatdisk运行,就会在当前目录下生成sd.bin文件:

- 将新生成的
sd.bin剪切到userapps\prebuilt\qemu-vexpress-a9目录:
注意:如果是仿真
riscv64平台,需要将新生成的sd.bin剪切到userapps\prebuilt\qemu-virt64-riscv目录

8. 将env工具定位到userapps\prebuilt\qemu-vexpress-a9目录,然后执行./qemu-nographic.bat运行arm虚拟机,然后在arm虚拟机内运行hello.elf程序,如图:
注意:如果是仿真
riscv64平台,需要将env工具定位到userapps\prebuilt\qemu-virt64-riscv目录

编译rt-thread smart
- 打开
env定位到usarapps,运行smart-env.bat arm配置arm平台的交叉编译工具路径:
注意:如果需要编译riscv64架构的内核,运行
smart-env.bat riscv64

2. 将env定位到rt-thread\bsp\qemu-vexpress-a9,然后执行menuconfig命令配置rt-thread开启smart内核。
注意:如果需要编译riscv64架构的内核,需要将
env定位到rt-thread\bsp\qemu-virt64-riscv



3. 在env中执行scons编译rt-thread内核,编译完成后将产生rtthread.bin,如下图:


4. 将上面的rtthread.bin剪切到userapps\prebuilt\qemu-vexpress-a9,并将env定位到userapps\prebuilt\qemu-vexpress-a9,然后运行qemu-nographic.bat,如下图:
注意:如果需要编译riscv64架构的内核,将以上路径换成
userapps\prebuilt\qemu-virt64-riscv




















