110 lines
3.4 KiB
Markdown
Executable File
110 lines
3.4 KiB
Markdown
Executable File
# 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写、读操作
|
||
> C)dma通道 Deinit操作
|
||
> 3. Dma_Write_Read()函数流程:
|
||
> A)如果选择DMA SRAM复制数据模式,启动DMA写数据,等待完成,启动DMA读数据,等待完成,比对数据,打印比对结果
|
||
> B)如果选择DMA UART0收发数据模式,启动DMA发数据,等待完成,启动DMA读数据,等待使用者通过串口Uart0发送对应长度数据,比对数据,打印比对结果
|
||
---
|
||
|
||
## 常见问题
|
||
|
||
> * N/A
|
||
|
||
## 参考文档
|
||
|
||
> * N/A
|