資源描述:
《csl學(xué)習(xí)筆記--第二章 怎么應(yīng)用csl》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第二章怎么應(yīng)用CSL2.1概述外設(shè)可以通過CSL聲明/初始化目標(biāo)來進(jìn)行配置,同時(shí)在你的C源代碼中調(diào)用CSL函數(shù)。2.2應(yīng)用CSL此部分提供了一個(gè)實(shí)例來應(yīng)用CSL的APIs,利用CSL可以有兩種方式對(duì)外設(shè)編程:1.基于寄存器配置(PER_config):通過設(shè)置存儲(chǔ)器映像寄存器中的全部變量來配置外設(shè),相對(duì)于功能參數(shù)配置,基于寄存器配置需要很少的周期和代碼長度,但不會(huì)抽象。2.功能參數(shù)配置(PER_setup):通過參數(shù)的設(shè)置配置外設(shè)。相比于基于寄存器的配置,功能參數(shù)配置需要更多的周期和代碼的長度,但是更加抽象。下面這個(gè)例子是基于寄存器配置說明了用
2、CSL初始化DMA通道0并把0x3000地址上的數(shù)據(jù)復(fù)制到0x2000。源地址:2000h目的地址:3000h傳送長度:16個(gè)16位單字節(jié)2.2.1應(yīng)用DMA_config()函數(shù)以下的實(shí)例和步驟是應(yīng)用DMA_config()函數(shù)來初始化寄存器,本例用于C5509器件。1.加載csl.h和含有dma外設(shè)的.不同的頭文件在表1.1列出。#include#include//Example-specificinitialization#defineN16//blocksizetotransfe
3、r#pragmaDATA_SECTION(src,”table1”)/*scrdatatableaddress*/Uint16src[N]={0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu,0xBEEFu};#pragmaDATA_SECTION(dst,”table2”)/*dstdatatableaddress*/Uint16dst[N];2.定義和初
4、始化DMA通道配置結(jié)構(gòu)體。DMA_Configmyconfig={/*DMAconfigurationstructure*/DMA_DMACSDP_RMK(DMA_DMACSDP_DSTBEN_NOBURST,/*Destinationburst:?DMA_DMACSDP_DSTBEN_NOBURSTDMA_DMACSDP_DSTBEN_BURST4*/DMA_DMACSDP_DSTPACK_OFF,/*Destinationpacking:?DMA_DMACSDP_DSTPACK_ONDMA_DMACSDP_DSTPACK_OFF*/DMA_
5、DMACSDP_DST_SARAM,/*Destinationselection:?DMA_DMACSDP_DST_SARAMDMA_DMACSDP_DST_DARAMDMA_DMACSDP_DST_EMIFDMA_DMACSDP_DST_PERIPH*/DMA_DMACSDP_SRCBEN_NOBURST,/*Sourceburst:?DMA_DMACSDP_SRCBEN_NOBURSTDMA_DMACSDP_SRCBEN_BURST4*/DMA_DMACSDP_SRCPACK_OFF,/*Sourcepacking:?DMA_DMACSDP
6、_SRCPACK_ONDMA_DMACSDP_SRCPACK_OFF*/DMA_DMACSDP_SRC_SARAM,/*Sourceselection:?DMA_DMACSDP_SRC_SARAMDMA_DMACSDP_SRC_DARAMDMA_DMACSDP_SRC_EMIFDMA_DMACSDP_SRC_PERIPH*/DMA_DMACSDP_DATATYPE_16BIT/*Datatype:?DMA_DMACSDP_DATATYPE_8BITDMA_DMACSDP_DATATYPE_16BITDMA_DMACSDP_DATATYPE_32
7、BIT*/)/*DMACSDP*/DMA_DMACCR_RMK(DMA_DMACCR_DSTAMODE_POSTINC,/*Destinationaddressmode:?DMA_DMACCR_DSTAMODE_CONSTDMA_DMACCR_DSTAMODE_POSTINCDMA_DMACCR_DSTAMODE_SGLINDXDMA_DMACCR_DSTAMODE_DBLINDX*/DMA_DMACCR_SRCAMODE_POSTINC,/*Sourceaddressmode:?DMA_DMACCR_SRCAMODE_CONSTDMA_DMA
8、CCR_SRCAMODE_POSTINCDMA_DMACCR_SRCAMODE_SGLINDXDMA_DMACCR_SRCAMODE_DBLINDX*