RT-Thread 5.0.1 qemu-virt64-aarch64 resolve problemas de rede

artigo de referência

prefácio

  • Recentemente, o RT-Thread precisa ser usado qemu-virt64-aarch64para verificar a plataforma aarch64, ou seja, algumas funções de rede da plataforma ARM64, que precisam ser qemu-virt64-aarch64habilitadas

  • O ubuntu 20.04 usado no ambiente de desenvolvimento constatou que após habilitar o driver de rede e os componentes, o dispositivo de rede qemu não pode ser inicializado normalmente

  • Após a verificação, descobriu-se que o qemu precisa ser atualizado qemu-system-aarch64. Para o método de atualização, consulte o artigo anterior:
    Como compilar o qemu-system-aarch64 a partir do código-fonte do qemu

ambiente de desenvolvimento

#!/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, preste atenção ao usar aarch64-none-elf-a cadeia de ferramentas, caso contrário, a compilação pode falhar

Abra a rede qemu-virt64-aarch64

  • O padrão RT-Thread BSP qemu-virt64-aarch64 é habilitar a função de rede, que precisa ser habilitada manualmente

  • scons --menuconfigEntre na interface gráfica de configuração

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

insira a descrição da imagem aqui

  • Ativar componentes de rede: SAL, dispositivo de rede, LWIP
    insira a descrição da imagem aqui

  • Aumente apropriadamente o tamanho da pilha de threads tcp e lwip
    insira a descrição da imagem aqui

  • Confirme Using VirtIO NETse a estrutura do driver está habilitada

 .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

insira a descrição da imagem aqui

compilar e executar

  • scons podem ser compilados e atualmente está confirmado que tanto o toolchain gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xzquanto gcc-arm-11.2-2022.02-x86_64-aarch64-none-elf.tar.xzo qemu podem rodar normalmente

  • resultado em execução

insira a descrição da imagem aqui

resumo

  • Se nenhum dispositivo de rede for encontrado após iniciar o qemu: Por exemplo virtio-net0 Network Interface 1, a versão do qemu precisa ser atualizada, ou seja, qemu-system-aarch64a versão do, como 7.0 ou superior, a versão mais recente deve ser 8.0

  • Depois de abrir o componente de rede qemu, é necessário usar mais o componente de rede para realizar as funções de rede correspondentes, como wget httpsetc.

Acho que você gosta

Origin blog.csdn.net/tcjy1000/article/details/131499396
Recomendado
Clasificación