设计说明
源代码位于 bsp/artinchip/
:
-
bsp/artinchip/drv/sdmc/drv_sdmc.c,SDMC Driver 层实现
-
bsp/artinchip/hal/sdmc/hal_sdmc.c,SDMC HAL 层实现
-
bsp/artinchip/include/hal/hal_sdmc.h,SDMC HAL 层接口头文件
此外,提供了一个 baremetal 设计实例供参考,源代码位于:
-
bsp/artinchip/drv_bare/sdmc/sdmc.c,baremetal 的 Driver 层实现
-
bsp/artinchip/drv_bare/sdmc/mmc.c,baremetal 的 Driver 层使用实例
-
bsp/artinchip/drv_bare/sdmc/sdmc.h,baremetal 的 Driver 层头文件
-
bsp/artinchip/include/drv_bare/mmc.h,baremetal 的 Driver 层使用实例头文件
-
packages/third-party/dfs,baremetal 的文件系统实现
SDMC 驱动 Driver 层采用 RT-Thread 的 SDIO 设备驱动框架,如果只使用 HAL 层也可以支持 baremetal 方式的应用场景。

其中:
-
DFS 层:baremetal 文件系统层,提供接口给 APP 读写 Baremetal SDMC 文件。
-
Baremetal MMC 层:向上对接 DFS,提供读写接口;向下对接 driver 层。
-
Baremetal SDMC Driver 层:提供 SDMC 驱动初始化接口,方便 MMC 层的访问。
-
SDMC Driver 层:负责对接 SDIO 设备框架,注册成块设备,方便应用层的访问。
-
SDMC HAL 层:封装了寄存器级别的操作,对 Driver 层屏蔽硬件级别的访问。