Forum Discussion

HKari1's avatar
HKari1
Icon for New Contributor rankNew Contributor
6 years ago

Error in creating a header file using Tcl console

I am relatively new to fpga and Quartus prime software. I was following intel's tutorial "Build a Custom Hardware System" https://software.intel.com/en-us/articles/build-a-custom-hardware-system.

The final section of the tutorial is to generate header files and they given a code to paste into the Tcl console of the Quartus prime software. There is an error when I do so. This is how the Tcl console looks when I paste the given code.

# make a directory called ’qsys_headers’ to store the header files

file mkdir qsys_headers

# create a TCL variable SCHF_PATH to hold the path to the executable program

# sopc-create-header-files on your host PC using the environment variables

# provided by Quartus.

set SCHF_PATH [glob -join $quartus(quartus_rootpath) sopc_builder bin sopc-create-header-files]

c:/intelfpga/18.1/quartus/sopc_builder/bin/sopc-create-header-files

# create a TCL variable BAT_PATH to hold the path to the Nios II Command Shell

# batch file on Windows platforms. The following code sequence will work on

# either Windows or Linux. For linux this variable will just be set to NULL.

set BAT_PATH {}

if {$tcl_platform(platform) == "windows"} {

set BAT_PATH [glob -join $quartus(quartus_rootpath) .. nios2eds {Nios II Command Shell.bat}]

}

{c:/intelfpga/18.1/quartus/../nios2eds/Nios II Command Shell.bat}

# execute sopc-create-header-files to generate the header files

eval exec -ignorestderr ${BAT_PATH} ${SCHF_PATH} soc_system.sopcinfo --output-dir qsys_headers

Error:Authorized application c:\INTELF~2\18.1\quartus\bin64\jtagserver.exe is enabled in the firewall.

Error:]2;Altera Nios II EDS 18.1 [gcc4]child process exited abnormally

Error: while executing

Error:"exec -ignorestderr {c:/intelfpga/18.1/quartus/../nios2eds/Nios II Command Shell.bat} c:/intelfpga/18.1/quartus/sopc_builder/bin/sopc-create-header-fil..."

Error: ("eval" body line 1)

Error: invoked from within

Error:"eval exec -ignorestderr ${BAT_PATH} ${SCHF_PATH} soc_system.sopcinfo --output-dir qsys_headers"

# read the header file for master_0 into a TCL variable

set master_0_header [read [open [glob -join qsys_headers master_0.h] r]]

Error:no files matched glob pattern "qsys_headers/master_0.h"

Error: while executing

Error:"glob -join qsys_headers master_0.h"

Error: invoked from within

Error:"open [glob -join qsys_headers master_0.h] r"

Error: invoked from within

Error:"read [open [glob -join qsys_headers master_0.h] r]"

Error: invoked from within

Error:"set master_0_header [read [open [glob -join qsys_headers master_0.h] r]]"

# output the C macro lines for the FPGA peripheral base addresses

foreach line [split ${master_0_header} "\n"] { \

if {[string match "*_BASE*" ${line}]} {puts ${line}}}

Error:can't read "master_0_header": no such variable

Error: while executing

Error:"split ${master_0_header} "\n""

Error: invoked from within

Error:"foreach line [split ${master_0_header} "\n"] { \if {[string match "*_BASE*" ${line}]} {puts ${line}}}"

#

I cannot find a way to get through this. I am using Quartus prime 18.1 standard edition. What is the reason for this error? How can I fix it?

4 Replies