|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 名字好听吗 于 2022-6-13 10:20 编辑 * B4 q! o7 a5 z6 y: t
& T# t* O. H/ I+ q# |8 _
1、组件组成
^8 L# K+ d/ N9 I6 K) b所有组件名字不可重复,名字规范为C语言变量的命名规则,不可超过64字节长度。原则上都采用小写。% D L4 ~; h/ j, W1 P" E/ A$ \
●chip组件
/ S' I7 H0 U4 ?# V. e1 w& N至少包括include, src, package.yaml,README.md
9 g. a% a' J% N2 U+ N命名规则:xxxx_chip (xxxx为芯片名字/型号), 位于components下。- u3 O* p0 n9 }% q" F1 i0 L
●board组件
6 r5 {% `1 Z' r/ V& X. ^" E/ _至少包括include, src, config, package.yaml,README.md/ v+ |9 Z( C9 {$ o9 x) K" k3 ]
命名规则:xxxx_[CPUX]_EVB(xxxx为芯片名字/型号;在多核的情况下,X为序号,从0开始), 位于board下。
. g+ J% ?: l8 y3 [* M$ p8 u●drv组件(common组件类型)- j; ]0 i$ U( \ i& b
至少包括include, src, package.yaml,README.md8 J$ r# U9 v( V f( E
命名规则:drv_[xxxx]_yyyy (xxxx为IP名字,比如wifi, yyyy为芯片名字/型号), 位于components下。* \5 m7 @5 y1 x% D2 s* c# j
●solution组件
+ U7 }1 p( B2 ], c( O至少包括APP, MAKEfile, SCconstruct, package.yaml,README.md
+ d- T u( x& e! I' L命名规则:一般能指明这是个solution即可。/ I i9 K6 n" ?
-如果是demo,一般命名为xxx_[cpuX]_demo,比如wifi_demo。在多核的情况下,X为序号,从0开始
! P b& [. t9 A# x-如果是平台方案实现,一般命名为xxxx_[cpuX]_function, 比如sc5654_boot。在多核的情况下,X为序号,从0开始
" @% C+ a* z& T●common组件
$ o& ]2 a; [9 ~; @至少包括include, src, package.yaml,README.md
0 ^9 o m9 h0 v, O1 A命名规则:唯一, 位于components下。
+ ~' K! F6 I6 o2 W& s●虚拟组件! i8 ?8 f. p6 h# p* b
虚拟组件本身没有代码实现,只是用于把相关的组件归类在一起。至少包括 package.yaml,README.md
; m1 V+ I* V0 A# N( ^
3 N* }& _- m) O) H; h. c4 C3 I目前YoC里支持的虚拟组件有:8 q9 W; M# O' J9 O! L; J& e4 C
-SDK_chip_xxxx:芯片SDK虚拟组件包括芯片驱动,基本内核,常用的功能CLI, KV等组件。开发者可以直接在此基础之上进行二次开发。+ G$ M$ r& p: Y3 p* V
-sys_ble:BLE子系统,包括蓝牙协议栈和蓝牙服务等功能
. w# o5 I: j7 o" T/ I& ]-sys_wifi:WiFi子系统,包括无线协议栈和WiFi服务等功能# |3 i8 |' H+ n/ y- u
-sys_voice:语音子系统,包括播放器,MIC, RECORD等功能( ?+ _/ }* i( A2 N" W
-sys_security:安全子系统包括密钥管理、SSL协议栈,算法库等功能. O0 r9 K+ y6 O! Q r9 P! K
-sdk_app_xxxx:解决方案虚拟组件包括芯片所有的解决方案和DEMO* z6 B; \; F* Z: {& ]3 ]9 z
一般情况下,一个解决方案由芯片SDK虚拟组件、子系统以及第三方SDK组成。. ?9 W& p6 B( h4 z9 u3 O
2 ~- ]3 ^' T K! c) i! z& d E2、组件开发
2 |; k4 E* l" Q' s开发者可以利用剑池CDK和yoctools进行组件开发,通过下列方式进行安装剑池CDK或yoctools
- N* ]3 a# T2 o' q" C& T, Q●通过剑池CDK安装包进行安装
4 ]9 O- ?' x0 _8 ]3 R●sudo pip install yoctools9 p2 @3 u) ^0 T+ {# H R8 g
3 G, b/ `. [6 f" X. o1 p2.1 剑池CDK开发
# Z- b; X( t$ N/ j" T2.1.1 获取解决方案
% k; r! z9 P/ s- ^1 x: y5 F4 e打开剑池CDK进入主界面,选择Project->New IoT Project根据提示, 选择对应开发板的解决方案。4 p* Y- U) [" }& H2 x
, h( A- \" J' Y! E4 S. A
2.1.2 获取目标组件1 c) r2 `9 ~) { C+ F( g
单击home工具图标进入"show welcome page",输入目标组件名字搜索,找到组件后选择下载,添加完成后,在工程窗口package节点下可以看到添加的组件。. `1 x6 K. F; Y) ], W9 I( s% Q% N
( D4 f; Q) [' z
2.1.3 创建开发仓库
+ F0 z/ [4 y8 U! ?, {- I' D, c5 ]$ g" Q开发者获取解决方案或组件代码后,可以根据自身的需求在代码托管平台上创建组件开发仓库,进行组件开发。
; i' G3 D8 {$ C& `; l' o4 ^+ l2.1.4 开发组件功能
, c8 j, u- f* @0 I% F开发者在开发过程中提交代码到组件开发仓库,直到组件功能完成。2 L) ^$ g g9 T$ |
2.1.5 贡献发布组件4 a2 i7 Y6 K8 K+ ?% M3 j
开发者将组件贡献合入YoC,需要按照以下章节3进行操作。
6 X( A8 X$ L3 w6 K" l- j3 E8 {- a# {8 c0 V. x5 z/ q
/ E/ s" P& v+ I. S K: D/ B
|
|