小熊派IoT开发板华为物联网操作系统LiteOS内核实战教程02-HelloWorld

举报
小熊派开源社区 发表于 2020/01/18 17:05:58 2020/01/18
【摘要】 1. 创建HelloWorld工程打开IoT Studio,点击创建IoT Studio工程:填写工程设置,需要注意一下几点:工程名称和目录中不可以有中文或者空格SDK版本选择最新的IoT_LINK版本,当前最新1.0.0硬件平台选择STM32L431RC_BearPi示例工程选择hello_world_demo创建完成之后进入IoT Studio界面如图:2. IoT_LINK SDK在创...

1. 创建HelloWorld工程

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

image.png

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

  • 工程名称和目录中不可以有中文或者空格

  • SDK版本选择最新的IoT_LINK版本,当前最新1.0.0

  • 硬件平台选择STM32L431RC_BearPi

  • 示例工程选择hello_world_demo

image.png

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

image.png

2. IoT_LINK SDK

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

image.png

Huawei IoT Link SDK

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

image.png

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,然后点击“安装/更新”即可:

image.png

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

3. HelloWorld Demo

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

#include <osal.h>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中进入“工程 -> 工程配置”,选择“编译器”,配置编译器路径:

image.png

  • make构建器路径

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

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

image.png

设置工程的makefile

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

image.png

编译工程

指定 makefile 之后,点击编译按钮
即可编译整个工程,所有的编译输出信息会在控制台打印:

image.png

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

5. 烧录

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

image.png

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

设置完成之后,连接小熊派开发板到PC,点击下载按钮
即可,控制台会打印出下载信息:

image.png

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

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

6. 查看串口输出结果

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

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

image.png

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

然后点击查看按钮
,选择串口终端:

image.png

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

image.png


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

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

image.png


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。