在windows上通过QEMU快速上手RT-thread smart

参考链接

官方文档

资料下载

env-windows-v1.3.5.7z
userapps

注意事项

通过QEMU仿真不同的平台,使用到的交叉编译工具也不一样,需要将相应工具的路径添加到系统PATH里;或者通过CMD定位到userapps,运行smart-env.bat xxxarm或者riscv64)指定交叉编译工具的路径(只在当前CMD环境有效)

操作步骤

注意:

  1. 以下的CMD命令不能用powershell代替;
  2. 通过QEMU仿真arm平台可以运行成功,但是仿真riscv64时运行不起来,原因不明;
  1. 打开CMD,定位到userapps/tools目录,运行python get_toolchain.py arm命令安装arm平台的交叉编译工具链,如下图:

注意:如果要仿真riscv64平台,通过python get_toolchain.py riscv64命令安装riscv64平台的交叉编译工具链

在windows上通过QEMU快速上手RT-thread smart_第1张图片
等待命令执行完成后,在userapps/tools/gnu_gcc目录下就能看到交叉编译工具链了:
在windows上通过QEMU快速上手RT-thread smart_第2张图片
2. 在CMD中定位到userapps目录,执行命令smart-env.bat arm,如下图:

注意:如果要仿真riscv64平台,需要执行smart-env.bat riscv64

在windows上通过QEMU快速上手RT-thread smart_第3张图片
3. 在CMD中定位到userapps目录,执行scons命令,如下图:

说明:如果没有找到scons命令,需要在CMD中通过python -m pip install scons命令安装scons

在windows上通过QEMU快速上手RT-thread smart_第4张图片
如果scons命令执行成功,可以在userapps/root/bin目录下看到一些elf可执行文件,如下图:
在windows上通过QEMU快速上手RT-thread smart_第5张图片
4. 将 userapps 下的 root 目录复制到 env\tools\fatdisk 目录下,如下图:
在windows上通过QEMU快速上手RT-thread smart_第6张图片
5. 修改 env\tools\fatdisk 目录下 fatdisk.xml 文件为下面的内容:


<fatdisk>
   <disk_size>65536disk_size>
   <sector_size>512sector_size>
   <root_dir>rootroot_dir>
   <output>sd.binoutput>
   <strip>0strip>
fatdisk>
  1. env目录下双击运行env.exe,然后定位到 env\tools\fatdisk 目录,输入命令 fatdisk 运行,就会在当前目录下生成 sd.bin 文件:
    在windows上通过QEMU快速上手RT-thread smart_第7张图片
  2. 将新生成的 sd.bin 剪切到 userapps\prebuilt\qemu-vexpress-a9 目录:

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

在windows上通过QEMU快速上手RT-thread smart_第8张图片
8. 将env工具定位到userapps\prebuilt\qemu-vexpress-a9目录,然后执行./qemu-nographic.bat运行arm虚拟机,然后在arm虚拟机内运行hello.elf程序,如图:

注意:如果是仿真riscv64平台,需要将env工具定位到 userapps\prebuilt\qemu-virt64-riscv 目录

在windows上通过QEMU快速上手RT-thread smart_第9张图片

编译rt-thread smart

  1. 打开env定位到usarapps,运行smart-env.bat arm配置arm平台的交叉编译工具路径:

注意:如果需要编译riscv64架构的内核,运行smart-env.bat riscv64

在windows上通过QEMU快速上手RT-thread smart_第10张图片
2. 将env定位到rt-thread\bsp\qemu-vexpress-a9,然后执行menuconfig命令配置rt-thread开启smart内核。

注意:如果需要编译riscv64架构的内核,需要将env定位到rt-thread\bsp\qemu-virt64-riscv

在这里插入图片描述
在windows上通过QEMU快速上手RT-thread smart_第11张图片
在windows上通过QEMU快速上手RT-thread smart_第12张图片
3. 在env中执行scons编译rt-thread内核,编译完成后将产生rtthread.bin,如下图:
在windows上通过QEMU快速上手RT-thread smart_第13张图片在windows上通过QEMU快速上手RT-thread smart_第14张图片
4. 将上面的rtthread.bin剪切到userapps\prebuilt\qemu-vexpress-a9,并将env定位到userapps\prebuilt\qemu-vexpress-a9,然后运行qemu-nographic.bat,如下图:

注意:如果需要编译riscv64架构的内核,将以上路径换成userapps\prebuilt\qemu-virt64-riscv

在windows上通过QEMU快速上手RT-thread smart_第15张图片

你可能感兴趣的:(rt-thread,windows,rt-thread,smart,qemu,嵌入式)