/****************************************************************************** * * Copyright (C) 2009 - 2014 Xilinx, Inc. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * Use of the Software is limited solely to applications: * (a) running on a Xilinx device, or * (b) that interact with a Xilinx device through a bus or interconnect. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * XILINX BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * * Except as contained in this notice, the name of the Xilinx shall not be used * in advertising or otherwise to promote the sale, use or other dealings in * this Software without prior written authorization from Xilinx. * ******************************************************************************/ /* * helloworld.c: simple test application * * This application configures UART 16550 to baud rate 9600. * PS7 UART (Zynq) is not initialized by this application, since * bootrom/bsp configures it to baud rate 115200 * * ------------------------------------------------ * | UART TYPE BAUD RATE | * ------------------------------------------------ * uartns550 9600 * uartlite Configurable only in HW design * ps7_uart 115200 (configured by bootrom/bsp) */ #include #include #include "platform.h" #include "xil_printf.h" #include "xparameters.h" #include "xbram.h" #define BRAM_SIZE 0x2000 int main() { XBram_Config mem; unsigned int uiLoop; unsigned int * uiDataArray = (unsigned int *)mem.MemBaseAddress; //unsigned int * uiDataArray = (unsigned int *)XPAR_AXI_BRAM_CTRL_0_S_AXI_BASEADDR; unsigned int uiData; init_platform(); xil_printf("\n\r BRAM Application Starts \n\r"); xil_printf("\n\r BRAM Data Initialization \n\r"); // BRAM Initialization with specified Pattern. for(uiLoop =0 ; uiLoop < (BRAM_SIZE/4) ; uiLoop++) { *(unsigned int *)(uiDataArray + uiLoop) = uiLoop; // xil_printf("%x %x\n\r", uiDataArray + uiLoop, uiDataArray ); //usleep(10000000); } xil_printf("\n\r BRAM Data Initialization Finished \n\r"); // BRAM Data Verification. for(uiLoop =0 ; uiLoop < (BRAM_SIZE/4) ; uiLoop++) { uiData = *(unsigned int *)(uiDataArray + uiLoop); //xil_printf("%x %x\n\r", uiDataArray + uiLoop, uiDataArray ); // xil_printf("%x %x\n\r", uiData, uiLoop ); // usleep(100000); if(uiData != uiLoop) { xil_printf("\n\r BRAM verification failed \n\r"); return -1; } } xil_printf("\n\r BRAM Verification Successful \n\r"); cleanup_platform(); return 0; }