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