sdk-hwV1.3/lichee/xr806/appos/project/example/dma/readme.md

110 lines
3.4 KiB
Markdown
Raw Normal View History

2024-05-07 10:09:20 +00:00
# dma示例工程
> dma示例工程展示了dma模块接口使用方法。
>
> 本工程中提供以下模块接口使用的示例:
> 1. DMA SRAM复制数据模式使用
> 2. DMA UART0收发数据模式使用
---
## 适用平台
> 本工程适用以下芯片类型:
>
> 1. XR806系列芯片
> 本工程适用以下评估板类型:
> 1. 底板XR806_EVB
> 2. 模组XR806_MD01
> 本工程在基于"XR806_MD01"的“XR806_EVB”板上测试通过。
> 若需要在其他适用芯片和评估板上运行本工程请根据快速指南《XRadio_Quick_Start_Guide-CN》的提示进行相关配置修改。
> XRadio Wireless MCU芯片和评估板的更多信息可在以下地址获取
> https://docs.xradiotech.com
## 工程配置
> defconfig
> * N/A
>
> Makefile
> * N/A
>
> board_config.h
> * N/A
>
> board_config.c
> * N/A
>
> prj_config.h
>
> * N/A
## 模块依赖
> * N/A
---
## 工程说明
> 本工程通过串口打印演示dma模块 DMA SRAM复制数据模式、DMA UART0收发数据模式使用使用, 通过使能宏定义选择dma工作模式。
### 操作说明:
> 1. 使用串口线连接UART0接口
> 2. 编译工程,烧录镜像,复位启动
> 3. 系统启动后,可以通过串口软件看到示例的打印信息
> 4. 如果通过使能宏定义选择DMA UART0收发数据模式uart0 在平台初始化时已配置无需再配置在dma发送数据后需要使用者手动通过串口软件发送相应的数据cpu通过dma拿到使用者手动发送的数据后会与原来的数据做比对并打印比对结果
> XRadio SDK的编译、烧写等操作方式的说明可在以下地址获取
> https://github.com/XradioTech/xradiotech-wiki
### 控制命令
> * N/A
### 代码结构
```
.
├── gcc
│ ├── defconfig # 本工程的配置规则,用于覆盖默认配置
│ └── Makefile # 本工程的编译规则可指定src、lib、ld、image.cfg、board_config等文件
├── image
│ └── xr806
│ └── image.cfg # 本工程的镜像分区配置
├── main.c # 本工程的入口进行uart三种收发模式的选择和执行
├── prj_config.h # 本工程的配置规则
└── readme.md # 本工程的说明文档
#本程用到XRadio SDK的其他配置文件
.
└── project
   └── common
      └── board
         └── xr806_dig_ver #在project/Kconfig默认指定使用xr806_dig_ver的板级配置
            ├── board_config.h #本工程的板级配置
            └── board_config.c #本工程的板级pin mux的配置。
```
### 代码流程
> 1. main()入口调用Dma_Show()函数
> 2. Dma_Show()函数流程:
> A初始化dma write、read通道
> B调用Dma_Write_Read()函数, 执行dma写、读操作
> Cdma通道 Deinit操作
> 3. Dma_Write_Read()函数流程:
> A如果选择DMA SRAM复制数据模式启动DMA写数据等待完成启动DMA读数据等待完成比对数据打印比对结果
> B如果选择DMA UART0收发数据模式启动DMA发数据等待完成启动DMA读数据等待使用者通过串口Uart0发送对应长度数据比对数据打印比对结果
---
## 常见问题
> * N/A
## 参考文档
> * N/A