详解IoT Studio创建工程的机制

举报
樊心昊 发表于 2020/04/26 23:35:10 2020/04/26
【摘要】 摘要:当我们看到IoT Studio中的工程模板时,一点击创建就能自动生成一个工程,是不是很神奇?本篇文章主要来详解这其中的机制。

摘要:当我们看到IoT Studio中的工程模板时,一点击创建就能自动生成一个工程,是不是很神奇?本篇文章主要来详解这其中的机制。

环境:Win10+VScode1.44.2+Iot Studio0.9.0



IoT Studio0.9.0是内测版本,暂时还未发布,请大家耐心等待。


LiteOS_Lab的仓库地址:https://github.com/LiteOS/LiteOS_Lab


一、SDK介绍

        当我们安装好了IoT Studio会自动下载一些依赖,例如ARM GCC工具链、J-Link驱动等等还有我们的SDK,目前最新SDK是2.1版本的,大家可以可以到LiteOS_Lab的仓库下载尝鲜,首先带大家看看SDK目录,IoT Studio的SDK目录默认安装到C:\Users\你的用户名\.iotlink\sdk\IoT_LINK中,目录如下:

image.png

targets文件夹就是我们今天的主角,现在我们随便打开一个targets文件夹中的工程模板,例如STM32L431_BearPi,下图这些文件夹我在这个汇总贴中的帖子中详细说过,我们今天重点说下.config、iot_config.h、Kconfig和Demo文件夹:

image.png

二、IoT Studio介绍

image.png

打开IoT Studio后,点击创建工程,可以看见选择一个①硬件平台和②基于示例工程创建。

image.png

①硬件平台和②基于示例工程创建是怎么来的?

    ①硬件平台:IoT Studio会读取SDK中的sdk\IoT_LINK\targets文件夹中的所有工程模板的文件夹名称,看到的STM32L476RG_NB476就是这其中的一个文件夹

    image.png

    ②基于示例工程创建:你可以看到这里有一个use_coap_demo,这个是IoT Studio去读取STM32L476RG_NB476\Demos文件夹中的实例文件夹名称显示的,我们只有一个。

    image.png

现在你可以填写工程名称和选择路径并点击确定,就会在指定路径下创建一个刚刚选择的工程,现在我们来看一下SDK配置,还记得前面说过的Kconfig吗?

你可以点击这里回去看下Kconfig

image.png

看到了吧,这些配置选项都是IoT Studio通过读取Kconfig显示出来的,首先第一个被读取kconfig,位于工程目录下的kconfig,然后又读取SDK中iot_link/Kconfig,然后分别读取各个组件的kconfig,到这里我相信细心的同学可以发现,SDK配置中已经配置好了,这些配置是哪里来的?现在就要开始介绍我们Demo文件夹中的defaults.sdkconfig,每一在Demo文件夹中的独立Demo都有一个自己的defaults.sdkconfig,其中写了使用该Demo时kconfig需要如何配置,这个文件就需要我们根据自己制作的Demo用到的组件来写了,你也可以通过在IoT Studio配置中,配置好点击应用,将生成的.config中的内容复制到你自己的Demo中的defaults.sdkconfig中。

我们现在可以测试性的修改部分配置,然后点击应用,你可以发现工程目录下的.config和iot_config.h都被修改为了相应的配置以供Makefile读取控制编译,是不是很神奇?

三、总结一下

如果你需要自己制作你开发板的工程模板你至少需要制作以下文件

    targets中的以XXX芯片开头的文件夹存放工程模板

    工程模板/Demo文件夹中写入你的相应Demo和defaults.sdkconfig以及修改Demo文件下的user_demo.mk文件还有kconfig

    其他文件的修改及制作在汇总帖中的帖子中已经讲解过了


PS:在制作和使用过程中有啥问题都欢迎大家留言或者发帖!


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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