GPIO调试指南
X3 芯片共有121个IO功能管脚,每个管脚都可以配置工作在gpio模式下 ,但是需要注意和其他功能管脚的复用关系。
管脚查询
IO管脚的复用和配置可以在 datasheets 查阅《PL-2500-3-X3 PIN SW Reg-V1.2.xls》 和《RM-2500-5-X3M Register Reference Manual-GPIO&PIN-V1.1.pdf》。
在 《PL-2500-3-X3 PIN SW Reg-V1.2.xls》可以比较直观的查询到管脚的上电默认状态、复用、驱动能力、上下拉、施密特触发配置。
在 《RM-2500-5-X3M Register Reference Manual-GPIO&PIN-V1.1.pdf》文档中查询对应管脚的gpio寄存器信息。
示例
以查询gpio120号管脚的复用、方向控制、数据寄存器地址为例进行说明:
功能复用寄存器说明:
-
打开 《PL-2500-3-X3 PIN SW Reg-V1.2.xls》,选择
PIN SW Register的数据表。 -
第一行会标明功能复用的基地为
0xA6004000。 -
在
GPIO列找到GPIO[120],这一项对应的信息即是管脚120的上电默认状态、复用、驱动能力、上下拉、施密特触发配置。如下图所示。

- 找到以上配置项后,基地址加上偏移的值即该管家的复用控制寄存器,例如
GPIO120的复用寄存器为0xA6004000 + 0x1E0 = 0xA600410E0。 - 配置功能复用寄存器时,建议先把该值先读出来,然后设置想要设置的对应bit后再写回。例如配置
GPIO120为GPIO模式,则只设置0xA600410E0寄存器的低两位为0x3,保持其他启动强度、上下拉、斯密特触发配置不变,除非你明确知道你需要对它们也做修改。
GPIO控制和数据寄存器:
- 打开 《RM-2500-5-X3M Register Reference Manual-GPIO&PIN-V1.1.pdf》,本文档分两个主要章节,
GPIO章节是描述管脚的控制寄存器、输出数据寄存器、输入数据寄存器和管脚电压域配置寄存器(偏移为0x170 和 0x174的两个寄存器是管脚电压域配置寄存器)。Pin Group章节与寄存器复用《PL-2500-3-X3 PIN SW Reg-V1.2.xls》表内容一样。 - 控制、数据寄存器的基地址在每页表格的第一行会显示,为
BASE_ADDR:0xA600_3000,查询到的偏移地址加上本基地址就是对应的完整寄存器地址。 - 旭日X3M芯片总共有
120个可用的管脚,分成7个bank,每个bank最多16个管脚,控制和数据寄存器以一个bank为一个控制单元。例如GPIO120的bank为120除以16后取整为7,在bank中的管脚编号为120对16取余数为8。由此我们就可以找到对应的寄存器地址为如下图所示。GPIO120的寄存器即以下图中寄存器GPIO7_xxx中对应的bit8(从bit0开始计算)。
