Edit online

关键流程设计

RT-Thread 初始化流程

SDMC 控制器驱动的初始化接口通过 INIT_DEVICE_EXPORT(drv_sdmc_init) 完成注册。 其中,主要步骤如下:

  1. 分配 host 管理结构(包括 rt_mmcsd_host 和 aic_sdmc)

  2. 初始化模块的 clk

  3. 注册中断

  4. 初始化控制器

  5. 通知 mmcsd 监测线程(mmcsd_change)

Baremetal 初始化流程

SDMC 控制器驱动通过 mmc_init() 完成初始化。 其中,主要步骤如下:

  1. 分配 host 管理结构和 dev 设备信息结构(aic_sdmc 和 aic_sdmc_dev)

  2. 初始化模块的 clk

  3. 注册中断

  4. 初始化控制器

为了简化设计,SDMC 驱动中目前未使用中断方式,使用轮询方式完成和 Device 的交互。