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

📄 kram_sized_access.c

📁 Freescale MCF5445evb 参考测试代码
💻 C
字号:
// +FHDR------------------------------------------------------------------------// Copyright (c) 2005, Freescale.// Freescale Confidential Proprietary// -----------------------------------------------------------------------------// FILE NAME      : kram_sized_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 Frontdoor// -----------------------------------------------------------------------------// PURPOSE: write/read kram to make sure it is there and working// -----------------------------------------------------------------------------// PARAMETERS:// PARAM NAME         : RANGE      : DESCRIPTION               : DEFAULT : UNITS// -----------------------------------------------------------------------------// REUSE ISSUES://   External Pins Required ://   Monitors Required      ://   Drivers Required       ://   Local Functions        ://   Include Files          ://   Other                  :// -----------------------------------------------------------------------------// FEATURES TESTED://  KRAM works, and byte strobes / byte lanes are correct with Frontdoor enabled// -----------------------------------------------------------------------------// DETAILED TEST DESCRIPTION://  Perform a bunch of 8/16/32/128-bit accesses to the first, middle, and last//  words of KRAM// -FHDR------------------------------------------------------------------------//using tWord - uint32#include "util.h"#include "mem_map.h"#include "burst.h"#include "dma.h"#include "jamaica_tests.h"void sized_access(uint32 addr){ WR32(addr+0, 0x89abcdef);  RE16(addr+0, 0x89ab);  RE16(addr+2, 0xcdef);  RE8 (addr+0, 0x89);  RE8 (addr+1, 0xab);  RE8 (addr+2, 0xcd);  RE8 (addr+3, 0xef);  WR16(addr+0, 0x0123);  WR16(addr+2, 0x4567);  RE32(addr+0, 0x01234567);  RE8 (addr+0, 0x01);  RE8 (addr+1, 0x23);  RE8 (addr+2, 0x45);  RE8 (addr+3, 0x67);  WR8 (addr+0, 0xf0);  WR8 (addr+1, 0xe1);  WR8 (addr+2, 0xd2);  WR8 (addr+3, 0xc3);  RE16(addr+0, 0xf0e1);  RE16(addr+2, 0xd2c3);  RE32(addr+0, 0xf0e1d2c3);  WR32(addr+0, 0x89abcdef);  RE16(addr+0, 0x89ab);  RE16(addr+2, 0xcdef);  RE8 (addr+0, 0x89);  RE8 (addr+1, 0xab);  RE8 (addr+2, 0xcd);  RE8 (addr+3, 0xef);  WR16(addr+2, 0x4567);  WR16(addr+0, 0x0123);  RE32(addr+0, 0x01234567);  RE8 (addr+0, 0x01);  RE8 (addr+1, 0x23);  RE8 (addr+2, 0x45);  RE8 (addr+3, 0x67);  WR8 (addr+3, 0xc3);  WR8 (addr+2, 0xd2);  WR8 (addr+1, 0xe1);  WR8 (addr+0, 0xf0);  RE16(addr+0, 0xf0e1);  RE16(addr+2, 0xd2c3);  RE32(addr+0, 0xf0e1d2c3);  BURST_WR32(addr, 0x00112233, 0x44556677, 0x8899aabb, 0xccddeeff);  RE32(addr+0x0, 0x00112233);  RE32(addr+0x4, 0x44556677);  RE32(addr+0x8, 0x8899aabb);  RE32(addr+0xc, 0xccddeeff);  RE16(addr+0x0, 0x0011);  RE16(addr+0x2, 0x2233);  RE16(addr+0x4, 0x4455);  RE16(addr+0x6, 0x6677);  RE16(addr+0x8, 0x8899);  RE16(addr+0xa, 0xaabb);  RE16(addr+0xc, 0xccdd);  RE16(addr+0xe, 0xeeff);  RE8 (addr+0x0, 0x00);  RE8 (addr+0x1, 0x11);  RE8 (addr+0x2, 0x22);  RE8 (addr+0x3, 0x33);  RE8 (addr+0x4, 0x44);  RE8 (addr+0x5, 0x55);  RE8 (addr+0x6, 0x66);  RE8 (addr+0x7, 0x77);  RE8 (addr+0x8, 0x88);  RE8 (addr+0x9, 0x99);  RE8 (addr+0xa, 0xaa);  RE8 (addr+0xb, 0xbb);  RE8 (addr+0xc, 0xcc);  RE8 (addr+0xd, 0xdd);  RE8 (addr+0xe, 0xee);  RE8 (addr+0xf, 0xff);}int kram_sized_access(void){ char *stimname = "kram_sized_access";  printf("kram_sized_accesss Sized Access KRAM base\n");//INFO(stimname, "Sized Access KRAM base");  sized_access(KRAM_BASE);  printf("kram_sized_accesss Sized Access KRAM +16k-16\n");//INFO(stimname, "Sized Access KRAM +16k-16");  sized_access(KRAM_BASE + (KRAM_SIZE >> 1) - 16);  printf("kram_sized_accesss Sized Access KRAM base+16k\n");//INFO(stimname, "Sized Access KRAM +16k");  sized_access(KRAM_BASE + (KRAM_SIZE >> 1));  printf("kram_sized_accesss Sized Access KRAM base+32k-16\n");//INFO(stimname, "Sized Access KRAM +32k-16");  sized_access(KRAM_BASE + KRAM_SIZE - 16);  printf("kram_sized_accesss test complete\n");//INFO(stimname, "test complete");  return 0;}

⌨️ 快捷键说明

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