基于VS code 及IoT-link的HUAWEI LIteOS 配置剪裁

举报
o0龙龙0o 发表于 2020/11/21 17:01:11 2020/11/21
【摘要】 根据VS code 的iot link进行工程创建、剪裁

前沿

        在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了只需要安装插件就可以使用还是有些便捷的,安装好后,我们就可以看到插件的主页了,如下图

image.png

        通过这个界面,我们可以很容的找到IoT Link Studio的各种操作的按键和命令,后期我们就是通过这些命令创建、编译、调试、下载工程;也可以看出来,IoT Link Studio给我们提供哪些可以使用的功能。

工程设置

        首先我们尝试打开样例工程,并完成一个编译过程。

1、点击页面下的“Home”进入主页

image.png

该页面提供了工程所有设置操作,如创建新工程、打开自己保存的工程、导入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设置页面

image.png  image.png  image.png

这里我就可以 看到系统编译器下载器,及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,完成工程的配置和剪裁。

image.png

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工程及工程剪裁的特点,并说明各个文件选项是用于事项哪些功能。





作者公众号如,有需要可以联系。

公众号二维码.png


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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