cpu : Modified namespace from HSM to HSI.
Signed-off-by: Kishore Kumar Korathaluri <kkorath@xilinx.com>
This commit is contained in:
parent
0878de2c4b
commit
80e9308463
1 changed files with 31 additions and 31 deletions
|
@ -70,9 +70,9 @@ proc make_writable {osname filename} {
|
||||||
proc generate {drv_handle} {
|
proc generate {drv_handle} {
|
||||||
global env
|
global env
|
||||||
global tcl_platform
|
global tcl_platform
|
||||||
|
|
||||||
set osname "[::hsm::utils::get_hostos_platform]/"
|
set osname "[::hsi::utils::get_hostos_platform]/"
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Start of mb-gcc specific processing..
|
# Start of mb-gcc specific processing..
|
||||||
# 1. Copy libc, libm and libxil files..
|
# 1. Copy libc, libm and libxil files..
|
||||||
|
@ -196,15 +196,15 @@ proc generate {drv_handle} {
|
||||||
if { ![file exists $library_dir] } {
|
if { ![file exists $library_dir] } {
|
||||||
set library_dir [file join $compiler_root "microblaze-xilinx-elf/lib"]
|
set library_dir [file join $compiler_root "microblaze-xilinx-elf/lib"]
|
||||||
if { ![file exists $library_dir] } {
|
if { ![file exists $library_dir] } {
|
||||||
error "Couldn't figure out compiler's library directory" "" "hsm_error"
|
error "Couldn't figure out compiler's library directory" "" "hsi_error"
|
||||||
}
|
}
|
||||||
set libgcc_dir [file join $compiler_root "lib/gcc/microblaze-xilinx-elf"]
|
set libgcc_dir [file join $compiler_root "lib/gcc/microblaze-xilinx-elf"]
|
||||||
set libgcc_dir [glob -dir $libgcc_dir *]
|
set libgcc_dir [glob -dir $libgcc_dir *]
|
||||||
if { ![file exists $libgcc_dir] } {
|
if { ![file exists $libgcc_dir] } {
|
||||||
error "Couldn't figure out compiler's GCC library directory" "" "hsm_error"
|
error "Couldn't figure out compiler's GCC library directory" "" "hsi_error"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
file copy -force [file join $library_dir $libc] $libcfilename
|
file copy -force [file join $library_dir $libc] $libcfilename
|
||||||
make_writable $osname $libcfilename
|
make_writable $osname $libcfilename
|
||||||
|
@ -249,20 +249,20 @@ proc generate {drv_handle} {
|
||||||
file copy -force [file join $env(XILINX_SDK) "data/embeddedsw/lib/microblaze/src" $filename] $targetdir
|
file copy -force [file join $env(XILINX_SDK) "data/embeddedsw/lib/microblaze/src" $filename] $targetdir
|
||||||
file mtime [file join $targetdir $filename] [clock seconds]
|
file mtime [file join $targetdir $filename] [clock seconds]
|
||||||
set filename "make.xmdstub"
|
set filename "make.xmdstub"
|
||||||
file copy -force [file join $env(XILINX_SDK) "data/embeddedsw/lib/microblaze/src" $filename] $targetdir
|
file copy -force [file join $env(XILINX_SDK) "data/embeddedsw/lib/microblaze/src" $filename] $targetdir
|
||||||
file mtime [file join $targetdir $filename] [clock seconds]
|
file mtime [file join $targetdir $filename] [clock seconds]
|
||||||
set xmd_addr_file [open "../../code/xmdstubaddr.s" w]
|
set xmd_addr_file [open "../../code/xmdstubaddr.s" w]
|
||||||
set xmdstub_periph_baseaddr [::hsm::utils::format_addr_string [xget_value $xmdstub_periph_handle "PARAMETER" "C_BASEADDR"] "C_BASEADDR"]
|
set xmdstub_periph_baseaddr [::hsi::utils::format_addr_string [xget_value $xmdstub_periph_handle "PARAMETER" "C_BASEADDR"] "C_BASEADDR"]
|
||||||
puts $xmd_addr_file ".equ DEBUG_PERIPHERAL_BASEADDRESS, $xmdstub_periph_baseaddr"
|
puts $xmd_addr_file ".equ DEBUG_PERIPHERAL_BASEADDRESS, $xmdstub_periph_baseaddr"
|
||||||
close $xmd_addr_file
|
close $xmd_addr_file
|
||||||
# execute make
|
# execute make
|
||||||
set pwd [pwd]
|
set pwd [pwd]
|
||||||
if [catch {cd "../../code"} err] {
|
if [catch {cd "../../code"} err] {
|
||||||
error "Couldn't cd to code directory: $err" "" "hsm_error"
|
error "Couldn't cd to code directory: $err" "" "hsi_error"
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if [catch {exec make -f make.xmdstub xmdstub} err] {
|
if [catch {exec make -f make.xmdstub xmdstub} err] {
|
||||||
error "Couldn't make xmdstub: $err" "" "hsm_error"
|
error "Couldn't make xmdstub: $err" "" "hsi_error"
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
cd $pwd
|
cd $pwd
|
||||||
|
@ -271,13 +271,13 @@ proc generate {drv_handle} {
|
||||||
#--------------------------
|
#--------------------------
|
||||||
# Handle the Bus Frequency
|
# Handle the Bus Frequency
|
||||||
#--------------------------
|
#--------------------------
|
||||||
set file_handle [::hsm::utils::open_include_file "xparameters.h"]
|
set file_handle [::hsi::utils::open_include_file "xparameters.h"]
|
||||||
puts $file_handle "#ifndef XPARAMETERS_H /* prevent circular inclusions */"
|
puts $file_handle "#ifndef XPARAMETERS_H /* prevent circular inclusions */"
|
||||||
puts $file_handle "#define XPARAMETERS_H /* by using protection macros */"
|
puts $file_handle "#define XPARAMETERS_H /* by using protection macros */"
|
||||||
puts $file_handle ""
|
puts $file_handle ""
|
||||||
puts $file_handle "/* Definitions for bus frequencies */"
|
puts $file_handle "/* Definitions for bus frequencies */"
|
||||||
set bus_array {"M_AXI_DP" "M_AXI_IP"}
|
set bus_array {"M_AXI_DP" "M_AXI_IP"}
|
||||||
set bus_freq [::hsm::utils::get_clk_pin_freq $periph "Clk"]
|
set bus_freq [::hsi::utils::get_clk_pin_freq $periph "Clk"]
|
||||||
if {[llength $bus_freq] == 0} {
|
if {[llength $bus_freq] == 0} {
|
||||||
set bus_freq "100000000"
|
set bus_freq "100000000"
|
||||||
}
|
}
|
||||||
|
@ -287,7 +287,7 @@ proc generate {drv_handle} {
|
||||||
if { $bhandle == "" } {
|
if { $bhandle == "" } {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
puts $file_handle "#define [::hsm::utils::get_driver_param_name "cpu" [format "%s_FREQ_HZ" $bus_inst]] $bus_freq"
|
puts $file_handle "#define [::hsi::utils::get_driver_param_name "cpu" [format "%s_FREQ_HZ" $bus_inst]] $bus_freq"
|
||||||
}
|
}
|
||||||
|
|
||||||
puts $file_handle "/******************************************************************/"
|
puts $file_handle "/******************************************************************/"
|
||||||
|
@ -299,7 +299,7 @@ proc generate {drv_handle} {
|
||||||
if { $bhandle == "" } {
|
if { $bhandle == "" } {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
puts $file_handle "#define [::hsm::utils::get_driver_param_name "PROC_BUS" [format "%d_FREQ_HZ" $bus_id]] $bus_freq"
|
puts $file_handle "#define [::hsi::utils::get_driver_param_name "PROC_BUS" [format "%d_FREQ_HZ" $bus_id]] $bus_freq"
|
||||||
incr bus_id
|
incr bus_id
|
||||||
}
|
}
|
||||||
puts $file_handle "/******************************************************************/"
|
puts $file_handle "/******************************************************************/"
|
||||||
|
@ -308,32 +308,32 @@ proc generate {drv_handle} {
|
||||||
#--------------------------
|
#--------------------------
|
||||||
# define CORE_CLOCK_FREQ_HZ
|
# define CORE_CLOCK_FREQ_HZ
|
||||||
#--------------------------
|
#--------------------------
|
||||||
set clk_freq [::hsm::utils::get_clk_pin_freq $periph "Clk"]
|
set clk_freq [::hsi::utils::get_clk_pin_freq $periph "Clk"]
|
||||||
puts $file_handle "#define [::hsm::utils::get_driver_param_name "cpu" CORE_CLOCK_FREQ_HZ] $clk_freq"
|
puts $file_handle "#define [::hsi::utils::get_driver_param_name "cpu" CORE_CLOCK_FREQ_HZ] $clk_freq"
|
||||||
puts $file_handle "#define [format "XPAR_%s_CORE_CLOCK_FREQ_HZ" [string toupper $proctype]] $clk_freq"
|
puts $file_handle "#define [format "XPAR_%s_CORE_CLOCK_FREQ_HZ" [string toupper $proctype]] $clk_freq"
|
||||||
|
|
||||||
puts $file_handle "\n/******************************************************************/\n"
|
puts $file_handle "\n/******************************************************************/\n"
|
||||||
close $file_handle
|
close $file_handle
|
||||||
|
|
||||||
#--------------------------
|
#--------------------------
|
||||||
# define all params
|
# define all params
|
||||||
#--------------------------
|
#--------------------------
|
||||||
::hsm::utils::define_all_params $drv_handle "xparameters.h"
|
::hsi::utils::define_all_params $drv_handle "xparameters.h"
|
||||||
|
|
||||||
#----------------------------------------
|
#----------------------------------------
|
||||||
# define all params without instance name
|
# define all params without instance name
|
||||||
#----------------------------------------
|
#----------------------------------------
|
||||||
::hsm::utils::define_processor_params $drv_handle "xparameters.h"
|
::hsi::utils::define_processor_params $drv_handle "xparameters.h"
|
||||||
xdefine_addr_params_for_ext_intf $drv_handle "xparameters.h"
|
xdefine_addr_params_for_ext_intf $drv_handle "xparameters.h"
|
||||||
}
|
}
|
||||||
proc xdefine_addr_params_for_ext_intf {drvhandle file_name} {
|
proc xdefine_addr_params_for_ext_intf {drvhandle file_name} {
|
||||||
set sw_proc_handle [get_sw_processor]
|
set sw_proc_handle [get_sw_processor]
|
||||||
set hw_proc_handle [get_cells [get_property HW_INSTANCE $sw_proc_handle ]]
|
set hw_proc_handle [get_cells [get_property HW_INSTANCE $sw_proc_handle ]]
|
||||||
|
|
||||||
# Open include file
|
|
||||||
set file_handle [::hsm::utils::open_include_file $file_name]
|
|
||||||
|
|
||||||
set mem_ranges [get_mem_ranges -of_objects $hw_proc_handle]
|
# Open include file
|
||||||
|
set file_handle [::hsi::utils::open_include_file $file_name]
|
||||||
|
|
||||||
|
set mem_ranges [get_mem_ranges -of_objects $hw_proc_handle]
|
||||||
foreach mem_range $mem_ranges {
|
foreach mem_range $mem_ranges {
|
||||||
set inst [get_property INSTANCE $mem_range]
|
set inst [get_property INSTANCE $mem_range]
|
||||||
if {$inst != ""} {
|
if {$inst != ""} {
|
||||||
|
@ -351,9 +351,9 @@ proc xdefine_addr_params_for_ext_intf {drvhandle file_name} {
|
||||||
puts $file_handle ""
|
puts $file_handle ""
|
||||||
puts $file_handle "/* Definitions for interface [string toupper $name] */"
|
puts $file_handle "/* Definitions for interface [string toupper $name] */"
|
||||||
set name [format "XPAR_%s_" $name]
|
set name [format "XPAR_%s_" $name]
|
||||||
|
|
||||||
if {$bparam_value != ""} {
|
if {$bparam_value != ""} {
|
||||||
set value [::hsm::utils::format_addr_string $bparam_value $bparam_name]
|
set value [::hsi::utils::format_addr_string $bparam_value $bparam_name]
|
||||||
set param [string toupper $bparam_name]
|
set param [string toupper $bparam_name]
|
||||||
if {[string match C_* $param]} {
|
if {[string match C_* $param]} {
|
||||||
set name [format "%s%s" $name [string range $param 2 end]]
|
set name [format "%s%s" $name [string range $param 2 end]]
|
||||||
|
@ -367,7 +367,7 @@ proc xdefine_addr_params_for_ext_intf {drvhandle file_name} {
|
||||||
set name [string toupper [get_property NAME $mem_range]]
|
set name [string toupper [get_property NAME $mem_range]]
|
||||||
set name [format "XPAR_%s_" $name]
|
set name [format "XPAR_%s_" $name]
|
||||||
if {$hparam_value != ""} {
|
if {$hparam_value != ""} {
|
||||||
set value [::hsm::utils::format_addr_string $hparam_value $hparam_name]
|
set value [::hsi::utils::format_addr_string $hparam_value $hparam_name]
|
||||||
set param [string toupper $hparam_name]
|
set param [string toupper $hparam_name]
|
||||||
if {[string match C_* $param]} {
|
if {[string match C_* $param]} {
|
||||||
set name [format "%s%s" $name [string range $param 2 end]]
|
set name [format "%s%s" $name [string range $param 2 end]]
|
||||||
|
@ -386,9 +386,9 @@ proc xdefine_addr_params_for_ext_intf {drvhandle file_name} {
|
||||||
}
|
}
|
||||||
|
|
||||||
proc post_generate {drv_handle} {
|
proc post_generate {drv_handle} {
|
||||||
set file_handle [::hsm::utils::open_include_file "xparameters.h"]
|
set file_handle [::hsi::utils::open_include_file "xparameters.h"]
|
||||||
puts $file_handle "#endif /* end of protection macro */"
|
puts $file_handle "#endif /* end of protection macro */"
|
||||||
close $file_handle
|
close $file_handle
|
||||||
}
|
}
|
||||||
|
|
||||||
# Returns the frequency of a bus
|
# Returns the frequency of a bus
|
||||||
|
|
Loading…
Add table
Reference in a new issue