参考文章
-  qemu 源码编译 qemu-system-aarch64 的方法 
-  RT-Thread 5.0.1 qemu-virt64-aarch64 解决编译问题 
前言
-  最近需要使用 RT-Thread qemu-virt64-aarch64,验证 aarch64 平台,也就是 ARM64 平台的一些网络功能,需要开启qemu-virt64-aarch64的网络功能
-  开发环境使用的 ubuntu 20.04,发现开启网络驱动与组件后,无法正常的初始化 qemu 网络设备 
-  经过验证,发现需要更新 qemu qemu-system-aarch64,更新方法 参考上篇文章:
 qemu 源码编译 qemu-system-aarch64 的方法
开发环境
-  编译 qemu-virt64-aarch64,建议使用 ubuntu 20.04 Linux 环境,而不是 windows 环境。
-  具体编译环境参考: RT-Thread 5.0.1 qemu-virt64-aarch64 解决编译问题 
-  set_env.sh 
#!/bin/bash
export RTT_CC=gcc
#export RTT_EXEC_PATH=/home/zhangsz/linux/tools/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf/bin
export RTT_EXEC_PATH=/home/zhangsz/linux/tools/gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf/bin
export RTT_CC_PREFIX=aarch64-none-elf-
export PATH=$PATH:$RTT_EXEC_PATH
echo "CC        => ${RTT_CC}"
echo "PREFIX    => ${RTT_CC_PREFIX}"
echo "EXEC_PATH => ${RTT_EXEC_PATH}"
- source set_env.sh,注意使用- aarch64-none-elf-工具链,否则可能编译失败
开启 qemu-virt64-aarch64 网络
-  默认 RT-Thread BSP qemu-virt64-aarch64为开启网络功能,需要手动开启
-  scons --menuconfig进入图形配置界面
 .config - RT-Thread Project Configuration
     > AARCH64 qemu virt64 configs
        [*] Using VirtIO NET

-  开启网络组件: SAL、net device、 LWIP 
  
-  适当增加 tcp 与 lwip 线程的栈大小 
  
-  确认 Using VirtIO NET的驱动框架使能
 .config - RT-Thread Project Configuration
 > RT-Thread Components 
     > Device Drivers 
         > Using VirtIO device drivers
            --- Using VirtIO device drivers 
            VirtIO Version (VirtIO v1.0)  ---> 
                -*-   Using VirtIO NET

编译与运行
-  scons 即可编译,当前确认使用 工具链 gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xz与gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf.tar.xz均可以正常运行 qemu
-  运行效果 

小结
-  如果 开启 qemu 后,没有发现网络设备:如 virtio-net0 Network Interface 1,需要更新 qemu 的版本,也就是qemu-system-aarch64的版本,如 7.0 以上,当前最新应该是 8.0
-  开启了 qemu 网络组件,还需要进一步使用网络组件,实现相应的网络功能,如 wgethttps等



















