cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jimg@crypto4a.com
Adventurer
Adventurer
581 Views
Registered: ‎05-11-2018

Problems with updatehw when using XSCT

Jump to solution

Hello,

I'm trying to generate a TCL script that I can run via XSCT in order to automate our build process, including when we've updated the HDF file being generated by Vivado and need to update/regenerate all of our BSPs. We're designing with the ZYNQ Ultrascale+, and using all four A53 cores so we have 4 distinct applications plus an FSBL, all with their own BSPs.

What I'm finding is that all is well up until I try to use the updatehw command via XSCT. Once I do that it seems like the right things happening as I can see the BSPs being updated, and it looks like a make clean is also being performed. However, the script then seems to pause, and will stay in that state until I hit the enter key, at which point it looks like it just silently terminates with nothing  being output to the XSCT console.

I'm invoking this under Windows using the 2018.2 toolset using xsct.bat running in a windows Command Prompt. Once the XSCT shell comes up I source my TCL script which includes the following basic sequence of operations:

  • Setup some variables/paths
  • Invoke setws
  • Invoke importprojects
  • Invoke deleteprojects (need to clean up some unnecessary projects)
  • Invoke updatehw
  • Invoke some post-update cleanup to revert some BSP changes that generate unecessary compiler warnings.
  • Invoke some other post-update cleanup

What I find odd is the first batch of post-update cleanup seems to complete in parallel with the make clean generated by the updatehw operation, but then the other post-update cleanup never seems to execute as it just seems like things hang until I hit the enter key. Once I hit the enter key i get dropped back to the XSCT shell prompt. If I go check the filesystem I can see the first post-update cleanup has been performed but the follow on cleanup doesn't.

Does anyone know what I'm doing wrong here? There isn't much documentation on the updatehw command so I'm all ears if anyone has any suggestions/guidance. Thanks!

Take care.

Jim

0 Kudos
1 Solution

Accepted Solutions
jimg@crypto4a.com
Adventurer
Adventurer
537 Views
Registered: ‎05-11-2018

Please disregard my question.

Turns out I just missed a few things that were generating the oddities I was seeing:

  1. The updatehw command spawns a make clean operation in the background which dumps a ton of messages to the console so I managed to miss the fact it had actually returned the prompt and my hang wasn't a hang at all.
  2. Attempting to do a git checkout from within a TCL script via the exec mechanism apparently leads to an exception that terminates script execution (despite there not being an issue, it just looks like the return of the git checkout appears to TCL as a problem, weird). As a result I had to wrap the exec invocation in a catch structure to allow the script to continue executing. Once I did that the follow-on clean-up operations executed just fine.

So it looks like the problems were all of my own making and misunderstanding.

Take care.

  Jim

View solution in original post

0 Kudos
1 Reply
jimg@crypto4a.com
Adventurer
Adventurer
538 Views
Registered: ‎05-11-2018

Please disregard my question.

Turns out I just missed a few things that were generating the oddities I was seeing:

  1. The updatehw command spawns a make clean operation in the background which dumps a ton of messages to the console so I managed to miss the fact it had actually returned the prompt and my hang wasn't a hang at all.
  2. Attempting to do a git checkout from within a TCL script via the exec mechanism apparently leads to an exception that terminates script execution (despite there not being an issue, it just looks like the return of the git checkout appears to TCL as a problem, weird). As a result I had to wrap the exec invocation in a catch structure to allow the script to continue executing. Once I did that the follow-on clean-up operations executed just fine.

So it looks like the problems were all of my own making and misunderstanding.

Take care.

  Jim

View solution in original post

0 Kudos