平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台(三)| 学习笔记

简介: 快速学习平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台

开发者学堂课程【极简开发 - 平头哥 YoC 平台如何帮助开发者快速入门  AIoT :平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台(三)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/735/detail/13098


平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台(三)

五、让芯片 SDK 开发更快速

在 YoC 中,主要解决两个问题,第一个问题是让开发者快速的开发产品,第二个问题是芯片公司能够快速对接。

1.CSI—芯片 SDK 开发平台

该平台由 IP 仓库、芯片 SDK 快速开发、OCC 组成。

IP 仓库提供了很多仓库中 RIP 的驱动,例如 GPIO、USB、SDIO 等等,其主要驱动和技术手册,测试用例度、文档等等技术都在 IP 仓库中。

芯片 SDK 快速开发,是为了解决芯片的快速开发,通过提供一个芯片描述文件,该描述文件可以快速的与仓库之间选取芯片所使用的 IP,同时根据其提供的定义可以快速的生成芯片上的驱动。例如芯片的 SDK ,甚至还会生成芯片对应的软件模拟机器,这样可以在芯片没有开发出来之前就能做整个软件的开发,还包括芯片的驱动测试例集、技术文档和手册。还会提供一个芯片自动化的验证平台来运行 keys 、解决芯片开发的过程中可能会添加新的渠道,能够将测试结果通过不停的迭代输出,保证驱动的质量。

当一个程序开发完成后,可以利用 OCC 提供的组件、资源将其打包,生成芯片的 SDK 。

image.png

自动化:

SDK、技术手册、测试用例生成

芯片模拟器生成(QEMU)

持续集成系统(CI)

优势:

代码符合 IEC61508 工业标准

针对嵌入式的代码密度优化(可以在很小的芯片的诉求到大的芯片诉求进行很好的运行)

上千条测试用例集保障代码质量

对接  Alios-Things 操作系统(对接后,无论是上面所说的上层的应用组件,上层的方案可以快速的运行)

2.CSI—自动化测试框架

在该框架中,有板级的自动化流程,通过测试用例等配置,包括一些测试文件的信息,然后可以自动的执行。还提供日志的分析,整个测试过程如下:

image.png

最后会形成测试报告,测试过程会根据下面连接,例如被测试机,被测试的机器和辅助测试的机器通过一些文件进行测试,测试的模块可以通过自动化流程把其进入下发的测试机中,然后即可自动化的进行测试的润利。

该测试包括:

测试覆盖:边界测试、性能测试

多种触发方式:(开发时)提交代码时触发、定时触发、(开发人员)人工触发等

扩展测试用例:只需添加更改配置文件即可(将测试用例通过配置加载到测试框架中,然后将自己开发的驱动加入到该测试框架中,即可进行自动化的运行,有了该测试框架可以进行快速的代码迭代,芯片开发团队和软件开发团队就可以快速的提交代码、验证等任务,时刻保证质量)

测试执行效率:比手工执行提升50倍以上

测试报告:直观的 web 页面展示

自动化测试可以保证芯片最终输出的质量,质量对芯片来说非常重要。

3.芯片开发环节

整个开发中,简单的将其分为三个环节,分别是芯片定义、开发驱动芯片 SDK 、发布芯片 SDK 组件。

image.png

第一步是芯片定义

在芯片定义中,在每个芯片中会有芯片描述文件,通过描述文件定义芯片描述的信息。

chip.yaml 文件由五个部分组成,第一个部分是厂商自定义字段,第二部分是 cpu 型号,第三部分是 clock 字段,定义了芯片的使用源,第四部分 devices 字段定义了芯片包含的外设,包括外设名称、外设版本、基本地址。输入指令生成 danacia sdk 软件包,该软件包由组件组合而成,sdk 软件包中还包含新建的 ati 手册,danica 目录下包含所有的实例工程,包括操作系统实例工程、外设驱动实例工程以及自动化测试软件包。

通过芯片的定义能够快速的生成芯片的 SDK,在 SDK 中将生成芯片的用户手册(手动编写用户生成比较麻烦)。所以自动生成用户手册,还有测试用户的测试代码,和整个的实例工程都可以通过自动生成。

第二步是开发驱动芯片 SDK

做一个芯片除了平台提供的默认驱动外,可能还会增加一些自己的 IP 驱动,因此用户可以开发自己的驱动。在整个过程看,整个 SDK 过程中包的组件、芯片的组件,还提供模拟器,整个开发过程可以直接在模拟器上运行出芯片的结果,包括前面介绍的 CDK 的开发工具,开发的平台保证芯片开发的质量。

演示:

打开 SDK 包装的工程,可以看到 CDK 的内容以图片的形式存在,打开 sdk 文件,通过图形化界面可以进行芯片的功能配置,编写完毕后到 flag 中进行运行,打开窗口中端,按下服务按钮即可看到工程正常运行。

第三步:发布芯片 SDK 组件

可以看到目录结构中提供的各种设备实例工程,包括代码,都可以快速的运用。在把新的 IP 驱动开发后,提供自动化的测试并且有一个好的质量的输出后,可以将芯片发布到 OCC 平台。

演示:

自动化测试触发后,发现计算机正在进行 spi 的测试,连接到另一台机器查看,看到机器正在进行 gpio 的测试。

说明整个的过程都在自动化的完成。

通过三个步骤,测试完后的组件通过一键的 CDK 一键发布的方式就可以将芯片的 SDK 发布到 OCC 的官网。

4.回顾:

第一步是芯片定义,把芯片的信息通过 chip.yaml 的文件形式将其描述,然后生成驱动模板,基础的组件。第二步是在工程中通过 CDK 的计算开发工具增加芯片的特有的驱动,然后通过测试化的平台不断的测试和验证整个开发的过程,这样可以提高开发的时间,保证 CDK 的质量。开发完成后通过第三步完成芯片的发布。

前面通过两个环节介绍了在整个 OCC 开发平台中,芯片开发社区中,解决两类工作。第一类是开发者可以通过 OCC 的开发社区能够直接得到平台的解决方案、组件,能够快速的做封装产品的开发,能够得到芯片公司资源的支持。另一方面是芯片的厂家,可以通过 SDK 的开发工具、开发的组件,能够快速将芯片的 SDK 生成,然后接入到 平台。这样从上游的芯片公司到下游的开发商和开发者,可以很好的在芯片开发社之间进行互动来完成整个生态的快速连接。

在 OCC 中,有1520计划,能够加速合作伙伴(芯片公司和开发者)共同构建 AIoT 芯生态,共同打造这样的社区。

image.png

相关文章
|
物联网 传感器
【物联网开发实战】- 设备上云方案详解
以智能洗衣机为例,介绍温度/水位等传感器,主控MCU(Microcontroller Unit),无线通信模组等核心模块,以实现洗衣机数据采集、预处理、加密、传输上云等功能。
3593 0
|
4月前
|
传感器 安全 物联网
物联网(IoT)设备的硬件选型与集成技术博文
【6月更文挑战第28天】物联网设备硬件选型与集成聚焦关键要素:功能匹配、性能稳定性、兼容扩展及成本效益。嵌入式系统、通信协议、数据处理和安全性技术确保集成效果,支撑高效、智能的IoT系统,驱动家居、城市与工业自动化变革。
|
编解码 小程序 JavaScript
阿里云IoT小程序应用开发和组件实践
通过实验,了解阿里云IoT小程序的应用开发的方法,了解其内置的基础组件使用,以及基于Vue.js实现可复用的自定义组件的方法。
432 1
|
物联网 Python
《HaaS物联网云端一体低代码开发课程(下)》电子版地址
由浅入深的全方位介绍物联网基础知识和网络层基础知识,直击当前物联网领域学习者所遇到的痛点问题,并基于HaaSEDUK1开发板着重介绍如何用Python轻应用开发新模式结合物联网云平台及IoTStudio对云端一体化的开发模式进行讲解。
136 0
《HaaS物联网云端一体低代码开发课程(下)》电子版地址
|
物联网 Python
《HaaS物联网云端一体低代码开发课程(上)》电子版地址
由浅入深的全方位介绍物联网基础知识和网络层基础知识,直击当前物联网领域学习者所遇到的痛点问题,并基于HaaSEDUK1开发板着重介绍如何用Python轻应用开发新模式结合物联网云平台及IoTStudio对云端一体化的开发模式进行讲解
118 0
《HaaS物联网云端一体低代码开发课程(上)》电子版地址
|
物联网 Python
《HaaS物联网云端一体低代码开发课程(上)》电子版
由浅入深的全方位介绍物联网基础知识和网络层基础知识,直击当前物联网领域学习者所遇到的痛点问题,并基于HaaSEDUK1开发板着重介绍如何用Python轻应用开发新模式结合物联网云平台及IoTStudio对云端一体化的开发模式进行讲解
76 0
《HaaS物联网云端一体低代码开发课程(上)》电子版
|
物联网 Python
《HaaS物联网云端一体低代码开发课程(上)》电子版下载
由浅入深的全方位介绍物联网基础知识和网络层基础知识,直击当前物联网领域学习者所遇到的痛点问题,并基于HaaSEDUK1开发板着重介绍如何用Python轻应用开发新模式结合物联网云平台及IoTStudio对云端一体化的开发模式进行讲解
110 0
《HaaS物联网云端一体低代码开发课程(上)》电子版下载
|
边缘计算 编解码 算法
平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台(一)| 学习笔记
快速学习平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台
796 0
平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台(一)| 学习笔记
|
存储 安全 算法
平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台(二)| 学习笔记
快速学习平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台
310 0
平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台(二)| 学习笔记
|
物联网 中间件 芯片
4.0 IoT方案开发:方案获取|学习笔记
快速学习4.0 IoT方案开发:方案获取
120 0
4.0 IoT方案开发:方案获取|学习笔记