引脚配置
8 Nov 2024
Read time: 2 minute(s)
Luban-Lite SDK
支持多个芯片平台,在 BringUp 之前,务必确认板卡使用的 SoC
具体型号以配置正确的引脚和内存。遵照以下流程确认相应的
SoC 型号并修改配置:
- 确认 SoC 的具体型号并阅读对应的芯片手册 —— 引脚复用章节,确认每个引脚能提供的功能。
- 打开 SoC 的
target/SoC/board/pinmux.c
引脚定义文件,配置引脚数量。
Luban-Lite SDK 各个开发板引脚定义在 target/SoC/board/pinmux.c 文件中。SDK 中对于 SoC 支持的引脚数量没有显式限制。
- 根据芯片手册及新添加板卡的原理图,确定对应的引脚功能,并在
target/<SoC>/<board>/pinmux.c
引脚定义文件中配置引脚功能。
更改接口配置时,请确保 pinmux 没有冲突,否则可能会引起未知错误。
每个引脚同时只能被设置成一种功能, 每个 pin 脚的配置,使用结构体描述。
struct aic_pinmux { unsigned char func; // 功能编号 unsigned char bias; // 内部上下拉设置,一般无需修改 unsigned char drive; // 驱动能力,若需要修改,请联系专业人士确认 char * name; // 引脚名称字符串,例如 "PA.0" };
例如 PA.0 和 PA.1 引脚:struct aic_pinmux aic_pinmux_config[] = { #ifdef AIC_USING_UART0 /* uart0 */ {5, PIN_PULL_DIS, 3, "PA.0"}, // PA.0 配置功能 5,用作串口 0 {5, PIN_PULL_DIS, 3, "PA.1"}, // PA.1 配置功能 5,用作串口 0 #endif ... };
-
拉低烧录引脚,使 SoC 进入烧录模式,烧录引脚。
在新增加的板卡配置中,结合原理图配置引脚。 先加载项目对应的 baremetal_helloworld 工程,例如 d21x_demo128-nand_baremetal_BootLoader,再使用me
进行配置,修改配置如下:BootLoader options Upgrading (PA.0) PIN to enter upgrading mode # 根据原理图修改对应的烧录引脚
- 在修改 pinmux.c 之后,先编译 BootLoader,再编译 RT-Thread。
项目中的 BootLoader 和 RT-Thread 是共享 pinmux 配置的,必须先编译 BootLoader,否则 pinmux 配置可能无法生效。Luban-Lite 支持使用
mb
命令,一键编译 BootLoader 和 RT-Thread。 - 对于使用了内部 LDO 给 CPU 供电的 SoC,则需要使能内部
LDO,否则可略过此步。例如,D12x
支持单 3.3 V
供电设计。
Board options > Syscfg Parameter [*] SYSCFG LDO1X enable ---> (8) LDO1X voltage value level <0-15>