Venha brincar com o componente LiteOS: Curl

Este artigo é compartilhado pela Comunidade HUAWEI CLOUD " LiteOS Component Early Access - Playing with Curl ", autor: W922.

introdução básica

Curl é uma ferramenta de transferência de arquivos, que é frequentemente usada para upload e download de dados. Com base na placa de desenvolvimento Cloud_STM32F429IGTx_FIRE , esta demonstração demonstra como chamar a API fornecida pelo curl na demonstração do curl para fazer download de um arquivo e salvá-lo em um arquivo local.

A operação da demonstração Curl requer que o dispositivo incorporado suporte funções de rede e sistema de arquivos. A placa de desenvolvimento Cloud_STM32F429IGTx_FIRE é adaptada à pilha de protocolos de rede lwip e ao sistema de arquivos fatfs. Para obter mais exemplos da API curl , consulte: https: //github.com/curl/curl /tree/master/docs/examples.

configuração de parâmetros

Modifique o endereço de download do arquivo e o caminho de salvamento do arquivo em demos/utility/curl/curl_demo.c. Modifique-o de acordo com o endereço de download real. O endereço de download do URL e o caminho do arquivo na demonstração do curl são os seguintes:

#define URL_ADDRESS    "192.168.3.37"
#define FILE_PATH            "/fatfs/curl.txt" 

Ativar demonstração de cachos

Copie o arquivo de configuração padrão da placa de desenvolvimento Cloud_STM32F429IGTx_FIRE . No diretório raiz do código fonte do LiteOS, copie tools/build/config/Cloud_STM32F429IGTx_FIRE.config e renomeie-o para .config. Usando o sistema Linux como ambiente de compilação , execute os seguintes comandos para copiar e renomear o arquivo de configuração:

cp tools/build/config/Cloud_STM32F429IGTx_FIRE.config .config

Esta demonstração usa SD para armazenar os arquivos de teste baixados, então você precisa habilitar o sistema de arquivos FATFS e configurá-lo para o modo de cartão SD e executar o comando no diretório raiz do código-fonte do LiteOS: make menuconfig

Habilite cada componente e demonstração da seguinte forma :

Components  --->
        FileSystem  --->
            -*- Enable FATFS (NEW)
                    Choose Peripheral Driver (SD Card)  --->
                        (X) SD Card
        Network  --->
            -*- Enable Lwip
                    Enable Ipv4 Or Ipv6 (Enable Ipv4)  --->
                        (X) Enable Ipv4
        Utility  --->
            -*- Enable Curl
Demos  --->
       Utility Demo  --->
               [*] Enable Curl Demo

Depois de salvar e sair, o LiteOS irá baixar automaticamente o código fonte do curl do github , e baixar o pacote de patch correspondente do repositório de componentes do LiteOS no gitee , e inserir o patch no código fonte. Para o processo detalhado deste processo, consulte o arquivo components/download.sh .

Nota: O download requer um host Linux com acesso à internet e ferramentas git instaladas.

Compile e execute o Curl Demo

Execute o seguinte comando no diretório raiz do código fonte do LiteOS para compilar o projeto LiteOS: make clean;make -j

Após a compilação bem-sucedida , o arquivo da biblioteca curl libcurl.a e o arquivo da biblioteca demo libcurl_demo.a serão gerados no diretório out/Cloud_STM32F429IGTx_FIRE/lib e o arquivo de imagem do sistema é Huawei_LiteOS.bin . Grave o arquivo de imagem do sistema na placa de desenvolvimento, reinicie a demonstração da placa de desenvolvimento e comece a executar, a saída da porta serial é a seguinte:

********Hello Huawei LiteOS********
LiteOS Kernel Version : 5.0.0
build data : Mar 19 2021 15:19:22
**********************************
osAppInit
cpu 0 entering scheduler
app init!
Hello, welcome to liteos demo!
lwip test init ok.
Curl demo task start to run.
Fatfs file system mount success
Huawei LiteOS #
*** readed /fatfs/curl.txt 315 data ***
[file info]
**************************************
Curl demo task finised.

Nota: Depois que a demonstração for executada com sucesso, o arquivo baixado será salvo no arquivo local curl.txt (consulte a situação real do conteúdo específico, que é substituído por [file info] aqui).

Epílogo

No futuro, continuaremos a adicionar mais componentes, placas de desenvolvimento, arquiteturas, recursos etc.

Obrigado por ler. Se você tiver alguma dúvida ou sugestão, deixe uma mensagem para nós e vamos progredir juntos: https://gitee.com/LiteOS/LiteOS/issues .

Para encontrar o repositório de códigos "LiteOS" com mais facilidade, é recomendável visitar https://gitee.com/LiteOS/LiteOS , seguir "  Watch ", como " Star ", e " Fork " para sua conta, conforme mostrado na figura.

Clique em Seguir para conhecer as novas tecnologias da HUAWEI CLOUD pela primeira vez~

Acho que você gosta

Origin blog.csdn.net/devcloud/article/details/123985438
Recomendado
Clasificación