華為物聯網操作系統LiteOS內核教程02-HelloWorld

1. 創建HelloWorld工程

打開IoT Studio,點擊創建IoT Studio工程:

華為物聯網操作系統LiteOS內核教程02-HelloWorld

填寫工程設置,需要注意一下幾點:

  • 工程名稱和目錄中不可以有中文或者空格
  • SDK版本選擇最新的IoT_LINK版本,當前最新1.0.0
  • 硬件平臺選擇STM32L431RC_BearPi
  • 示例工程選擇hello_world_demo
華為物聯網操作系統LiteOS內核教程02-HelloWorld

創建完成之後進入IoT Studio界面如圖:

華為物聯網操作系統LiteOS內核教程02-HelloWorld

2. IoT_LINK SDK

在創建工程時,會選擇 SDK 版本,如圖:

華為物聯網操作系統LiteOS內核教程02-HelloWorld

Huawei IoT link SDK

Huawei IoT link SDK(下文統一簡稱SDK)是部署在具備廣域網能力、對功耗/存儲/計算資源有苛刻限制的終端設備上的輕量級互聯互通中間件,您只需調用API接口,便可實現設備快速接入到物聯網平臺以及數據上報和命令接收等功能。

華為物聯網操作系統LiteOS內核教程02-HelloWorld

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:UsersAdministrator.icodesdkIoT_LINK_1.0.0目錄下,其中 Administrator 是我的用戶名,在實際情況中會是你當前的用戶名,SDK 的代碼較多,所以建議使用VS Code 直接打開 IoT_LINK_1.0.0 文件夾查看。

如何更新SDK

SDK不斷的進行更新,可以在 IoT Studio 的工程中進入“文件 -> 首選項”,選擇“SDK 管理”,如果有新的版本被檢測到,狀態會變為“可更新”,更新方法為:選中該SDK,然後點擊“安裝/更新”即可:

華為物聯網操作系統LiteOS內核教程02-HelloWorld

每次打開工程時都要看看SDK是否有更新,最近的一次更新為2019-11-28(今天),另外,更新 SDK 後,需要重新創建工程以刷新配置。

3. HelloWorld Demo

HelloWorld的示例代碼在 Demos/hello_world_demo/hello_world_demo.c文件中,示例代碼中創建了一個名稱為 helloworld,優先級為 2 的任務,該任務每隔 4s 在串口打印一次數據,代碼如下:

<code>#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;
}/<osal.h>/<code>


4.編譯

IoT Studio使用 arm-none-eabi-gcc 工具鏈進行編譯,使用 make 工具構建編譯,使用*.mk 文件留給用戶配置一些 makefile 中的選項。

設置編譯器和make工具路徑

還記得在上一篇文章中安裝IoT Studio時查看的開發工具路徑嗎?沒錯,接下來我們就需要配置這兩個路徑:

  • arm-none-eabi-編譯器路徑

編譯器的路徑在:C:UsersAdministratoropenSourceToolsGNU Tools Arm Embedded7 2018-q2-updatebin,其中 Administrator 是我的用戶名,更換為你的用戶名即可。

在IoT Studio中進入“工程 -> 工程配置”,選擇“編譯器”,配置編譯器路徑:

華為物聯網操作系統LiteOS內核教程02-HelloWorld

  • make構建器路徑

make構建器的路徑在C:UsersAdministratoropenSourceToolsGNU MCU EclipseBuild Tools2.11-20180428-1604bin,其中 Administrator 是我的用戶名,更換為你的用戶名即可。

在IoT Studio中進入“工程 -> 工程配置”,選擇“編譯器”,配置make路徑:

華為物聯網操作系統LiteOS內核教程02-HelloWorld

設置工程的makefile

整個工程的 makefile 在 GCC 目錄下,在編譯之前,要確保在IoT Studio中指定該makefile:

華為物聯網操作系統LiteOS內核教程02-HelloWorld

編譯工程

指定 makefile 之後,點擊編譯按鈕

華為物聯網操作系統LiteOS內核教程02-HelloWorld

即可編譯整個工程,所有的編譯輸出信息會在控制檯打印:

華為物聯網操作系統LiteOS內核教程02-HelloWorld

目前SDK中的警告不用管,再次點擊編譯即可。

5. 燒錄

IoT Studio 支持使用 Jlink 或者 ST-Link 下載程序,小熊派開發闆闆載ST-Link下載器,並且是STLink-v2.1版本,所以使用 OpenOCD 通過ST-Link 進行下載,下載設置如圖:

華為物聯網操作系統LiteOS內核教程02-HelloWorld

OpenOCD參數中st-link-v2.cfg 和 st-link-v2-1.cfg 是不同的!

設置完成之後,連接小熊派開發板到PC,點擊下載按鈕

華為物聯網操作系統LiteOS內核教程02-HelloWorld

即可,控制檯會打印出下載信息:

華為物聯網操作系統LiteOS內核教程02-HelloWorld

燒錄完成之後,開發板自動復位,程序開始運行,可以看到LCD屏幕顯示如下字樣:

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


6. 查看串口輸出結果

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

在使用之前首先進行串口的設置:

華為物聯網操作系統LiteOS內核教程02-HelloWorld

連接小熊派開發板,並且確保小熊派開發板右上角的串口選擇開關撥到AT-MCU一端

然後點擊查看按鈕

華為物聯網操作系統LiteOS內核教程02-HelloWorld

,選擇串口終端:

華為物聯網操作系統LiteOS內核教程02-HelloWorld

在控制檯會顯示串口終端界面,點擊打開串口按鈕即可,可以看到Demo程序在串口的輸出如圖:

華為物聯網操作系統LiteOS內核教程02-HelloWorld


分享到:


相關文章: