|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 名字好听吗 于 2022-6-13 10:20 编辑 * c i$ H9 X# b
: D u# A& V/ ^# w- I+ f6 [4 B& `! e1、组件组成
( Q, E/ Q( {, ?# ]1 l所有组件名字不可重复,名字规范为C语言变量的命名规则,不可超过64字节长度。原则上都采用小写。
7 T$ ^$ {; T p/ `( F( Z/ U●chip组件1 ~) \. J; W6 I' M5 I% c
至少包括include, src, package.yaml,README.md
2 J6 r& c0 d1 u' R( A- A命名规则:xxxx_chip (xxxx为芯片名字/型号), 位于components下。
7 W) Q1 F4 n% O! J) e2 Y* A●board组件
! | g0 [( \: k7 G& n8 P) ^3 v至少包括include, src, config, package.yaml,README.md
( i; P: N9 ~7 a. [, F命名规则:xxxx_[CPUX]_EVB(xxxx为芯片名字/型号;在多核的情况下,X为序号,从0开始), 位于board下。
9 x+ p1 c- W: J. U●drv组件(common组件类型)
) t {# Z# T5 n; @' x: v0 l2 n9 T3 V至少包括include, src, package.yaml,README.md
9 `6 O! ~2 O% [. r5 |命名规则:drv_[xxxx]_yyyy (xxxx为IP名字,比如wifi, yyyy为芯片名字/型号), 位于components下。
- y5 B; H" r$ q. J0 t' W! l●solution组件6 Z3 {/ {# x6 U& F% z. \- ^
至少包括APP, MAKEfile, SCconstruct, package.yaml,README.md& n5 [3 a k+ b) f, I8 `+ N
命名规则:一般能指明这是个solution即可。0 R3 c" }) ?' W! I
-如果是demo,一般命名为xxx_[cpuX]_demo,比如wifi_demo。在多核的情况下,X为序号,从0开始' a7 d. P5 k( ]5 K( e) q- E
-如果是平台方案实现,一般命名为xxxx_[cpuX]_function, 比如sc5654_boot。在多核的情况下,X为序号,从0开始
* P, a# d k u+ Z( x. n" B●common组件+ E9 z) l1 F: u# G
至少包括include, src, package.yaml,README.md
9 J% T# Y# O( T& f0 E+ N7 s& `9 j5 R命名规则:唯一, 位于components下。
$ C# M p3 e/ I' C. m●虚拟组件! [( b, n9 Z3 i' ]4 T: f
虚拟组件本身没有代码实现,只是用于把相关的组件归类在一起。至少包括 package.yaml,README.md
$ r/ j& y1 S$ j7 m; M, a
$ @1 m8 A) I7 J4 x* W. ~: B目前YoC里支持的虚拟组件有:
* l4 U* A) e8 r- [8 f1 g3 {-SDK_chip_xxxx:芯片SDK虚拟组件包括芯片驱动,基本内核,常用的功能CLI, KV等组件。开发者可以直接在此基础之上进行二次开发。
4 n3 y* X& `7 _- p" J-sys_ble:BLE子系统,包括蓝牙协议栈和蓝牙服务等功能" N/ Z0 b- p1 n) t( }- A* {. H0 G
-sys_wifi:WiFi子系统,包括无线协议栈和WiFi服务等功能- L& d2 V! X" c3 _: ^* i' [
-sys_voice:语音子系统,包括播放器,MIC, RECORD等功能* b) y! P+ w3 i* n) v
-sys_security:安全子系统包括密钥管理、SSL协议栈,算法库等功能
; k/ s% w# R- ^7 T4 H7 K. l' \-sdk_app_xxxx:解决方案虚拟组件包括芯片所有的解决方案和DEMO+ I7 a0 D( s- z& W* I; \' b3 n
一般情况下,一个解决方案由芯片SDK虚拟组件、子系统以及第三方SDK组成。+ H! H% ^4 Z$ i1 _. o
& h$ m _5 N- K2 U2、组件开发" q# K: Q# N3 k1 x6 o1 M5 s& }: V5 D
开发者可以利用剑池CDK和yoctools进行组件开发,通过下列方式进行安装剑池CDK或yoctools7 ]) ^3 c0 X8 h9 ~$ o
●通过剑池CDK安装包进行安装
9 \" i% c" {: V: ?. h●sudo pip install yoctools
8 @# P; \0 \8 F: Q& \
4 o# K; i1 W" L$ i6 m; B+ j2.1 剑池CDK开发
- B* o9 L- P# Z/ S4 i2.1.1 获取解决方案
X8 K' {) l, F& m打开剑池CDK进入主界面,选择Project->New IoT Project根据提示, 选择对应开发板的解决方案。
" y: U0 j: Q/ X- n* u
* y: N& h1 d9 c1 {2.1.2 获取目标组件% H4 {) c' g: K- p/ y
单击home工具图标进入"show welcome page",输入目标组件名字搜索,找到组件后选择下载,添加完成后,在工程窗口package节点下可以看到添加的组件。( c) M6 j3 {& u6 \4 H- z
" N) U2 v5 C+ @+ j0 z t; M, m- B
2.1.3 创建开发仓库
, C4 E3 }8 Q6 N; ~* f5 ~开发者获取解决方案或组件代码后,可以根据自身的需求在代码托管平台上创建组件开发仓库,进行组件开发。
1 A5 n0 Z p9 t A3 r2.1.4 开发组件功能
; q! p' Z- P4 x9 Y& |4 Y9 b3 u% c开发者在开发过程中提交代码到组件开发仓库,直到组件功能完成。
+ d3 C, P1 `8 X- U/ J5 C; K S2.1.5 贡献发布组件
- \' o, I5 G: W: I/ ?% `开发者将组件贡献合入YoC,需要按照以下章节3进行操作。( f0 j3 Y7 H+ v: M" p
1 ^ m. p) @9 F; Q6 M2 P; ~# b
; ~# Z( m$ d: F N: [
|
|