⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kram_dual_access.c

📁 Freescale MCF5445evb 参考测试代码
💻 C
字号:
// +FHDR------------------------------------------------------------------------// Copyright (c) 2005, Freescale.// Freescale Confidential Proprietary// -----------------------------------------------------------------------------// FILE NAME      : kram_dual_access// DEPARTMENT     : TECD IC Creation, MCU Division, TSPG, Freescale// AUTHOR         : Alan Carlin// AUTHOR'S EMAIL : alan.carlin@motorola.com// -----------------------------------------------------------------------------// REVIEW(S) : // -----------------------------------------------------------------------------// RELEASE HISTORY// VERSION  DATE        AUTHOR          DESCRIPTION// 1.0      1 MAR 2005  Alan Carlin     added/completed header// -----------------------------------------------------------------------------// KEYWORDS: KRAM// -----------------------------------------------------------------------------// PURPOSE:// -----------------------------------------------------------------------------// PARAMETERS:// PARAM NAME         : RANGE      : DESCRIPTION               : DEFAULT : UNITS// -----------------------------------------------------------------------------// REUSE ISSUES://   External Pins Required ://   Monitors Required      ://   Drivers Required       ://   Local Functions        ://   Include Files          ://   Other                  :// -----------------------------------------------------------------------------// FEATURES TESTED://  You can DMA from one half of the KRAM to the other while accessing the KRAM// -----------------------------------------------------------------------------// DETAILED TEST DESCRIPTION://  DMA data from KRAM to KRAM+32k, while polling KRAM+32k, check the data//  DMA data from KRAM+32k to KRAM, while polling KRAM, check the data// -FHDR------------------------------------------------------------------------#include "util.h"#include "burst.h"#include "dma.h"#include "common.h"#include "mem_map.h"#include "jamaica_tests.h"int kram_dual_access(void){ char *stimname = "kram_dual_access";  //printf("kram_dual_access setup source data\n");//INFO(stimname, "setup source data");  BURST_WR32(KRAM_BASE+0x00, 0x00112233, 0x44556677, 0x8899aabb, 0xccddeeff);  BURST_WR32(KRAM_BASE+0x10, 0x10213243, 0x54657687, 0x98a9bacb, 0xdcedfe0f);  BURST_WR32(KRAM_BASE+0x20, 0x02132334, 0x45566778, 0x899aabbc, 0xcddeeff0);  BURST_WR32(KRAM_BASE+0x30, 0x0e1d2c3b, 0x4a59687f, 0x8695a4b3, 0xc2d1e0f7);  WR32(KRAM_BASE+0x6000+0x3c, 0x00000000);  software_dma_transfer(DMA_CH_SW, KRAM_BASE, KRAM_BASE+0x6000, 64, 8, 8);  WAIT_RE32(KRAM_BASE+0x6000+0x3c, 0xc2d1e0f7, 256);  dma_transfer_wait(DMA_CH_SW, 1);  //printf("kram_dual_acess check destination data\n");//INFO(stimname, "check destination data");  BURST_RE32(KRAM_BASE+0x6000+0x00, 0x00112233, 0x44556677, 0x8899aabb, 0xccddeeff);  BURST_RE32(KRAM_BASE+0x6000+0x10, 0x10213243, 0x54657687, 0x98a9bacb, 0xdcedfe0f);  BURST_RE32(KRAM_BASE+0x6000+0x20, 0x02132334, 0x45566778, 0x899aabbc, 0xcddeeff0);  BURST_RE32(KRAM_BASE+0x6000+0x30, 0x0e1d2c3b, 0x4a59687f, 0x8695a4b3, 0xc2d1e0f7);  //printf("kram_dual_acess setup source data\n");//INFO(stimname, "setup source data");  BURST_WR32(KRAM_BASE+0x6000+0x00, 0x01020304, 0x05060708, 0x090a0b0c, 0x0d0e0f00);  BURST_WR32(KRAM_BASE+0x6000+0x10, 0x41424344, 0x45464748, 0x494a4b4c, 0x4d4e4f40);  BURST_WR32(KRAM_BASE+0x6000+0x20, 0x81828384, 0x85868788, 0x898a8b8c, 0x8d8e8f80);  BURST_WR32(KRAM_BASE+0x6000+0x30, 0xc1c2c3c4, 0xc5c6c7c8, 0xc9cacbcc, 0xcdcecfc0);  software_dma_transfer(DMA_CH_SW, KRAM_BASE+0x6000, KRAM_BASE, 64, 8, 8);  WAIT_RE32(KRAM_BASE+0x3c, 0xcdcecfc0, 256);  dma_transfer_wait(DMA_CH_SW, 1);  //printf("kram_dual_acess check destination data\n");//INFO(stimname, "check destination data");  BURST_RE32(KRAM_BASE+0x00, 0x01020304, 0x05060708, 0x090a0b0c, 0x0d0e0f00);  BURST_RE32(KRAM_BASE+0x10, 0x41424344, 0x45464748, 0x494a4b4c, 0x4d4e4f40);  BURST_RE32(KRAM_BASE+0x20, 0x81828384, 0x85868788, 0x898a8b8c, 0x8d8e8f80);  BURST_RE32(KRAM_BASE+0x30, 0xc1c2c3c4, 0xc5c6c7c8, 0xc9cacbcc, 0xcdcecfc0);  //printf("kram_dual_acess test complete\n");//INFO(stimname, "test complete");  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -