McuStudioMcuStudio
指南
开发者
组件
API
  • 版本发布
指南
开发者
组件
API
  • 版本发布
  • 概述
  • 快速开始
  • 添加厂商的芯片到平台
  • 芯片模板教程

    • 芯片模板开发教程
    • 创建引脚封装
    • 配置时钟树
    • 配置 GPIO 外设
    • 配置 ADC 外设
    • 配置通信外设
    • 配置 TIM 外设
  • 开发参考

    • 框架与规则
    • 芯片包结构
    • 芯片描述
    • 芯片包配置
    • 引脚配置详解
    • 外设配置详解
    • 外设元素参考
    • GPIO 开发参考
    • ADC 开发参考
    • TIM 开发参考
    • 固件库开发指南
    • 版本管理机制
    • Define 映射指南
    • 多语言(i18n)

创建引脚封装

本教程将引导您完成芯片引脚封装模板的创建。引脚封装是芯片模板开发的第一步,定义了芯片的物理引脚特性,为后续的外设配置和代码生成提供基础。

概述

引脚封装模板以系列为维度,定义该系列下的封装类型和引脚特性。每个封装模板包含:

  • 封装类型:LQFP、QFN、BGA 等物理封装
  • 引脚数量:该封装包含的引脚总数
  • 引脚名称:PA0-PA15、PB0-PB15 等
  • 引脚电气类型:Power、I/O、Analog、Reset 等
  • 复用功能:每个引脚支持的复用功能(如 USART1_TX、TIM2_CH1)
  • 颜色标识:不同功能类型的引脚在界面上的显示颜色

准备工作

开始配置引脚封装前,请准备以下资料:

  1. 芯片数据手册 (Datasheet) — 查找引脚定义表,通常包含封装图和引脚功能表
  2. 芯片参考手册 (Reference Manual) — 查找 GPIO 复用功能映射表
  3. SDK 头文件 — 查找引脚复用功能的宏定义

数据手册示例

以下是一个典型的引脚功能表(以 LQFP32 封装为例):

引脚编号引脚名称类型主要功能复用功能
1VBATPower备份电源-
5PA0I/OPA0USART1_TX, TIM2_CH1
6PA1I/OPA1USART1_RX, TIM2_CH2

创建封装模板

步骤 1:新增系列

在 McuStudio 芯片包配置界面中:

  1. 点击 引脚封装模块 → 新增系列
  2. 输入系列名称(如 GD32F103)
  3. 右键点击系列,选择 新增封装

步骤 2:配置封装属性

选择封装后,在右侧面板中配置以下属性:

// 封装配置示例
{
  package: 'LQFP48',        // 封装类型
  pinCount: 48,             // 引脚数量
  description: 'LQFP 48-pin 7x7mm'
}

封装命名建议

封装名称建议使用有意义的标识,便于后续复用。例如:

  • LQFP48 — 48 引脚 LQFP 封装
  • QFN32 — 32 引脚 QFN 封装
  • LQFP64_10x10 — 64 引脚 LQFP 封装,尺寸 10x10mm

步骤 3:配置引脚信息

选中某个引脚后,在右侧属性面板中配置:

引脚基本属性

{
  name: 'PA0',              // 引脚名称
  port: 'GPIOA',            // 所属端口
  pin: 'GPIO_PIN_0',        // 引脚宏
  dir: 'left',              // 方向(left/right/top/bottom)
  num: 0,                   // 引脚编号
  type: 'I/O'               // 电气类型
}

引脚颜色配置

为不同类型的引脚设置颜色标识:

引脚类型默认颜色说明
Power (VDD/VSS)红色电源引脚
I/O绿色通用 I/O 引脚
Analog蓝色模拟功能引脚
Reset橙色复位引脚
Boot灰色启动配置引脚

配置复用功能

引脚复用功能是芯片模板的核心配置之一,决定了引脚可以承担哪些外设功能。

复用功能数据格式

每个引脚的复用功能以数组形式存储:

{
  name: 'PA0',
  af: [
    {
      name: 'Reset_State',
      value: '-1'
    },
    {
      name: 'GPIO_Input',
      value: 'GPIO_Input'
    },
    {
      name: 'USART1_TX',
      value: 'GPIO_ALTERNATE_USART1_TX'
    },
    {
      name: 'TIM2_CH1',
      value: 'GPIO_REMAP_TIM2_CH1'
    }
  ]
}

字段说明

字段说明示例
name显示在界面上的功能名称USART1_TX
value对应的 SDK 宏定义GPIO_ALTERNATE_USART1_TX

特殊功能

  • Reset_State (值 = -1):复位状态,表示引脚未被使用,选择此功能会从 GPIO 表中删除该引脚
  • GPIO_Input:通用输入模式,用于普通数字输入
  • GPIO_Output:通用输出模式,用于普通数字输出
  • GPIO_Analog:模拟模式,用于 ADC/DAC 等模拟外设

引脚配置脚本

在引脚配置中,可以通过事件脚本实现自动化的引脚管理:

updatePinTable 事件

当用户选中/取消选中引脚时,系统会触发 peri:updatePinTable 事件:

// 监听事件配置
{
  channel: 'peri:updatePinTable',
  script: function(event) {
    // event.pin — 被操作的引脚对象
    // event.selected — 是否被选中
    // event.alternate — 选择的复用功能
  }
}

参考数据手册示例

以下是一个完整引脚配置的对照示例:

数据手册引脚图

LQFP48 封装:
                      PA0  ● 1    48 ○  PB15
                      PA1  ● 2    47 ○  PB14
                      PA2  ● 3    46 ○  PB13
                      ...     ...     ...
                      VDD  ○ 24   25 ○  GND

对应的配置代码

// info.cjs 中的封装定义
{
  packages: [
    {
      name: 'LQFP48',
      pins: 48,
      description: 'LQFP 48-pin package'
    }
  ]
}

下一步

  • 继续学习 配置时钟树 — 配置芯片的时钟系统
  • 查阅 引脚配置详解 — 了解更深入的引脚配置技术细节
Prev
芯片模板开发教程
Next
配置时钟树