Skip to content

Commit b749c8e

Browse files
fallensbourdeauducq
authored andcommittedOct 10, 2014
doc/manual/installing: small cleanups and more details
1 parent 46165f3 commit b749c8e

File tree

1 file changed

+56
-27
lines changed

1 file changed

+56
-27
lines changed
 

‎doc/manual/installing.rst

+56-27
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,40 @@ You may skip those steps if the board is already flashed.
99
You will need:
1010

1111
* FPGA vendor tools (e.g. Xilinx ISE or Vivado)
12-
* OpenRISC GCC/binutils toolchain (or1k-elf-...)
12+
13+
* Get them from http://www.xilinx.com/support/download/index.htm
14+
1315
* Python 3.3+
16+
17+
* OpenRISC GCC/binutils toolchain (or1k-elf-...)
18+
19+
* Compile and install binutils. Fetch the source from https://github.com/openrisc/or1k-src ::
20+
21+
$ mkdir build && cd build
22+
$ ../configure --target=or1k-elf --enable-shared --disable-itcl \
23+
--disable-tk --disable-tcl --disable-winsup --disable-gdbtk --disable-libgui --disable-rda \
24+
--disable-sid --disable-sim --disable-gdb --disable-newlib --disable-libgloss --disable-werror
25+
$ make && sudo make install
26+
27+
* Compile and install GCC. Fetch the source from https://github.com/openrisc/or1k-gcc ::
28+
29+
$ mkdir build && cd build
30+
$ ../configure --target=or1k-elf --enable-languages=c --disable-shared --disable-libssp
31+
$ make && sudo make install
32+
1433
* Migen and MiSoC (http://m-labs.hk/gateware.html)
1534

35+
* Fetch them from https://github.com/m-labs/migen and https://github.com/m-labs/misoc
36+
37+
* Install Migen::
38+
39+
$ cd migen && sudo python setup.py install
40+
41+
* Install MiSoC dependencies by following steps 2., 3. and 6. (respectively JTAG tools, flash proxy bitstream and compiler-rt) from the MiSoC README.
42+
43+
.. note::
44+
``python`` refers to Python 3. You may need to use the ``python3`` command instead of ``python`` on some distributions.
45+
1646
After these components are installed, build and flash the bitstream and BIOS by running `from the MiSoC top-level directory`: ::
1747

1848
$ ./make.py -X /path_to/ARTIQ/soc -t artiq all
@@ -39,30 +69,29 @@ Installing the host-side software
3969

4070
The main dependency of ARTIQ is LLVM and its Python bindings (http://llvmpy.org). Currently, this installation is tedious because of the OpenRISC support not being merged upstream LLVM and because of incompatibilities between the versions of LLVM that support OpenRISC and the versions of LLVM that support the Python bindings. ::
4171

42-
git clone https://github.com/openrisc/llvm-or1k
43-
cd llvm-or1k
44-
git checkout b3a48efb2c05ed6cedc5395ae726c6a6573ef3ba
45-
patch -p1 < /path_to/ARTIQ/patches/llvm/*
46-
47-
cd tools
48-
git clone https://github.com/openrisc/clang-or1k clang
49-
cd clang
50-
git checkout 02d831c7e7dc1517abed9cc96abdfb937af954eb
51-
patch -p1 < /path_to/ARTIQ/patches/clang/*
52-
53-
cd ../..
54-
mkdir build && cd build
55-
../configure --prefix=/usr/local/llvm-or1k
56-
make ENABLE_OPTIMIZED=1 REQUIRES_RTTI=1
57-
sudo -E make install ENABLE_OPTIMIZED=1 REQUIRES_RTTI=1
58-
59-
cd ../..
60-
git clone https://github.com/llvmpy/llvmpy
61-
cd llvmpy
62-
git checkout llvm-3.4
63-
git checkout 7af2f7140391d4f708adf2721e84f23c1b89e97a
64-
patch -p1 < /path_to/ARTIQ/patches/llvmpy/*
65-
LLVM_CONFIG_PATH=/usr/local/llvm-or1k/bin/llvm-config sudo -E python setup.py install
72+
$ git clone https://github.com/openrisc/llvm-or1k
73+
$ cd llvm-or1k
74+
$ git checkout b3a48efb2c05ed6cedc5395ae726c6a6573ef3ba
75+
$ patch -p1 < /path_to/ARTIQ/patches/llvm/*
76+
77+
$ cd tools
78+
$ git clone https://github.com/openrisc/clang-or1k clang
79+
$ cd clang
80+
$ git checkout 02d831c7e7dc1517abed9cc96abdfb937af954eb
81+
$ patch -p1 < /path_to/ARTIQ/patches/clang/*
82+
83+
$ cd ../..
84+
$ mkdir build && cd build
85+
$ ../configure --prefix=/usr/local/llvm-or1k
86+
$ make ENABLE_OPTIMIZED=1 REQUIRES_RTTI=1
87+
$ sudo -E make install ENABLE_OPTIMIZED=1 REQUIRES_RTTI=1
88+
89+
$ cd ../..
90+
$ git clone https://github.com/llvmpy/llvmpy
91+
$ cd llvmpy
92+
$ git checkout 7af2f7140391d4f708adf2721e84f23c1b89e97a
93+
$ patch -p1 < /path_to/ARTIQ/patches/llvmpy/*
94+
$ LLVM_CONFIG_PATH=/usr/local/llvm-or1k/bin/llvm-config sudo -E python setup.py install
6695

6796
.. note::
6897
``python`` refers to Python 3. You may need to use the ``python3`` command instead of ``python`` on some distributions.
@@ -71,7 +100,7 @@ You may want to use ``checkinstall`` instead of ``make install`` (to register th
71100

72101
You can then install ARTIQ itself: ::
73102

74-
cd /path_to/ARTIQ
75-
sudo python setup.py
103+
$ cd /path_to/ARTIQ
104+
$ sudo python setup.py install
76105

77106
Alternatively, you can simply add the ARTIQ directory to your ``PYTHONPATH`` environment variable. The advantage of this technique is that you will not need to reinstall ARTIQ when modifying or upgrading it, which is useful during development.

0 commit comments

Comments
 (0)
Please sign in to comment.