📄 readme.txt
字号:
//---------------------------------------------------------------------------
//
// I N T E L P R O P R I E T A R Y
//
// COPYRIGHT [c] 2001 BY INTEL CORPORATION. ALL RIGHTS
// RESERVED. NO PART OF THIS PROGRAM OR PUBLICATION MAY
// BE REPRODUCED, TRANSMITTED, TRANSCRIBED, STORED IN A
// RETRIEVAL SYSTEM, OR TRANSLATED INTO ANY LANGUAGE OR COMPUTER
// LANGUAGE IN ANY FORM OR BY ANY MEANS, ELECTRONIC, MECHANICAL,
// MAGNETIC, OPTICAL, CHEMICAL, MANUAL, OR OTHERWISE, WITHOUT
// THE PRIOR WRITTEN PERMISSION OF :
//
// INTEL CORPORATION
//
// 2200 MISSION COLLEGE BLVD
//
// SANTA CLARA, CALIFORNIA 95052-8119
//
//---------------------------------------------------------------------------
Readme file for Local Memory Example Code
Introduction
============
This is a MEv2 microcode example which demonstrates the usage of local memory
macros in IXPblocks Portable library.
What the example does
=====================
This example code first write to local memory through IXPblocks macros
localmem_write1, localmem_write2, ........, localmem_write8, the data in
each entry will increase by one, then read back through IXPblocks macros
localmem_read8, localmem_read7, ............, localmem_read1, and compare,
if each entry read back is correct, increase pass by one, otherwise
increase fail by one. The final pass should be 36 and fail should be zero.
This example code just runs in thread 0 by ctx_arb[kill] other threads. The
project in this example set this example code runs only in ME0.
Files in this project
=====================
readme.txt : this file
lm_example.uc : main micro code program for local memory example
code
assign_compare_macros.uc : macros to assign and compare data
lm_example_ixp2400.dwp : Workbench project file for ixp2400 platform
lm_example_ixp2400.dwo : Workbench debug options file for IXP2400 platform
lm_example_ixp2800.dwp : Workbench project file for ixp2800 platform
lm_example_ixp2800.dwo : Workbench debug options file for ixp2800 platform
Other files needed for this project
===================================
constants.uc : in IXPblocks portable library (located in
..\..\include)
stdmac.uc : in IXPblocks portable library (located in
.\..\include)
localmem.uc : in IXPblocks portable library (located in
..\..\include)
support_routines.ind : Workbench command line support routines for
ixp2400 platform (located in ..)
support_routines_ixp2800.ind : Workbench command line support routines for
ixp2800 platform (located in ..)
How to run the code and verify the result
=========================================
In Workbench, use "Open Project" to open lm_example_ixp2400.dwp for ixp2400 platform
simulatonn, or lm_example_ixp2800.dwp for ixp2800 platform simulation. You
can step through or set breakpoint to check the data read back, pass count,
fail count, and local memory contents through "Data Watch" of Workbench.
Limitation
==========
Since the macros to access local memory in IXPblocks Portable library (in
localmem.uc) doesn't restore local memory index it uses to access local memory
for the sake of code efficiency, the local memory index it uses is
active_lm_addr_0 by default, but caller can change this to active_lm_addr_1
by using "localmem_set_active_handle[LM_HANDLE_1]", caller needs to be aware
of which local memory index the macros use, if the caller want to use local
memory index by itself.
Known bugs
==========
None
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -