From 9496fffbbff360122a3baad6add2c6e74bfae477 Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Sun, 3 Jun 2012 22:17:34 +0200 Subject: [PATCH] README: software instructions --- README | 45 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/README b/README index a8dd21a77..99d1748c1 100644 --- a/README +++ b/README @@ -14,25 +14,54 @@ 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 the 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 UrJTAG and FJMEM. + +[> Instructions (gateware) +-------------------------- First, download and install Migen from: https://github.com/milkymist/migen Once this is done, build the bitstream with: 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