******************************************************************************* ** Copyright © 2008, Xilinx, Inc. ** This design is confidential and proprietary of Xilinx, Inc. All Rights Reserved. ******************************************************************************* ** ____ ____ ** / /\/ / ** /___/ \ / Vendor: Xilinx ** \ \ \/ Version: 1.0 ** \ \ Filename: xflash_readme.txt ** / / ** /___/ /\ ** \ \ / \ ** \___\/\___\ ** **Device: **Purpose: **Reference: ** ******************************************************************************* ** ** Disclaimer: LIMITED WARRANTY AND DISCLAIMER. These designs are ** provided to you "as is." Xilinx and its licensors make and you ** receive no warranties or conditions, express, implied, ** statutory or otherwise, and Xilinx specifically disclaims any ** implied warranties of merchantability, noninfringement, or ** fitness for a particular purpose. Xilinx does not warrant that ** the functions contained in these designs will meet your ** requirements, or that the operation of these designs will be ** uninterrupted or error free, or that defects in the Designs ** will be corrected. Furthermore, Xilinx does not warrant or ** make any representations regarding use or the results of the ** use of the designs in terms of correctness, accuracy, ** reliability, or otherwise. ** ** LIMITATION OF LIABILITY. In no event will Xilinx or its ** licensors be liable for any loss of data, lost profits, cost ** or procurement of substitute goods or services, or for any ** special, incidental, consequential, or indirect damages ** arising from the use or operation of the designs or ** accompanying documentation, however caused and on any theory ** of liability. This limitation will apply even if Xilinx ** has been advised of the possibility of such damage. This ** limitation shall apply notwithstanding the failure of the ** essential purpose of any limited remedies herein. ** ******************************************************************************* Application: xflash -------------------- A series of memory tests will be performed on the linear flash device. The application saves the contents of the linear flash prior to running the tests and then restores the original contents of the linear flash. CONFIG Switch Settings: 00010101 1. Connect the Host PC to the ML507 (J1 header) using a PC-IV or Platform USB JTAG cable 2. Connect the Host PC serial port to the ML507 serial port using a null modem cable and launch a terminal program on the Host (eg. TeraTerm) with the settings: 9600 baud, 8-N-1, No flow control 3. Open the ML507 EDK project (ml507_bsb_system.xmp) 4. Launch a Shell window using XPS menu selection: Project > Launch EDK Shell 5. Download bitstream in shell window by typing: impact -batch etc/download.cmd 6. XPS menu selection: Debug -> Launch XMD 7. At XMD% prompt type: cd ppc440_0/code 8. At XMD% prompt type: rst 9. At XMD% prompt type: dow xflash.elf 10. At XMD% prompt type: con Serial Port Output: ------------------- ******************************************************* Linear Flash Test ******************************************************* This test will ERASE and MODIFY contents of the Linear Flash Do you want to continue (Y/N)? ******* Flash Device Query - START Flash Properties FlashProperties->PartID.ManufacturerID = 0x89 FlashProperties->PartID.DeviceID = 0x19 FlashProperties->PartID.CommandSet = 0x1 FlashProperties->TimeTypical.WriteSingle_Us = 0x100 FlashProperties->TimeTypical.WriteBuffer_Us = 0x200 FlashProperties->TimeTypical.EraseBlock_Ms = 0x400 FlashProperties->TimeTypical.EraseChip_Ms = 0x0 FlashProperties->TimeMax.WriteSingle_Us = 0x200 FlashProperties->TimeMax.WriteBuffer_Us = 0x400 FlashProperties->TimeMax.EraseBlock_Ms = 0x1000 FlashProperties->TimeMax.EraseChip_Ms = 0x0 FlashProperties->ProgCap.WriteBufferSize = 0x40 FlashProperties->ProgCap.WriteBufferAlignMask = 0x3F FlashProperties->ProgCap.EraseQueueSize = 0x1 Flash Geometry FlashGeometry->BaseAddress = 0x88000000 FlashGeometry->MemoryLayout = 0x2020201 FlashGeometry->DeviceSize = 0x2000000 FlashGeometry->NumEraseRegions = 0x2 FlashGeometry->NumBlocks = 0x103 Erase region 0 Absolute Offset = 0x0 Absolute Block = 0x0 Num Of Block = 0xFF Size Of Block = 0x20000 Erase region 1 Absolute Offset = 0x1FE0000 Absolute Block = 0xFF Num Of Block = 0x4 Size Of Block = 0x8000 ******* Flash Device Query - DONE ******* Flash Write-Read-Compare - START WriteBuffer[00] = 0x0102 WriteBuffer[01] = 0x0304 WriteBuffer[02] = 0x0506 WriteBuffer[03] = 0x0708 WriteBuffer[04] = 0x090A WriteBuffer[05] = 0x0B0C WriteBuffer[06] = 0x0D0E WriteBuffer[07] = 0x0F10 WriteBuffer[08] = 0x1112 WriteBuffer[09] = 0x1314 WriteBuffer[10] = 0x1516 WriteBuffer[11] = 0x1718 WriteBuffer[12] = 0x191A WriteBuffer[13] = 0x1B1C WriteBuffer[14] = 0x1D1E WriteBuffer[15] = 0x1F20 --------------------------------------------- ReadBuffer[00] = 0x0102 ReadBuffer[01] = 0x0304 ReadBuffer[02] = 0x0506 ReadBuffer[03] = 0x0708 ReadBuffer[04] = 0x090A ReadBuffer[05] = 0x0B0C ReadBuffer[06] = 0x0D0E ReadBuffer[07] = 0x0F10 ReadBuffer[08] = 0x1112 ReadBuffer[09] = 0x1314 ReadBuffer[10] = 0x1516 ReadBuffer[11] = 0x1718 ReadBuffer[12] = 0x191A ReadBuffer[13] = 0x1B1C ReadBuffer[14] = 0x1D1E ReadBuffer[15] = 0x1F20 ******* Compare SUCCESSFULL ******* Flash Write-Read-Compare - DONE *******************************************************