华为物联网操作系统LiteOS内核教程02-HelloWorld

1. 创建HelloWorld工程

打开IoT Studio,点击创建IoT Studio工程:

华为物联网操作系统LiteOS内核教程02-HelloWorld_第1张图片
Studio初始界面

填写工程设置,需要注意一下几点:

  • 工程名称和目录中不可以有中文或者空格
  • SDK版本选择最新的IoT_LINK版本,当前最新1.0.0
  • 硬件平台选择STM32L431RC_BearPi
  • 示例工程选择hello_world_demo
华为物联网操作系统LiteOS内核教程02-HelloWorld_第2张图片
Studio创建工程

创建完成之后进入IoT Studio界面如图:

华为物联网操作系统LiteOS内核教程02-HelloWorld_第3张图片
Studio项目界面

2. IoT_LINK SDK

在创建工程时,会选择 SDK 版本,如图:

华为物联网操作系统LiteOS内核教程02-HelloWorld_第4张图片

Huawei IoT link SDK

Huawei IoT link SDK(下文统一简称SDK)是部署在具备广域网能力、对功耗/存储/计算资源有苛刻限制的终端设备上的轻量级互联互通中间件,您只需调用API接口,便可实现设备快速接入到物联网平台以及数据上报和命令接收等功能。

华为物联网操作系统LiteOS内核教程02-HelloWorld_第5张图片

SDK提供端云协同能力,集成了MQTT、LwM2M、CoAP、mbedtls、LwIP 全套 IoT 互联互通协议栈,且在这些协议栈的基础上,提供了开放 API,用户只需关注自身的应用,而不必关注协议内部实现细节,直接使用SDK封装的API,通过连接、数据上报、命令接收和断开四个步骤就能简单快速地实现与华为OceanConnect云平台的安全可靠连接。使用SDK,用户可以大大减少开发周期,聚焦自己的业务开发,快速构建自己的产品。

SDK和LiteOS的关系

Huawei IoT link SDK 的底层拥有OS适配层,可以适配Linux、MacOS、LiteOS,以及其它第三方OS(需要自行适配),本教程中所使用的SDK底层所适配的OS是LiteOS

SDK和IoT Studio的关系

为了用户开发方便,SDK的代码不会出现在 IoT Studio 中,IoT Studio中只有用户的目标工程代码(target),但是,SDK的代码会在编译的时候被编译进工程。

那么,SDK的代码在哪里?如何查看SDK的代码?

SDK的代码在C:\Users\Administrator\.icode\sdk\IoT_LINK_1.0.0目录下,其中 Administrator 是我的用户名,在实际情况中会是你当前的用户名,SDK 的代码较多,所以建议使用VS Code 直接打开 IoT_LINK_1.0.0 文件夹查看。

如何更新SDK

SDK不断的进行更新,可以在 IoT Studio 的工程中进入“文件 -> 首选项”,选择“SDK 管理”,如果有新的版本被检测到,状态会变为“可更新”,更新方法为:选中该SDK,然后点击“安装/更新”即可:

华为物联网操作系统LiteOS内核教程02-HelloWorld_第6张图片

每次打开工程时都要看看SDK是否有更新,最近的一次更新为2019-11-28(今天),另外,更新 SDK 后,需要重新创建工程以刷新配置。

3. HelloWorld Demo

HelloWorld的示例代码在 Demos/hello_world_demo/hello_world_demo.c文件中,示例代码中创建了一个名称为 helloworld,优先级为 2 的任务,该任务每隔 4s 在串口打印一次数据,代码如下:

#include 

static int app_hello_world_entry()
{
    while (1)
    {
        printf("Hello World! This is LiteOS!\r\n");
        osal_task_sleep(4*1000);
    }
}

int standard_app_demo_main()
{
    osal_task_create("helloworld",app_hello_world_entry,NULL,0x400,NULL,2);
    return 0;
}

4.编译

IoT Studio使用 arm-none-eabi-gcc 工具链进行编译,使用 make 工具构建编译,使用*.mk 文件留给用户配置一些 makefile 中的选项。

设置编译器和make工具路径

还记得在上一篇文章中安装IoT Studio时查看的开发工具路径吗?没错,接下来我们就需要配置这两个路径:

  • arm-none-eabi-编译器路径

编译器的路径在:C:\Users\Administrator\openSourceTools\GNU Tools Arm Embedded\7 2018-q2-update\bin,其中 Administrator 是我的用户名,更换为你的用户名即可。

在IoT Studio中进入“工程 -> 工程配置”,选择“编译器”,配置编译器路径:

华为物联网操作系统LiteOS内核教程02-HelloWorld_第7张图片
  • make构建器路径

make构建器的路径在C:\Users\Administrator\openSourceTools\GNU MCU Eclipse\Build Tools\2.11-20180428-1604\bin,其中 Administrator 是我的用户名,更换为你的用户名即可。

在IoT Studio中进入“工程 -> 工程配置”,选择“编译器”,配置make路径:

华为物联网操作系统LiteOS内核教程02-HelloWorld_第8张图片

设置工程的makefile

整个工程的 makefile 在 GCC 目录下,在编译之前,要确保在IoT Studio中指定该makefile:

华为物联网操作系统LiteOS内核教程02-HelloWorld_第9张图片
makefile选择界面

编译工程

指定 makefile 之后,点击编译按钮

即可编译整个工程,所有的编译输出信息会在控制台打印:

华为物联网操作系统LiteOS内核教程02-HelloWorld_第10张图片
控制台界面

目前SDK中的警告不用管,再次点击编译即可。

5. 烧录

IoT Studio 支持使用 Jlink 或者 ST-Link 下载程序,小熊派开发板板载ST-Link下载器,并且是STLink-v2.1版本,所以使用 OpenOCD 通过ST-Link 进行下载,下载设置如图:

华为物联网操作系统LiteOS内核教程02-HelloWorld_第11张图片

OpenOCD参数中st-link-v2.cfg 和 st-link-v2-1.cfg 是不同的!

设置完成之后,连接小熊派开发板到PC,点击下载按钮

即可,控制台会打印出下载信息:

华为物联网操作系统LiteOS内核教程02-HelloWorld_第12张图片
控制台界面

烧录完成之后,开发板自动复位,程序开始运行,可以看到LCD屏幕显示如下字样:

Welcome to IoTCluB!
BearPi IoT Develop Board
Powerd by Huawei LiteOS!
Please wait for system init!

6. 查看串口输出结果

IoT Studio 集成了串口终端,可以很方便的查看串口输出信息。

在使用之前首先进行串口的设置:

华为物联网操作系统LiteOS内核教程02-HelloWorld_第13张图片
串口终端设置界面

连接小熊派开发板,并且确保小熊派开发板右上角的串口选择开关拨到AT-MCU一端

然后点击查看按钮

,选择串口终端:

华为物联网操作系统LiteOS内核教程02-HelloWorld_第14张图片
串口终端查看界面

在控制台会显示串口终端界面,点击打开串口按钮即可,可以看到Demo程序在串口的输出如图:

华为物联网操作系统LiteOS内核教程02-HelloWorld_第15张图片
串口终端控制台界面

关注“小熊派开源社区”微信公众号,回复“LiteOS内核实战”获取实战源代码。

小熊派开源社区,专注于前沿技术分享,关注“小熊派开源社区”微信公众号,获取更多资料教程。

华为物联网操作系统LiteOS内核教程02-HelloWorld_第16张图片

你可能感兴趣的:(华为物联网操作系统LiteOS内核教程02-HelloWorld)