设计说明
4 Dec 2024
Read time: 1 minute(s)
RTOS 系统中未提供一个类似 Linux 的 DMA Engine 子系统,但为了方便 DMA 使用者的代码兼容,DMA 驱动提供了类似 Linux 的 DMA Engine 接口定义。
如 DMA 驱动的软件架构图 所示,DMA 驱动不依赖于任何 RTOS 的设备驱动模型,因此无论是在 RTOS 还是 baremetal 环境下,DMA 驱动都可以直接调用 DMA Engine API。
源码说明
源代码位于 bsp/artinchip/目录下:
-
bsp/artinchip/drv/dma/drv_dma.c:DMA Driver 层实现
-
bsp/artinchip/include/drv/drv_dma.h:DMA Driver 层接口,提供了类似 Linux 的 DMA Engine 接口
-
bsp/artinchip/hal/dma/hal_dma.c:DMA HAL 层实现
-
bsp/artinchip/include/hal/hal_dma.h:DMA HAL 层接口头文件
-
bsp/artinchip/hal/dma/hal_dma_reg.h:DMA 控制器的寄存器定义文件