音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

使用DMA提高memcpy效率(For STR912)

作者:seawwh 欄目:MCU技術(shù)
使用DMA提高memcpy效率(For STR912)
使用DMA提高memcpy效率(For STR912)

在STR912中可以利用DMA功能來完成數(shù)據(jù)的拷貝memcpy,根據(jù)測試大約完成一次數(shù)據(jù)傳送需要45ns,
當(dāng)使用8位數(shù)據(jù)寬度來傳送數(shù)據(jù)時,每秒約22M Bytes,當(dāng)使用16位數(shù)據(jù)寬度來傳送數(shù)據(jù)時,每秒約44M Bytes,
當(dāng)使用32位數(shù)據(jù)寬度來傳送數(shù)據(jù)時,每秒約88M Bytes,可以大大提高數(shù)據(jù)的傳送效率.


  注意:本函數(shù)需要使用一個DMA通道, 每次傳送的數(shù)據(jù)塊的不大于 4k Bytes,本程序時按字節(jié)傳送的,
同樣道理可以寫出按16/32位傳送的函數(shù); 使用前應(yīng)該對DMA初始化.
    
    
#define  DMA_Mem           DMA_Channel0

#define  DMA_Mem_ENABLE    DMA_Mem->CCNF |=  0x00000001  
#define  DMA_Mem_DISABLE   DMA_Mem->CCNF &= ~0x00000001  
#define  DMA_Mem_ACTIVE    (DMA_Mem->CCNF &  0x00020000)
#define  DMA_Mem_WaitEnd   while (DMA_Mem_ACTIVE)

    
void DMA_Init_MemCopy() {
DMA_InitTypeDef  DMA_InitStruct;
  
   DMA_Cmd(ENABLE);                          
   DMA_StructInit(&DMA_InitStruct);
   DMA_InitStruct.DMA_Channel_LLstItm=0;    
   DMA_InitStruct.DMA_Channel_SrcWidth  = DMA_SrcWidth_Byte;    // 8bits Transfer
   DMA_InitStruct.DMA_Channel_DesWidth  = DMA_DesWidth_Byte;
   DMA_InitStruct.DMA_Channel_DesBstSize= DMA_DesBst_1Data;
   DMA_InitStruct.DMA_Channel_SrcBstSize= DMA_SrcBst_1Data;
   DMA_InitStruct.DMA_Channel_FlowCntrl = DMA_FlowCntrl0_DMA;
     
   DMA_ChannelSRCIncConfig (DMA_Mem, ENABLE);
   DMA_ChannelDESIncConfig (DMA_Mem, ENABLE);
   DMA_Init(DMA_Mem,&DMA_InitStruct);
}


void  dma_memcpy(u8 *src, u8 *dst, u16 Count) {   //45ns per Byte = 22 Mhz

  DMA_Mem_DISABLE;
  DMA_Mem->SRC=(u32)src;
  DMA_Mem->DES=(u32)dst;
  DMA_Mem->CC|=(Count & 0x0FFF);
  DMA_Mem_ENABLE;
  DMA_Mem_WaitEnd;
}     
  

2樓: >>參與討論
greatbin
這個要頂
建議加精

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
如果CK上不接晶體,STR7能否工作?
請問STR73x芯片可以用IAR或ADS做開發(fā)嗎
IO操作不好使,幫看看哪里毛病
哪有STR710F Flash Programmer 下載?
STR91X:LQFP128封裝的管腳是否兼容?
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號