关键流程设计
RT-Thread 初始化流程
SDMC 控制器驱动的初始化接口通过 INIT_DEVICE_EXPORT(drv_sdmc_init)
完成注册。
其中,主要步骤如下:
-
分配 host 管理结构(包括 rt_mmcsd_host 和 aic_sdmc)
-
初始化模块的 clk
-
注册中断
-
初始化控制器
-
通知 mmcsd 监测线程(mmcsd_change)
Baremetal 初始化流程
SDMC 控制器驱动通过 mmc_init()
完成初始化。 其中,主要步骤如下:
-
分配 host 管理结构和 dev 设备信息结构(aic_sdmc 和 aic_sdmc_dev)
-
初始化模块的 clk
-
注册中断
-
初始化控制器
为了简化设计,SDMC 驱动中目前未使用中断方式,使用轮询方式完成和 Device 的交互。