找回密码
 注册
关于网站域名变更的通知
查看: 212|回复: 2
打印 上一主题 下一主题

RISC-V生态全景解析16——YoC组件发布开源操作指南

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-6-10 09:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

RISC-V生态全景解析(十六):YoC组件发布开源操作指南.pdf

1.02 MB, 下载次数: 0, 下载积分: 威望 -5

该用户从未签到

2#
发表于 2022-6-10 10:01 | 只看该作者
学习了,Thanks♪(・ω・)ノ

该用户从未签到

3#
发表于 2022-6-10 14:29 | 只看该作者
学习了,Thanks♪(・ω・)ノ
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-9-20 05:54 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表