SiFli 芯片结构化数据仓库,包含芯片引脚定义、复用配置和变体信息。
# 安装依赖
uv sync
# 构建所有芯片
uv run build-schema
# 验证生成的文件
uv run validate-schemaSiliconSchema/
├── common/
│ ├── schema/ # JSON Schema 定义
│ │ └── chip-series.schema.json
│ └── pinmux/ # 共享 pinmux 配置
│ └── sf32lb52/
│ ├── pinmux.yaml # GPIO 复用功能
│ └── pinr.yaml # PINR 寄存器定义
├── chips/ # 芯片专属配置(源文件)
│ ├── SF32LB52x/
│ │ └── chip.yaml
│ └── SF32LB52_X/
│ └── chip.yaml
├── out/ # 构建输出(.gitignore)
│ └── <chip>/
│ ├── series.yaml # 完整芯片定义
│ └── sf32lb52x-pinctrl.h # Zephyr pinctrl 头文件
└── docs/
└── chip_data_model.md # 数据模型文档
构建 series.yaml 和 Zephyr pinctrl 头文件。
# 构建所有芯片
uv run build-schema
# 构建单个芯片
uv run build-schema -c SF32LB52x
uv run build-schema --chip SF32LB52x参数:
| 参数 | 说明 |
|---|---|
-c, --chip |
指定芯片目录名(默认构建所有芯片) |
输出:
out/<chip>/series.yaml— 合并后的完整芯片定义out/<chip>/<model_id>-pinctrl.h— Zephyr pinctrl 头文件
验证生成的 series.yaml 是否符合 JSON Schema。
# 验证所有芯片
uv run validate-schema
# 验证单个芯片
uv run validate-schema -c SF32LB52x
uv run validate-schema --chip SF32LB52x
# 详细输出
uv run validate-schema -v
uv run validate-schema --verbose参数:
| 参数 | 说明 |
|---|---|
-c, --chip |
指定芯片目录名(默认验证所有芯片) |
-v, --verbose |
显示详细验证信息 |
- Pad(焊盘):晶圆级引脚,包含电气类型和功能列表
- Functions(功能):Pad 支持的复用功能(GPIO、I2C、UART、TIM 等)
- PINR(二次路由):I2C/UART/TIM 需要的额外寄存器配置
- Variant(变体):不同封装/容量的具体料号
- Pin(引脚):封装级引脚,映射到 Pad
pads:
PA00: &PA00
type: bidirectional
functions:
- GPIO_A0
- I2C1_SDA
- I2C1_SCL
- USART1_TXD
- GPTIM1_CH1
variants:
- part_number: SF32LB520U36
package: QFN-68
pins:
- {number: "1", pad: *PA32}#define PA00_ANALOG SF32LB_PINMUX_ANALOG(PA, 0U)
#define PA00_GPIO SF32LB_PINMUX(PA, 0U, 0U, 0U, 0U)
#define PA00_I2C1_SDA SF32LB_PINMUX(PA, 0U, 4U, 0x48U, 1U)
#define PA00_USART1_TXD SF32LB_PINMUX(PA, 0U, 4U, 0x58U, 0U)- 在
chips/下创建新目录 - 创建
chip.yaml,引用共享 pinmux - 运行
uv run build-schema -c <chip_name> - 运行
uv run validate-schema -c <chip_name>
Apache-2.0