📄 link port loopback.txt
字号:
************************************************************************
link port loopback.zip Example TS201 Link Port DMA Program
Analog Devices, Inc.
DSP Division
Three Technology Way
P.O. Box 9106
Norwood, MA 02062
07-22-2003 PPG
MARCH 2004 PPG updated
updated files cache_macros.h, LDF
added project options for silicon revision issues
built and tested under VisualDSP++ 3.5
revised source to use interrupts
________________________________________________________________________
Description:
This is a test of link to link DMAs on the TS201S EZ-Kit. LP3 is
connected in a loopback of TX to RX (L3DAT(I/O)0_P/N) using single-bit
data Loopback via external cable - Connect CAT5e cable to J4 (DSPA LP3
TX) and J5 (DSPA LP3 RX)
A single DXE will be built which can be loaded onto either DSPA or DSPB
assuming required external link cable is connected for that DSP
________________________________________________________________________
Source Files contained in this directory:
Link Port Loopback.dpj VisualDSP++ 3.5 project file
Link Port Loopback.asm ADSP-TS101 source for multiprocessor DMA
ADSP-TS201_ASM.ldf ADSP-TS201 Linker description file for
(single processor)
cache_ macros.h Header file with required macros for
embedded DRAM cache and BTB
tx_data.dat data file
Link Port Loopback.txt This file.
________________________________________________________________________
Code flow:
Link Port Loopback.asm loads a buffer of data into link_data_tx, transmits it
over the link port in loopback configuration with external cable using DMA into
buffer link_data_rx. A DMA interrupt for the receiver is used to indicate
completion of the DMA transfer. After the DMA transfer completes, the
transmitted data values are compared to the received data values and flag pins
are toggled to indicate the results. Flag2 and flag3 connected to LEDs are
toggled in unison to indicate failure when the received data values do not match
the transmitted values. The same LEDs are toggled alternately to indicate
success when the received data values match the transmitted values.
________________________________________________________________________
cache_macros.h
================
After powerup/reset, the TS201 cache and BTB are not enabled
At the beginning of the program the cache must be enabled. The procedure is
contained in the cache_enable macro that uses the refresh rate as input
parameter
-if CCLK=500MHz, refresh_rate=750
-if CCLK=400MHz, refresh_rate=600
-if CCLK=300MHz, refresh_rate=450
-if CCLK=250MHz, refresh_rate=375
cache_macros.h performs the following:
-cache_enable(refresh_rate):
-sets a new refresh rate
-if the cache is enabled, it leaves it enabled.
-if the cache is not enabled, it enables it in the correct way accounting for cache coherency
-at the end enables the BTB if it was not already enabled
-this macro should be used as the first line of code in every program
This header file also contains additional benchmarking macros which may be
useful. Please see the header file source code and comments for additional
information.
Project options:
================
Please refer to the VisualDSP++ release notes and the
TS201S anomaly listing for full details of the following switch usage,
operation and silicon revision requirements
Assembler/Compiler/Linker switches to be used in the assembler, linker,
and compiler property pages' Additional Options fields
'-si-revision 0.1' Required for TS201S Rev 0.1 silicon.
Use in compiler AND Assembler AND linker property
page 'Additional Options' field.
If any example code projects are built/rebuilt for the above mentioned
silicon revisions, these switches must be used. The same holds true for
user created code sets.
For C language projects, the current working directory must also be specified.
This is accomplished by placing a period (.) inside the "Additional Include
Directories" field under Project Options | Compile | Category: Preprocessor.
This project option will avoid the following warning:
"[Warning pp0084] Include file not found in path; opening in connected directory."
which is incurred when using a statement similar to this:
asm("#include <cache_macros.h>");
where file 'cache_macro' resides in the current working project directory
_______________________________________________________________________
Notes:
1) This example code was specifically created for and tested on the
TS201 EZ-Kit using an emulator for download, execution and observation of
the results.
****************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -