Edit online

引脚配置

8 Nov 2024
Read time: 2 minute(s)
Luban-Lite SDK 支持多个芯片平台,在 BringUp 之前,务必确认板卡使用的 SoC 具体型号以配置正确的引脚和内存。遵照以下流程确认相应的 SoC 型号并修改配置:
  1. 确认 SoC 的具体型号并阅读对应的芯片手册 —— 引脚复用章节,确认每个引脚能提供的功能。
  2. 打开 SoC 的 target/SoC/board/pinmux.c 引脚定义文件,配置引脚数量。

    Luban-Lite SDK 各个开发板引脚定义在 target/SoC/board/pinmux.c 文件中。SDK 中对于 SoC 支持的引脚数量没有显式限制。

  3. 根据芯片手册及新添加板卡的原理图,确定对应的引脚功能,并在 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
    ...
    };
    
  4. 拉低烧录引脚,使 SoC 进入烧录模式,烧录引脚。

    在新增加的板卡配置中,结合原理图配置引脚。 先加载项目对应的 baremetal_helloworld 工程,例如 d21x_demo128-nand_baremetal_BootLoader,再使用 me 进行配置,修改配置如下:
    BootLoader options
    Upgrading
        (PA.0) PIN to enter upgrading mode      # 根据原理图修改对应的烧录引脚
  5. 在修改 pinmux.c 之后,先编译 BootLoader,再编译 RT-Thread。

    项目中的 BootLoader 和 RT-Thread 是共享 pinmux 配置的,必须先编译 BootLoader,否则 pinmux 配置可能无法生效。Luban-Lite 支持使用 mb 命令,一键编译 BootLoader 和 RT-Thread。

  6. 对于使用了内部 LDO 给 CPU 供电的 SoC,则需要使能内部 LDO,否则可略过此步。例如,D12x 支持单 3.3 V 供电设计。
    Board options > Syscfg Parameter
    
    [*] SYSCFG LDO1X enable  --->
        (8)   LDO1X voltage value level <0-15>