Edit online

设计说明

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。


sw_system4

1. DMA 驱动的软件架构图

源码说明

源代码位于 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 控制器的寄存器定义文件