Skip to content
Browse files
README: software instructions
  • Loading branch information
Sebastien Bourdeauducq committed Jun 3, 2012
1 parent ebed9ca commit 9496fffbbff360122a3baad6add2c6e74bfae477
Showing with 37 additions and 8 deletions.
  1. +37 −8 README
@@ -14,25 +14,54 @@ Note that the -NG version is still experimental work in progress. For the
production version of Milkymist SoC, visit:

[> Instructions
[> Instructions (software)
1. Compile and install binutils. Take the latest version from GNU.
./configure --target=lm32-elf
make install

2. Compile and install LLVM and Clang.
git clone git://
cd llvm-lm32/tools
git clone git:// clang
cd ..
mkdir build
cmake ..
make install

3. Build compiler-rt.
git clone 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 flash

The second command requires UrJTAG and FJMEM.

[> Instructions (gateware)
First, download and install Migen from:

Once this is done, build the bitstream with:
This will generate the build/soc.bit programming file.
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:


[> Misc

0 comments on commit 9496fff

Please sign in to comment.