构建芯片SDK
本章介绍如何制作芯片SDK。
芯片SDK
什么是芯片SDK呢?芯片SDK是一个针对某款芯片所依赖的所有组件的合集的描述,这个集合里面包含了chip组件、board组件、common组件、solution组件,通过sdk类型的组件将他们集合起来。
创建sdk类型组件
比如这是我们的工作目录:
xx@PF1K7752:~/work/yocop$ ls
boards components solutions
xx@PF1K7752:~/work/yocop$
- 先在
components
目录下创建一个sdk类型的组件
cd components
mkdir sdk_xxx
xxx
一般是芯片的名字
- 填写package.yaml和README.md文件
此类型组件下只有package.yaml
和README.md
文件。这2个文件的描述请参考开发YoC组件章节。
在这里,package.yaml文件不需要填写那么多信息,只需要第一部分的基础信息和第二部分的依赖信息即可。示例如下:
## 第一部分: 基础信息
name: sdk_xxx # <必选项> 包名称 (符合C语言变量命名规则),长度少于等于64字节
version: v7.4-dev # <必选项> 组件版本号
description: xxx SDK套件,包括各种依赖组件和demo # <必选项> 建议至少20字以上
type: sdk # <必选项> 组件类型,为:solution, chip, board, common, sdk
tag: 核心模块 # <可选项> 组件分类,缺省值: ''
license: Apache license v2.0 # <可选项> 源代码的许可证,要确保所有代码、文件的许可证不冲突。如:MIT,Apache license v2.0,BSD
## 第二部分:依赖信息
# 指定该组件依赖的组件及版本,版本支持条件比较,支持:>=v1.0, >v1.0, ==v1.0, <=v1.0, <v1.0, v1.0
# 未指定条件时,默认为 ==,如 v1.0 与 ==v1.0
# depends: # <可选项> 该组件依赖其他的组件,合理的依赖才能保证组件能编译、使用
# - minilibc: v7.2.0
# - aos: >=v7.2.0
depends:
- csi: v7.4-dev
- minilibc: v7.4-dev
- aos: v7.4-dev
- kv: v7.4-dev
- ulog: v7.4-dev
- uservice: v7.4-dev
- partition: v7.4-dev
- key_mgr: v7.4-dev
- console: v7.4-dev
- netmgr: v7.4-dev
- drivers: v7.4-dev
- drv_wifi_rtl8723ds: v7.4-dev
# board
- xxx_evb: v7.4-dev
# chip
- chip_xxx: v7.4-dev
# solutions
- xxx_demo: v7.4-dev
- xxx_demo2: v7.4-dev
重要字段解释:
字段 | 解释 |
---|---|
version | 芯片SDK的版本 |
depends | 所有依赖的组件名字和版本 |
以上,即完成芯片SDK组件的构建。完成之后便可以通过发布流程发布到服务器上。请参考芯片SDK发布。
下载芯片SDK
可以使用yoc
命令下载和安装芯片SDK包。
使用yoc
命令需要安装yoctools工具。yoctools安装和使用请见YocTools使用章节。
mkdir workspace
cd workspace
yoc init
yoc install sdk_xxx
默认安装master分支的sdk_xxx,如果要切换sdk_xxx的版本,请执行yoc install sdk_xxx -b branch
命令,branch为分支名。