1
0
mirror of https://github.com/wfjm/w11.git synced 2026-04-26 20:27:50 +00:00

First fix-ups for Ubuntu 16.04

- document urjtag build (jtag in Ubuntu 16.04 is broken)
- add environment sanity wrappers for acroread,awk,firefox to ensure
  proper operation of vivado under Ubuntu 16.04
This commit is contained in:
Walter F.J. Mueller
2017-04-01 14:59:17 +02:00
parent 92812d76b7
commit 81b6d6854d
10 changed files with 89 additions and 45 deletions

View File

@@ -19,8 +19,9 @@ USB Interface. Re-building them requires
- Small Device C Compiler -> package: `sdcc` `sdcc-ucsim` - Small Device C Compiler -> package: `sdcc` `sdcc-ucsim`
- for FX2 firmware download and jtag programming over USB one needs - for FX2 firmware download and jtag programming over USB one needs
- fxload -> package: `fxload` - fxload -> package: `fxload`
- urjtag -> package: `urjtag` for Ubuntu 12.04 and newer - urjtag -> package: `urjtag` for Ubuntu 12.04 or 14.04,
see [INSTALL_urjtag.md](INSTALL_urjtag.md) for other distributions !! is **broken in Ubuntu 16.04**.
See [INSTALL_urjtag.md](INSTALL_urjtag.md) for installation from sources !!
### Setup environment variables <a name="envvar"></a> ### Setup environment variables <a name="envvar"></a>

View File

@@ -1,50 +1,42 @@
# Installation of urjtag # Installation of urjtag
The w11 project uses the open source JTAG Access software from the `urjtag` is a available as Debian/Ubuntu package since long time.
SourceForge project but with quite varying quality:
[urjtag](https://sourceforge.net/projects/urjtag/) - Debian Squeeze and Ubuntu 11.10 (oneiric) or were **broken** due to a
for configuring FPGA over the Cypress FX2 USB Interface available on string size limitation problem
Digilent Nexys2, Nexys3 and Atlys boards. - Ubuntu 12.04 **works**
- Ubuntu 14.04 **works**
- Ubuntu 16.04 is **corrupt**, crashes with a SEGFAULT in the `detect` command
The most recent version works fine. This version is delivered with If you have installed the package `urjtag` and the command
Ubuntu 12.04 LTS and later Ubuntu versions. In this case simply install the
package `urjtag`. Try the command
jtag jtag
it should print prints
UrJTAG 0.10 #2007 UrJTAG 0.10 #2007
and show a version number of `#2007` or higher. with a version number of `#2007` or higher and
Old versions unfortunately have a string size limitation problem with can cd $RETROBASE/rtl/sys_gen/tst_rlink_cuff/nexys3/ic
lead to problems when used with Digilent S3BOARDS (or other cases with make sys_tst_rlink_cuff_ic_n3.jconfig
multiple devices in the jtag chain). Therefore for
Debian Squeeze and older works fine with a connected `nexys3` board all is fine.
Ubuntu 11.10 (oneiric) and older
or if the 'jtag' command prints something like Otherwise install from sources. I prefer in install in `$HOME/usr_local`
to keep distribution packages and self-compiled things separate. Do do
UrJTAG 0.10 #1502 cd <your source directory>
UrJTAG 0.9 #1476 time git clone https://git.code.sf.net/p/urjtag/git urjtag
it is advisible to install the urjtag software from sources. cd urjtag/urjtag
./autogen.sh --prefix=$HOME/usr_local 2>&1 | tee autogen.log
time make 2>&1 | tee make.log
time make install 2>&1 | tee install.log
Simlest is to install an up-to-date version directly from the SourceForge Tested with urjtag version (from `git log`)
svn repository, start at
https://sourceforge.net/p/urjtag/svn/HEAD/tree/trunk/ , do a
`svn co` for revision `2007` or later, build and install.
Alternatively start with the `V0.10 (rev #1502)` tarball available from commit d938d4679692d94709f30fa9d20205e22436f39b
https://sourceforge.net/projects/urjtag/files/ Author: Geert Stappers <stappers@debian.org>
and download Date: Mon Mar 20 12:04:22 2017 +0100
urjtag-0.10.tar.gz (dated 2009-04-17)
Change in file `src/cmd/parse.c` the line
#define MAXINPUTLINE 100 /* Maximum input line length */
and replace `100` with `512`, build and install.

View File

@@ -106,7 +106,7 @@ All examples below use the same basic setup
**Note**: the arty w11a has currently only 176 kB memory (all from BRAMS!) **Note**: the arty w11a has currently only 176 kB memory (all from BRAMS!)
unix-v5 works fine. XXDP, RT11 and RSX-11M should work. unix-v5 works fine. XXDP, RT11 and RSX-11M should work.
211bsd will not boot, either most RSX-11M+ systems. 211bsd will not boot, neither most RSX-11M+ systems.
- for b3 over serial - for b3 over serial

View File

@@ -4,6 +4,7 @@ This directory tree contains **many tools** and is organized in
| --------- | ------- | | --------- | ------- |
| [asm-11](asm-11) | environment for `asm-11` assembler | | [asm-11](asm-11) | environment for `asm-11` assembler |
| [bin](bin) | support scripts and tools | | [bin](bin) | support scripts and tools |
| [bin_xilinx_wrapper](bin_xilinx_wrapper) | wrappers for Xilinx environments |
| [dox](dox) | configuration files for Doxygen | | [dox](dox) | configuration files for Doxygen |
| [fx2](fx2) | firmware for Cypress FX2 USB interface | | [fx2](fx2) | firmware for Cypress FX2 USB interface |
| [make](make) | make includes | | [make](make) | make includes |

View File

@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# $Id: xtwi 830 2016-12-26 20:25:49Z mueller $ # $Id: xtwi 862 2017-04-01 12:44:51Z mueller $
# #
# Copyright 2013-2016 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> # Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
# License disclaimer see License.txt in $RETROBASE directory # License disclaimer see License.txt in $RETROBASE directory
# #
# Xilinx Tool Wrapper script for ISE: # Xilinx Tool Wrapper script for ISE:
@@ -10,6 +10,7 @@
# #
# Revision History: # Revision History:
# Date Rev Version Comment # Date Rev Version Comment
# 2017-04-01 862 1.2.1 add usr_local/bin and bin_xilinx_wrapper to PATH
# 2016-08-28 804 1.2 BUGFIX: add ":." to PATH even under BARE_PATH # 2016-08-28 804 1.2 BUGFIX: add ":." to PATH even under BARE_PATH
# 2016-02-21 735 1.1 use BARE_PATH ect to provide clean environment # 2016-02-21 735 1.1 use BARE_PATH ect to provide clean environment
# 2013-10-12 539 1.0 Initial version # 2013-10-12 539 1.0 Initial version
@@ -34,11 +35,12 @@ then
fi fi
# provide clean environment when BARE_PATH ect defined # provide clean environment when BARE_PATH ect defined
# add only $RETROBASE/tools/bin and '.' to path # add prepend $HOME/usr_local/bin to path
# '.' is needed to start ISim tb's, which usually are in cwd # add append $RETROBASE/tools/bin and '.' to path
# '.' is needed to start tb's, which usually are in cwd
if [ -n "$BARE_PATH" ] if [ -n "$BARE_PATH" ]
then then
export PATH=$BARE_PATH:$RETROBASE/tools/bin:. export PATH=$HOME/usr_local/bin:$BARE_PATH:$RETROBASE/tools/bin:.
unset LD_LIBRARY_PATH unset LD_LIBRARY_PATH
if [ -n "$BARE_LD_LIBRARY_PATH" ] if [ -n "$BARE_LD_LIBRARY_PATH" ]
then then
@@ -46,6 +48,9 @@ then
fi fi
fi fi
# add bin_xilinx_wrapper to path (for firefox ect interceptors)
export PATH=$RETROBASE/tools/bin_xilinx_wrapper:$PATH
# check whether 32 or 64 bit system (uname -m gives 'i686' or 'x86_64') # check whether 32 or 64 bit system (uname -m gives 'i686' or 'x86_64')
if [ `uname -m` = "x86_64" ] if [ `uname -m` = "x86_64" ]
then then

View File

@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# $Id: xtwv 830 2016-12-26 20:25:49Z mueller $ # $Id: xtwv 862 2017-04-01 12:44:51Z mueller $
# #
# Copyright 2013-2016 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> # Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
# License disclaimer see License.txt in $RETROBASE directory # License disclaimer see License.txt in $RETROBASE directory
# #
# Xilinx Tool Wrapper script for Vivado # Xilinx Tool Wrapper script for Vivado
@@ -10,6 +10,7 @@
# #
# Revision History: # Revision History:
# Date Rev Version Comment # Date Rev Version Comment
# 2017-04-01 862 1.1.1 add usr_local/bin and bin_xilinx_wrapper to PATH
# 2016-02-21 735 1.1 use BARE_PATH ect to provide clean environment # 2016-02-21 735 1.1 use BARE_PATH ect to provide clean environment
# 2014-04-18 554 1.0.1 fake XILINX_VIVADO, 2014.1 doesn't define it anymore # 2014-04-18 554 1.0.1 fake XILINX_VIVADO, 2014.1 doesn't define it anymore
# 2013-10-12 539 1.0 Initial version (cloned from xtwi) # 2013-10-12 539 1.0 Initial version (cloned from xtwi)
@@ -33,10 +34,12 @@ then
fi fi
# provide clean environment when BARE_PATH ect defined # provide clean environment when BARE_PATH ect defined
# add only $RETROBASE/tools/bin to path # add prepend $HOME/usr_local/bin to path
# add append $RETROBASE/tools/bin and '.' to path
# '.' is needed to start tb's, which usually are in cwd
if [ -n "$BARE_PATH" ] if [ -n "$BARE_PATH" ]
then then
export PATH=$BARE_PATH:$RETROBASE/tools/bin export PATH=$HOME/usr_local/bin:$BARE_PATH:$RETROBASE/tools/bin:.
unset LD_LIBRARY_PATH unset LD_LIBRARY_PATH
if [ -n "$BARE_LD_LIBRARY_PATH" ] if [ -n "$BARE_LD_LIBRARY_PATH" ]
then then
@@ -44,6 +47,9 @@ then
fi fi
fi fi
# add bin_xilinx_wrapper to path (for firefox ect interceptors)
export PATH=$RETROBASE/tools/bin_xilinx_wrapper:$PATH
# check whether 32 or 64 bit system (uname -m gives 'i686' or 'x86_64') # check whether 32 or 64 bit system (uname -m gives 'i686' or 'x86_64')
if [ `uname -m` = "x86_64" ] if [ `uname -m` = "x86_64" ]
then then

View File

@@ -0,0 +1,13 @@
This directory contains wrappers for general system tools called from within
Xilinx IDE (ISE or Vivado). The wrappers reset the environment used inside the
IDE to a very basic default environment with
unset LD_LIBRARY_PATH
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
and finally execute the chosen tool via `exec` like
exec firefox "$@"
This ensures that these tools work properly and don't fail due to conflicting
library versions.

View File

@@ -0,0 +1,9 @@
#!/bin/bash
#
# wrapper for the acroread command used in Xilinx ISE/Vivado
# it cleans up the environment, and redirects to ocular
# following a suggestion of Clifford Wolf
#
unset LD_LIBRARY_PATH
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
exec okular "$@"

8
tools/bin_xilinx_wrapper/awk Executable file
View File

@@ -0,0 +1,8 @@
#!/bin/bash
#
# wrapper for the awk command used in Xilinx Vivado
# it cleans up the environment
#
unset LD_LIBRARY_PATH
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
exec awk "$@"

View File

@@ -0,0 +1,9 @@
#!/bin/bash
#
# wrapper for the firefox command used in Xilinx ISE/Vivado
# it cleans up the environment
# following a suggestion of Clifford Wolf
#
unset LD_LIBRARY_PATH
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
exec firefox "$@"