HSI Driver Download
Download the latest ST-LINK/V2 driver. Extract the archive and run either dpinstamd64.exe or dpinstx86.exe depending on whether you are on a 64-bit machine or 32-bit machine. Follow the displayed instructions. GARMIN G5 DG / HSI - STC'D FOR CERTIFIED AIRCRAFT WITH LPM The G5 electronic flight instrument delivers exceptional performance, reliability and ease of installation as a drop-in replacement for primary attitude and/or directional gyros in. The cap driver has its own shaft which allows for high speed cap production with precision results. Additionally, the TMBP-SC has a streamlined Cubical Frame Design which has no sides allowing the TMBP-SC to embroider on over-sized jackets, blankets or large duffel bags as well as polo shirts and caps. Tailored to the specific needs of your business. HSI offers training, safety management and compliance solutions for businesses of all sizes. Our combination of technology and content solutions help safety, human resources and operations leaders train and develop their workforce, keep workers safe and meet regulatory and operational compliance requirements.
Solution
This Answer Record describes how to use the HSI tool to create a custom driver to populate the xparameters.h file in SDK.
Step 1: Create the IP in IP Packager
In the following example a simple AXI slave IP is created and connected to the MPSoC device:
By default, IP packager generates a simple driver for the IP, so when the hardware is exported to SDK, the driver will be packaged within the hardware platform.
Step 2: Explore the Hardware design using HSI
Exported hardware designs (HDF files) can be inspected using HSI, so the tool can be used within the driver generation Tcl to customize it according to the design.
Launch the shell from SDK and call HSI to get the command prompt.
**** SW Build 2258646 on Thu Jun 14 20:02:38 MDT 2018
** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
hsi%
- Open the HW design:
open_hw_design: Time (s): cpu = 00:00:10 ; elapsed = 00:00:12 . Memory (MB): peak = 519.324 ; gain = 194.016 ; free physical = 10326 ; free virtual = 350695
design_1_wrapper
- Check IPs in the design:
- Get IP properties
- Get IP pins
- Get IP clock pins
- Get pin properties
- Get pin property values
- Check if the interrupt pin is connected to any interrupt controller
For more information on the HSI command, see (UG1138)
Step 3: Update the driver Tcl file
Hsi Driver Download Windows 7
Modify the Tcl script for the custom IP within the hardware platform driver as development flow.
The changes made in the driver will only be applicable for those BSP generated based on the hardware project, but once stable, the changes can be exported to the IP repository created in Vivado.
proc generate {drv_handle} {
xdefine_include_file $drv_handle 'xparameters.h' 'myip' 'NUM_INSTANCES' 'DEVICE_ID' 'C_S00_AXI_BASEADDR' 'C_S00_AXI_HIGHADDR'
#Custom Diver handler
set periph_name [get_property IP_NAME [get_cells $drv_handle]]
set found [string first $periph_name $drv_handle]
if {$found != -1} {
set ip_name [string toupper [string range $drv_handle $found [string length $drv_handle]]]
} else {
set ip_name [string toupper $drv_handle]
}
set file_handle [::hsi::utils::open_include_file xparameters.h]
puts $file_handle '/* This is from the custom addition $ip_name */'
set clk_pins [get_pins -of_objects [get_cells $drv_handle] -filter TYPEclk]
for {set i 0} {$i < [llength $clk_pins]} {incr i} {
set clk_freq [get_property CLK_FREQ [lindex $clk_pins $i]]
set clk_name [string toupper [get_property NAME [lindex $clk_pins $i]]]
puts $file_handle '#define XPAR_${ip_name}_${clk_name} $clk_freq'
}
set int_pin [get_pins -of_objects [get_cells $drv_handle] -filter TYPEINTERRUPT]
set intc_periph_type [::hsi::utils::get_connected_intr_cntrl myip_0 $int_pin]
if {$intc_periph_type != '} {
puts $file_handle '#define XPAR_${ip_name}_INTERRUPT_CONNECTED 1'
} else {
puts $file_handle '#define XPAR_${ip_name}_INTERRUPT_CONNECTED 0'
}
close $file_handle
}
The custom code in the Tcl script does the following:
- Opens the xparameters.h file
- Finds the IP name using the drv_handler. If the IP is in a sub block, only the driver name is used.
- Gets all of the clock pins in the custom IP and outputs these to the header file
- Checks if the interrupt in the custom IP is connected and outputs this to the header file
- Closes the header file
Step 4: Test the BSP
Once the Tcl script is ready, a BSP project can be created to check if the driver for the custom IP is been generated property.
The xparameters.h file of the BSP includes the customized values:
#define XPAR_MYIP_0_S00_AXI_ACLK 99990000
#define XPAR_MYIP_0_S_AXI_INTR_ACLK 99990000
#define XPAR_MYIP_0_INTERRUPT_CONNECTED 1
Step 5: Integrate in the Vivado repository
In order to integrate the custom driver into the Vivado repository, just copy the Tcl script into the ip_repo folder where the IP is stored.
His Driver Download
This will trigger an IP change within Vivado, so update the design to integrate the new driver.
Hsi Driver Download Software
This way the new script will be used each time a hardware is exported with the custom IP.