Приходите и поиграйте с компонентом LiteOS: Curl

Эта статья опубликована в сообществе HUAWEI CLOUD « Ранний доступ к компоненту LiteOS — игра с Curl », автор: W922.

основное введение

Curl — это инструмент для передачи файлов, который часто используется для загрузки и выгрузки данных.В этой демонстрации, основанной на плате разработки Cloud_STM32F429IGTx_FIRE , демонстрируется вызов API, предоставляемого curl в демонстрации curl, для загрузки файла и сохранения его в локальном файле.

Для работы демо-версии Curl требуется, чтобы встроенное устройство поддерживало функции сети и файловой системы. Плата разработки Cloud_STM32F429IGTx_FIRE адаптирована к стеку сетевых протоколов lwip и файловой системе fatfs. Дополнительные примеры API-интерфейса curl см. по адресу: https: //github.com/curl/curl/tree/master/docs/examples.

конфигурация параметров

Измените адрес загрузки файла и путь сохранения файла в demos/utility/curl/curl_demo.c. Пожалуйста, измените его в соответствии с фактическим адресом загрузки. URL-адрес загрузки и путь к файлу в демо-версии curl следующие:

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

Включить демонстрацию скручивания

Скопируйте файл конфигурации по умолчанию платы разработки Cloud_STM32F429IGTx_FIRE.В корневой каталог исходного кода LiteOS скопируйте tools/build/config/Cloud_STM32F429IGTx_FIRE.config и переименуйте его в .config. Используя систему Linux в качестве среды компиляции , выполните следующие команды, чтобы скопировать и переименовать файл конфигурации:

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

В этой демонстрации используется SD для хранения загруженных тестовых файлов, поэтому вам необходимо включить файловую систему FATFS и установить ее в режим SD-карты, а также выполнить команду в корневом каталоге исходного кода LiteOS: make menuconfig

Включите каждый компонент и демонстрацию следующим образом :

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

После сохранения и выхода LiteOS автоматически загрузит исходный код curl с github и загрузит соответствующий пакет исправлений из репозитория компонентов LiteOS на gitee и введет исправление в исходный код.Подробное описание этого процесса см. файл компоненты /download.sh .

Примечание. Для загрузки требуется хост Linux с доступом в Интернет и установленными инструментами git.

Скомпилируйте и запустите демо-версию Curl

Выполните следующую команду в корневом каталоге исходного кода LiteOS, чтобы скомпилировать проект LiteOS: make clean;make -j

После успешной компиляции в каталоге out/Cloud_STM32F429IGTx_FIRE/lib будут сгенерированы файл библиотеки curl libcurl.a и файл демонстрационной библиотеки libcurl_demo.a , а файл образа системы — Huawei_LiteOS.bin . Запишите файл образа системы на плату разработки, перезапустите демо-версию платы разработки и начните работу, вывод последовательного порта выглядит следующим образом:

********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.

Примечание. После успешного запуска демоверсии загруженный файл будет сохранен в локальном файле curl.txt (см. реальную ситуацию для конкретного содержимого, которое здесь заменено на [сведения о файле]).

Эпилог

В будущем мы продолжим добавлять дополнительные компоненты, платы для разработки, архитектуры, функции и т. д.

Спасибо, что прочитали. Если у вас есть какие-либо вопросы или предложения, вы можете оставить нам сообщение и позволить нам добиться прогресса вместе: https://gitee.com/LiteOS/LiteOS/issues .

Чтобы было легче найти репозиторий кода «LiteOS», рекомендуется посетить https://gitee.com/LiteOS/LiteOS , следовать «  Смотреть », например « Звезда » и « Вилка » в свою учетную запись, как показано на рисунке.

Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~

Supongo que te gusta

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