RT-Thread 5.0.1 qemu-virt64-aarch64 résout les problèmes de réseau

article de référence

avant-propos

  • Récemment, RT-Thread doit être utilisé qemu-virt64-aarch64pour vérifier la plate-forme aarch64, c'est-à-dire certaines fonctions réseau de la plate-forme ARM64, qui doivent être qemu-virt64-aarch64activées

  • L'ubuntu 20.04 utilisé dans l'environnement de développement a constaté qu'après avoir activé le pilote et les composants réseau, le périphérique réseau qemu ne peut pas être initialisé normalement

  • Après vérification, il s'avère que qemu doit être mis à jour qemu-system-aarch64. Pour la méthode de mise à jour, reportez-vous à l'article précédent :
    Comment compiler qemu-system-aarch64 à partir du code source de qemu

environnement de développement

#!/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, faites attention à utiliser aarch64-none-elf-la chaîne d'outils, sinon la compilation risque d'échouer

Ouvrir le réseau qemu-virt64-aarch64

  • Le RT-Thread BSP par défaut qemu-virt64-aarch64 est d'activer la fonction réseau, qui doit être activée manuellement

  • scons --menuconfigEntrez dans l'interface de configuration graphique

 .config - RT-Thread Project Configuration
     > AARCH64 qemu virt64 configs
        [*] Using VirtIO NET

insérez la description de l'image ici

  • Activer les composants réseau : SAL, périphérique réseau, LWIP
    insérez la description de l'image ici

  • Augmentez de manière appropriée la taille de la pile des threads tcp et lwip
    insérez la description de l'image ici

  • Confirmez Using VirtIO NETque la structure du pilote est activée

 .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

insérez la description de l'image ici

compiler et exécuter

  • scons peut être compilé, et il est actuellement confirmé que la chaîne d'outils gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xzet gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf.tar.xzqemu peuvent fonctionner normalement

  • résultat courant

insérez la description de l'image ici

résumé

  • Si aucun périphérique réseau n'est trouvé après le démarrage de qemu : Par exemple virtio-net0 Network Interface 1, la version de qemu doit être mise à jour, c'est-à-dire qemu-system-aarch64la version de , telle que 7.0 ou supérieure, la dernière version doit être 8.0

  • Après avoir ouvert le composant réseau qemu, une utilisation ultérieure du composant réseau est nécessaire pour réaliser les fonctions réseau correspondantes, telles que wget httpsetc.

Je suppose que tu aimes

Origine blog.csdn.net/tcjy1000/article/details/131499396
conseillé
Classement