📄 kram_dual_access.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 + -