基于VS code 及IoT-link的HUAWEI LIteOS 配置剪裁
前沿
在HUAWEI LIteOS 开发时,可以利用Visual Studio Code安装插件进行工程的创建、剪辑、编辑及调试,Iot-link提供了编译、烧录、调试等一站式开发体验,支持 C、 C++、汇编等多种开发语言,让您快速、高效地进行物联网开发。
因为Visual Studio Code的社区版是微软免费授权的软件,不用像使用MDK一样进行注册付费,企业使用也少了一笔知识产权的维护费用。
准备
1、Visual Studio Code社区版,下载地址:https://code.visualstudio.com/download (选择自己的系统版本进行下载)
2、STM32CubeMX.exe STM32驱动库文件及配置工具 下载地址:https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html (可能需要注册下载,可考虑外部版本)
1、安装软件
1)Visual Studio Code和STM32CubeMx按照默认安装即可,将Visual Studio Code安装好后,需要安装一些使用到扩展插件。
2) 必要安装组件IoT Link,可在应用商店里进行搜索安装;因为该插件依赖C/C++ 运行,所以需要(如果未安装会自动安装)ms-vscode.cpptools
3)建议组件“Chinese(simplified)Language pack for Visual Studio Code”,毕竟中文菜单更容易适应。
2、软件介绍,现在Iot Link更新的版本是1.1.0(2020-09-04),希望以后还会和HUAWEI LIteOS Studio升级一起升级,毕竟有Visual Studio Code了只需要安装插件就可以使用还是有些便捷的,安装好后,我们就可以看到插件的主页了,如下图
通过这个界面,我们可以很容的找到IoT Link Studio的各种操作的按键和命令,后期我们就是通过这些命令创建、编译、调试、下载工程;也可以看出来,IoT Link Studio给我们提供哪些可以使用的功能。
工程设置
首先我们尝试打开样例工程,并完成一个编译过程。
1、点击页面下的“Home”进入主页
该页面提供了工程所有设置操作,如创建新工程、打开自己保存的工程、导入Gcc工程目录,和对IoT Link设置。
2、点击创建IoT工程,我们新建一个工程,这里需要设置我们新工程的名称,需要保存的目录,及依据那个开发板进行工程建立,因为插件还在开发期,仅支持少数开发板的项目的建立,不过熟悉工程后我们可以进行项目的移植,同时相信官方也会很快给出更多BSP工程模板进行选择。
我们这里选择一个暂时“STM32L431_BearPi_OS_Func”的小熊派开发板(可通过该网站了解该开发板https://www.holdiot.com/product/product.php?class3=15) 模板进行建立,通过选择基于“hello_wold_demo”一个打印的示例模板进行创建,点击“确定”创建完成。
3、建设好后,我们就可以在资源管理器看大模板生成的示例工程的目录,这个时候我们就可以对我们的工程进行编译,发现可以顺利通过输出工程编译信息和下载文件,说明整个软件安装和工程创建都是没有问题,现在我们就可以系统进行配置和剪裁了。
工程配置剪裁
1、进入到IoT Link设置页面
这里我就可以 看到系统编译器下载器,及LiteOS系统的配置工具,从里可以看出现阶段该软件仅支持GCC-ARM的编译器,同时下载仅支持J-link和OpenOCD两种下载器,希望后可以将最常用ST-link补充进去。
2、下面计入SDK配置了解一下HUAWEI LIteOS可以进行哪些系统功能的配置和剪裁。
SDK是HUAWEI提供端云协同能力,集成了MQTT、LwM2M、CoAP、mbedtls、LwIP 全套 IoT 互联互通协议栈,且在这些协议栈的基础上,提供了开放 API,用户只需关注自身的应用,而不必关注协议内部实现细节,直接使用SDK封装的API,通过连接、数据上报、命令接收和断开四个步骤就能简单快速地实现与华为OceanConnect云平台的安全可靠连接。使用SDK,用户可以大大减少开发周期,聚焦自己的业务开发,快速构建自己的产品。
SDK通过工程中的Kconfig进行菜单及文件进行选择控制,用户通过SDK图形化界面操作Kconfig,完成工程的配置和剪裁。
1)通过主菜单配置
config ARCH_CPU_TYPE string "Select the cpu arch:armv7-m armv6-m riscv32 x86-64" default "armv7-m" config UARTAT_RCVMAX int "Config the at uart receive buffer size" default 2048 config UARTAT_BAUDRATE int "Config the at uart baud rate" default 9600 config UARTAT_DEVNAME string "Config the at uart device name" choice Demo optional prompt "User Defined Demo" config Demo_None bool "none" config Demo_Helloworld bool "Hello World" select SHELL_ENABLE config Osal_Task_Demo bool "Osal Task" select SHELL_ENABLE config Osal_Men_Demo bool "Osal Mem" select SHELL_ENABLE config Osal_Semp_Demo bool "Osal Semp" select SHELL_ENABLE config Osal_Mutex_Demo bool "Osal Mutex" select SHELL_ENABLE config Osal_Interrupt_Demo bool "Osal_Interrupt" select SHELL_ENABLE endchoice config USER_DEMO string default "hello_world_demo" if Demo_Helloworld default "osal_task_demo" if Osal_Task_Demo default "osal_mem_demo" if Osal_Men_Demo default "osal_semp_demo" if Osal_Semp_Demo default "osal_mutex_demo" if Osal_Mutex_Demo default "osal_interrupt_demo" if Osal_Interrupt_Demo default "none"
2)我们看出来,用户可以设置如芯片的内核,调试串口的名称及波特率,然后提供了示例工程的选择配置,下一级菜单系统选择菜单中
ifeq ($(CONFIG_LITEOS_ENABLE), y) include $(iot_link_root)/os/liteos/liteos_imp.mk else ifeq ($(CONFIG_LINUXOS_ENABLE), y) include $(iot_link_root)/os/linux/linux_imp.mk else ifeq ($(CONFIG_MACOS_ENABLE), y) include $(iot_link_root)/os/macos/macos_imp.mk else ifeq ($(CONFIG_NOVAOS_ENABLE), y) include $(iot_link_root)/os/novaos/novaos_imp.mk endif
提供了Liteos、Linux、macos、movamos几种内核的选择,这里通常选择LiteOs。
3)在“Network configuration”菜单中提供了SDK给我提供的网络配置,如TCPIP、Dtls、Coap、Lwm2m、Mqttm我们可以按照需求打开或是关闭相关的功能对系统进行配置,将不使用功能关闭可以减少系统资源浪费。
4)同时为了更好地配合华为云的操作中最常用到的OceanConnect这个平台,系统的提供直接连接该平台的服务器的软件支持,需要开启,直接将选择勾选即可直接调用其云平台上的接口实现快速数据交互。
总结
本次文章主要简述了如何利用Iot link studio进行创建liteos工程及工程剪裁的特点,并说明各个文件选项是用于事项哪些功能。
作者公众号如,有需要可以联系。
- 点赞
- 收藏
- 关注作者
评论(0)