1 / 10
文档名称:

CSL学习笔记--第二章 怎么应用CSL.doc

格式:doc   大小:208KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

CSL学习笔记--第二章 怎么应用CSL.doc

上传人:JZZQ12 2018/3/10 文件大小:208 KB

下载得到文件列表

CSL学习笔记--第二章 怎么应用CSL.doc

相关文档

文档介绍

文档介绍:第二章怎么应用CSL
概述
外设可以通过CSL声明/初始化目标来进行配置,同时在你的C源代码中调用CSL函数。
应用 CSL
此部分提供了一个实例来应用CSL的APIs,利用CSL可以有两种方式对外设编程:
(PER_config):通过设置存储器映像寄存器中的全部变量来配置外设,相对于功能参数配置,基于寄存器配置需要很少的周期和代码长度,但不会抽象。
(PER_setup):通过参数的设置配置外设。相比于基于寄存器的配置,功能参数配置需要更多的周期和代码的长度,但是更加抽象。
下面这个例子是基于寄存器配置说明了用CSL初始化DMA通道0并把0x3000地址上的数据复制到0x2000。
源地址:2000h
目的地址:3000h
传送长度: 16个16位单字节
应用DMA_config() 函数
以下的实例和步骤是应用DMA_config()函数来初始化寄存器,本例用于C5509器件。
和含有dma外设的<>.。
#include <>
#include <>
// Example-specific initialization
#define N 16 // block size to transfer
#pragma DATA_SECTION(src,”table1”)
/* scr data table address */Uint16 src[N] = {
0xBEEFu, 0xBEEFu, 0xBEEFu, 0xBEEFu,
0xBEEFu, 0xBEEFu, 0xBEEFu, 0xBEEFu,
0xBEEFu, 0xBEEFu, 0xBEEFu, 0xBEEFu,
0xBEEFu, 0xBEEFu, 0xBEEFu, 0xBEEFu
};
#pragma DATA_SECTION(dst, ”table2”)
/* dst data table address */
Uint16 dst[N];
定义和初始化DMA通道配置结构体。
DMA_Config myconfig = { /* DMA configuration structure*/
DMA_DMACSDP_RMK(
DMA_DMACSDP_DSTBEN_NOBURST , /* Destination burst :−
DMA_DMACSDP_DSTBEN_NOBURST
DMA_DMACSDP_DSTBEN_BURST4
*/

DMA_DMACSDP_DSTPACK_OFF, /* Destination packing :−
DMA_DMACSDP_DSTPACK_ON
DMA_DMACSDP_DSTPACK_OFF */

DMA_DMACSDP_DST_SARAM , /* Destination selection :−
DMA_DMACSDP_DST_SARAM
DMA_DMACSDP_DST_DARAM
DMA_DMACSDP_DST_EMIF
DMA_DMACSDP