embeddedsw/ThirdParty/sw_services/xilopenamp/data/xilopenamp.tcl
Kinjal Pravinbhai Patel 7859933f8a sw_apps & lib: sw_apps and library tcl files have been changed
This patch updates the openamp & freertos sw_apps and
lwip & xilopenamp library to support latest freertos kernel

Signed-off-by: Kinjal Pravinbhai Patel <patelki@xilinx.com>
Acked-by: Anirudha Sarangi <anirudh@xilinx.com>
2015-11-04 18:35:38 +05:30

113 lines
3.9 KiB
Tcl
Executable file

###############################################################################
#
# Copyright (C) 2015 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.
#
###############################################################################
#
# Modification History
#
# Ver Who Date Changes
# ----- ---- -------- -----------------------------------------------
# 1.00 pkp 12/03/15 Initial Release
##############################################################################
#---------------------------------------------
# openamp_drc
#---------------------------------------------
proc openamp_drc {libhandle} {
# check processor type
set proc_instance [hsi::get_sw_processor];
set hw_processor [common::get_property HW_INSTANCE $proc_instance]
set proc_type [common::get_property IP_NAME [hsi::get_cells -hier $hw_processor]];
if { ( $proc_type != "psu_cortexr5" ) && ( $proc_type != "ps7_cortexa9" ) } {
error "ERROR: This library is supported only for CortexR5 and CortexA9 processors.";
return;
}
}
proc generate {libhandle} {
}
#-------
# post_generate: called after generate called on all libraries
#-------
proc post_generate {libhandle} {
xgen_opts_file $libhandle
}
#-------
# execs_generate: called after BSP's, libraries and drivers have been compiled
# This procedure builds the libxilopenamp.a library
#-------
proc execs_generate {libhandle} {
}
proc xgen_opts_file {libhandle} {
set oslist [hsi::get_os];
if { [llength $oslist] != 1 } {
return 0;
}
set os [lindex $oslist 0];
set amposfn [file join "src" "amp_os.h"]
file delete $amposfn
set ampos [open $amposfn w]
::hsi::utils::write_c_header $ampos "Definition of OS for which the BSP is built"
puts $ampos "/******************************************************************/"
puts $ampos ""
puts $ampos "/* Operating System definition */"
if { $os == "freertos823_xilinx" } {
puts $ampos "#define USE_FREERTOS TRUE"
} else {
puts $ampos "#define USE_BAREMETAL TRUE"
}
puts $ampos ""
puts $ampos "/******************************************************************/"
close $ampos
# Copy the include files to the include directory
set srcdir src
set dstdir [file join .. .. include]
# Create dstdir if it does not exist
if { ! [file exists $dstdir] } {
file mkdir $dstdir
}
# Get list of files in the srcdir
set sources [glob -join $srcdir *.h]
# Copy each of the files in the list to dstdir
foreach source $sources {
file copy -force $source $dstdir
}
}