|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 名字好听吗 于 2022-6-13 10:20 编辑
) M6 n! T- \4 J$ q0 ~
9 j& y5 x1 c+ P$ }: o- J" b2 N0 t1、组件组成
6 \! L2 l4 k! C! m9 U7 q+ G0 q所有组件名字不可重复,名字规范为C语言变量的命名规则,不可超过64字节长度。原则上都采用小写。
* Z/ x) C$ ~ ^# }4 o: E" R/ p' U●chip组件* p+ O! [2 x5 `( y7 g6 I2 o% U9 d
至少包括include, src, package.yaml,README.md
5 O' E# T; A! L2 j* ?+ q+ h5 e- E命名规则:xxxx_chip (xxxx为芯片名字/型号), 位于components下。" \0 _3 z* |+ L( b0 n1 P
●board组件1 H" p: S% _' N, X" P
至少包括include, src, config, package.yaml,README.md9 O0 n: ^! C1 R( {! @& H, s8 @4 u& R. ?
命名规则:xxxx_[CPUX]_EVB(xxxx为芯片名字/型号;在多核的情况下,X为序号,从0开始), 位于board下。: N1 r- e/ |: h! h# T3 t
●drv组件(common组件类型)' j% r7 J8 z' i m8 z- J
至少包括include, src, package.yaml,README.md$ ?" D8 q/ S; R# n ^
命名规则:drv_[xxxx]_yyyy (xxxx为IP名字,比如wifi, yyyy为芯片名字/型号), 位于components下。
1 D5 m$ W* v" t0 u5 a●solution组件# X' q$ X: U5 K5 {
至少包括APP, MAKEfile, SCconstruct, package.yaml,README.md' W" m3 R% k4 p5 ?8 T5 z5 T+ B
命名规则:一般能指明这是个solution即可。* g4 E x& l9 d7 L- R
-如果是demo,一般命名为xxx_[cpuX]_demo,比如wifi_demo。在多核的情况下,X为序号,从0开始
7 X8 \- ~1 v# R-如果是平台方案实现,一般命名为xxxx_[cpuX]_function, 比如sc5654_boot。在多核的情况下,X为序号,从0开始
* A: ^4 H, T' ?- i5 y0 }●common组件/ y0 V- ]; r1 z7 m! [, I7 ~
至少包括include, src, package.yaml,README.md) @- `! w# j4 O8 v% k" x4 Z, n
命名规则:唯一, 位于components下。
# k* U7 N) O4 m4 ^●虚拟组件$ i8 j0 \& y* ]5 J! v! `
虚拟组件本身没有代码实现,只是用于把相关的组件归类在一起。至少包括 package.yaml,README.md
( H0 Z$ K5 w9 [" S" X' v- v% o# v K+ R4 h% }
目前YoC里支持的虚拟组件有:1 z6 _# m3 u" X0 t4 S
-SDK_chip_xxxx:芯片SDK虚拟组件包括芯片驱动,基本内核,常用的功能CLI, KV等组件。开发者可以直接在此基础之上进行二次开发。
/ ^4 b2 z) R/ i3 B9 f) |3 q-sys_ble:BLE子系统,包括蓝牙协议栈和蓝牙服务等功能3 k3 \7 Q3 H7 @! W& a
-sys_wifi:WiFi子系统,包括无线协议栈和WiFi服务等功能 C9 J% s. u; @
-sys_voice:语音子系统,包括播放器,MIC, RECORD等功能
: i8 _& O/ k' {/ ~9 c8 g-sys_security:安全子系统包括密钥管理、SSL协议栈,算法库等功能+ |# p7 Q7 `% \! r8 l; H( a
-sdk_app_xxxx:解决方案虚拟组件包括芯片所有的解决方案和DEMO* B+ }! U* [. ?) F6 q
一般情况下,一个解决方案由芯片SDK虚拟组件、子系统以及第三方SDK组成。
& J+ \- |; p3 V4 W. K
) k4 j8 Z1 |7 E2、组件开发
3 u3 ~. _, `/ U+ H9 N; B }6 p开发者可以利用剑池CDK和yoctools进行组件开发,通过下列方式进行安装剑池CDK或yoctools* Q" C: Y& B, K+ Z/ i9 l7 \
●通过剑池CDK安装包进行安装
" I4 z" |6 m& @+ G/ G4 M●sudo pip install yoctools. h8 k- ~: a$ r* }( U
- g P* C+ B6 P: u$ t
2.1 剑池CDK开发
* c7 E8 [$ I- E" ?. b6 i2.1.1 获取解决方案
$ k, Y' {! w$ K% o8 a, Q- r; j' S打开剑池CDK进入主界面,选择Project->New IoT Project根据提示, 选择对应开发板的解决方案。
1 Y: ?: v' p1 e b& ^/ e0 N ]
& R0 @, F6 A3 N0 h R- p2.1.2 获取目标组件
% }. W% O7 b& l" v8 I8 d4 D1 H单击home工具图标进入"show welcome page",输入目标组件名字搜索,找到组件后选择下载,添加完成后,在工程窗口package节点下可以看到添加的组件。
+ W8 Q; d" T! W" j5 U! p: n/ b
/ P8 s8 O. E. l2 X; j( [2.1.3 创建开发仓库
8 w: u. d, D5 }* b# k7 {9 j1 Y6 P开发者获取解决方案或组件代码后,可以根据自身的需求在代码托管平台上创建组件开发仓库,进行组件开发。0 }( ~, k6 B( p( n0 d$ T# O8 l
2.1.4 开发组件功能
0 q" n" n. {. e( w9 q开发者在开发过程中提交代码到组件开发仓库,直到组件功能完成。& b. {8 z2 E6 O/ ?
2.1.5 贡献发布组件6 d( a) V' R4 O! }1 I- I! B) u& q
开发者将组件贡献合入YoC,需要按照以下章节3进行操作。1 _3 ?5 F. [6 Z/ k: O& B! P
. f' _ o$ X! k( {) H6 [; v0 e O0 W6 y( g: B& H) e
|
|