embeddedsw/XilinxProcessorIPLib/drivers/mbox/data/mbox_tapp.tcl
git perforce import user a539aa2c1a Initial import of //Rodin/HEAD/data/embeddedsw/ from the state at revision #head
[git-p4: depot-paths = "//Rodin/HEAD/data/embeddedsw/": change = 884492]
2014-04-09 17:06:57 +05:30

135 lines
4.3 KiB
Tcl
Executable file

##############################################################################
#
# (c) Copyright 2007-2013 Xilinx, Inc. All rights reserved.
#
# This file contains confidential and proprietary information of Xilinx, Inc.
# and is protected under U.S. and international copyright and other
# intellectual property laws.
#
# DISCLAIMER
# This disclaimer is not a license and does not grant any rights to the
# materials distributed herewith. Except as otherwise provided in a valid
# license issued to you by Xilinx, and to the maximum extent permitted by
# applicable law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL
# FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS,
# IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
# MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE;
# and (2) Xilinx shall not be liable (whether in contract or tort, including
# negligence, or under any other theory of liability) for any loss or damage
# of any kind or nature related to, arising under or in connection with these
# materials, including for any direct, or any indirect, special, incidental,
# or consequential loss or damage (including loss of data, profits, goodwill,
# or any type of loss or damage suffered as a result of any action brought by
# a third party) even if such damage or loss was reasonably foreseeable or
# Xilinx had been advised of the possibility of the same.
#
# CRITICAL APPLICATIONS
# Xilinx products are not designed or intended to be fail-safe, or for use in
# any application requiring fail-safe performance, such as life-support or
# safety devices or systems, Class III medical devices, nuclear facilities,
# applications related to the deployment of airbags, or any other applications
# that could lead to death, personal injury, or severe property or
# environmental damage (individually and collectively, "Critical
# Applications"). Customer assumes the sole risk and liability of any use of
# Xilinx products in Critical Applications, subject only to applicable laws
# and regulations governing limitations on product liability.
#
# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE
# AT ALL TIMES.
#
##############################################################################
## @BEGIN_CHANGELOG EDK_K_SP2
##
## - Initial Revision
##
## @END_CHANGELOG
# Uses $XILINX_EDK/bin/lib/xillib_sw.tcl
# -----------------------------------------------------------------
# Software Project Types (swproj):
# 0 : MemoryTest - Calls basic memorytest routines from common driver dir
# 1 : PeripheralTest - Calls any existing polled_example and/or selftest
# -----------------------------------------------------------------
# -----------------------------------------------------------------
# TCL Procedures:
# -----------------------------------------------------------------
proc gen_include_files {swproj mhsinst} {
set inc_file_lines ""
if {$swproj == 0} {
return ""
}
if {$swproj == 1} {
set inc_file_lines {mbox_header.h}
return $inc_file_lines
}
return ""
}
proc gen_src_files {swproj mhsinst} {
if {$swproj == 0} {
return ""
}
if {$swproj == 1} {
set src_file_lines {examples/xmbox_tapp_example.c data/mbox_header.h}
return $src_file_lines
}
return ""
}
proc gen_testfunc_def {swproj mhsinst} {
return ""
}
proc gen_init_code {swproj mhsinst} {
return ""
}
proc gen_testfunc_call {swproj mhsinst} {
set ipname [string toupper [get_property NAME $mhsinst]]
set testfunc_call ""
if {$swproj == 0} {
return $testfunc_call
}
set numproc [xget_procs]
set numproc [llength $numproc]
if {$numproc == 1} {
append testfunc_call "
/*
* Peripheral SelfTest will not be run for ${ipname}
* because design contains only one Processor.
*/
"
return $testfunc_call
}
set deviceid "XPAR_${ipname}_TESTAPP_ID"
append testfunc_call "
{
XStatus status;
print(\"\\r\\nRunning MailboxExample() for ${ipname}...\\r\\n\");
status = MailboxExample(${deviceid});
if (status == 0) {
print(\"MailboxExample PASSED\\r\\n\");
}
else {
print(\"MailboxExample FAILED\\r\\n\");
}
}"
return $testfunc_call
}