|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 名字好听吗 于 2022-6-13 10:20 编辑
5 X" d, @5 K, d* ?4 J, x# `5 {* T9 g: d" m
1、组件组成
. v- N5 g/ j7 A6 D' z7 _所有组件名字不可重复,名字规范为C语言变量的命名规则,不可超过64字节长度。原则上都采用小写。+ }& Z7 I7 e. f. \" N
●chip组件( ^6 Y* P& A/ n5 j1 r1 S
至少包括include, src, package.yaml,README.md: z3 h, z) O) ]& j" M! W
命名规则:xxxx_chip (xxxx为芯片名字/型号), 位于components下。
% o* B1 m5 L2 d \* i4 U●board组件
$ F2 f% C* \. l0 ~至少包括include, src, config, package.yaml,README.md
6 B, l! [2 j/ S6 t命名规则:xxxx_[CPUX]_EVB(xxxx为芯片名字/型号;在多核的情况下,X为序号,从0开始), 位于board下。
9 G! o( G3 A" Y- Y: X3 w●drv组件(common组件类型)3 V& B# V, u) C5 V# ^
至少包括include, src, package.yaml,README.md8 F! S7 s$ n7 g6 Y) f( H6 w
命名规则:drv_[xxxx]_yyyy (xxxx为IP名字,比如wifi, yyyy为芯片名字/型号), 位于components下。
9 K d) o6 n, f●solution组件
9 G" q; c6 O8 h: @4 D- K至少包括APP, MAKEfile, SCconstruct, package.yaml,README.md' t+ ~2 W8 w8 K7 J v# D/ X
命名规则:一般能指明这是个solution即可。" \+ L1 A: _( N7 V+ X
-如果是demo,一般命名为xxx_[cpuX]_demo,比如wifi_demo。在多核的情况下,X为序号,从0开始6 J7 Q9 W1 T( `, Y
-如果是平台方案实现,一般命名为xxxx_[cpuX]_function, 比如sc5654_boot。在多核的情况下,X为序号,从0开始- h3 M C/ l6 a7 o3 G
●common组件! j; n( T6 x, |
至少包括include, src, package.yaml,README.md1 M$ o5 R4 w$ H& ^: l1 t* D% ^& U
命名规则:唯一, 位于components下。
8 `! q- {, o- ?●虚拟组件: i# W- n2 i" v4 O. D: u2 a- ]
虚拟组件本身没有代码实现,只是用于把相关的组件归类在一起。至少包括 package.yaml,README.md
( ~9 n6 ~ V" O" I S+ ?2 J. v: c( q
目前YoC里支持的虚拟组件有:
, C" F- w M1 O3 U$ O' I) o-SDK_chip_xxxx:芯片SDK虚拟组件包括芯片驱动,基本内核,常用的功能CLI, KV等组件。开发者可以直接在此基础之上进行二次开发。! D) J8 v( ^; x, w
-sys_ble:BLE子系统,包括蓝牙协议栈和蓝牙服务等功能
6 b/ A) v4 y) T- @: P-sys_wifi:WiFi子系统,包括无线协议栈和WiFi服务等功能7 M* ?3 X% G8 F- q* W
-sys_voice:语音子系统,包括播放器,MIC, RECORD等功能
. _" o+ n7 p* K$ n$ G2 Z/ Y-sys_security:安全子系统包括密钥管理、SSL协议栈,算法库等功能& B. L8 X3 }+ Q3 R/ _; f. ]
-sdk_app_xxxx:解决方案虚拟组件包括芯片所有的解决方案和DEMO
! T$ Z1 [5 y8 `9 q一般情况下,一个解决方案由芯片SDK虚拟组件、子系统以及第三方SDK组成。1 h" L0 s' f! q7 Z0 `9 t: @7 A! K
& p* M& t S/ Y" ~0 q9 A! i) M1 _5 C2、组件开发' g7 a$ a. ~+ }" `
开发者可以利用剑池CDK和yoctools进行组件开发,通过下列方式进行安装剑池CDK或yoctools7 b2 U) ]( ]4 e( a9 U
●通过剑池CDK安装包进行安装
. |. G# V% J' H. V6 R% J●sudo pip install yoctools
1 y: y% T: O4 |8 y# L" k! o; d, y, A0 M* x
2.1 剑池CDK开发
2 B$ j: ^5 s# V# S2.1.1 获取解决方案
, M1 W- B9 m+ y( ~' g5 S9 {打开剑池CDK进入主界面,选择Project->New IoT Project根据提示, 选择对应开发板的解决方案。% [. {: J3 B& U4 n
- v6 h7 x6 }- w; V
2.1.2 获取目标组件; I0 g0 W2 I, |1 o$ L
单击home工具图标进入"show welcome page",输入目标组件名字搜索,找到组件后选择下载,添加完成后,在工程窗口package节点下可以看到添加的组件。
2 `- W* |) W/ o# L( F) y$ D4 c. ~1 `# @/ W/ \
. u0 v& t' B1 f2 y
2.1.3 创建开发仓库
1 E3 |) N3 j( I开发者获取解决方案或组件代码后,可以根据自身的需求在代码托管平台上创建组件开发仓库,进行组件开发。7 N' t# X4 M; f! {; X
2.1.4 开发组件功能% L5 S* |2 K v, v
开发者在开发过程中提交代码到组件开发仓库,直到组件功能完成。& s) M! B2 U; `8 v: ~, W
2.1.5 贡献发布组件! ]. Y; w' G, h5 C5 `) f
开发者将组件贡献合入YoC,需要按照以下章节3进行操作。0 c3 l" ?2 L! X2 Z
9 e, B1 L' Q8 c) k" R* E- i0 y' [. s' F
|
|