top: use two slots for the framebuffer ASMI port
[litex.git] / README
diff --git a/README b/README
index 1cc3abf5b5588d3e1e3e7647f84a022367037ac6..eff63f5135854c41c4c79fe1fac8451230778376 100644 (file)
--- a/README
+++ b/README
@@ -14,25 +14,58 @@ Note that the -NG version is still experimental work in progress. For the
 production version of Milkymist SoC, visit:
   https://github.com/milkymist/milkymist
 
-[> Instructions
----------------
+[> Instructions (software)
+--------------------------
+1. Compile and install binutils. Take the latest version from GNU.
+  ./configure --target=lm32-elf
+  make
+  make install
+  
+2. Compile and install LLVM and Clang.
+  git clone git://github.com/milkymist/llvm-lm32.git
+  cd llvm-lm32/tools
+  git clone git://github.com/milkymist/clang-lm32.git clang
+  cd ..
+  mkdir build
+  cmake ..
+  make
+  make install
+
+3. Build compiler-rt.
+  git clone git://github.com/milkymist/compiler-rt-lm32.git
+  cd compiler-rt-lm32
+  make lm32
+
+4. Set the CRTDIR environment variable to where libcompiler_rt.a is.
+  export CRTDIR=/path_to/compiler-rt-lm32/lm32/lm32
+
+5. Build and flash the BIOS (part of this source distribution).
+  cd software/bios
+  make
+  make flash
+
+The second command requires m1nor, FJMEM and UrJTAG.
+These tools can be found respectively at:
+  http://projects.qi-hardware.com/index.php/p/wernermisc/
+  https://github.com/milkymist/fjmem-m1
+  http://urjtag.org
+  
+[> Instructions (gateware)
+--------------------------
 First, download and install Migen from:
   https://github.com/milkymist/migen
 
 Once this is done, build the bitstream with:
-  python3 build.py
+  make
 This will generate the build/soc.bit programming file.
+Use:
+  make load
+to load it with UrJTAG.
 
 The SoC expects a bootloader to be located in flash at 0x860000, just
 like the legacy SoC did. However, there is no binary compatibility and a
 new BIOS needs to be built and flashed for the -NG SoC.
 
-You can find the source code of a compatible BIOS in the software/bios
-directory. It compiles with Clang and LLVM by default, and you can find
-the modified version with support for LM32 at:
-  https://github.com/milkymist/llvm-lm32
-  https://github.com/milkymist/clang-lm32
-
 Enjoy!
 
 [> Misc