README: software instructions
This commit is contained in:
parent
ebed9ca6f8
commit
9496fffbbf
45
README
45
README
|
@ -14,25 +14,54 @@ Note that the -NG version is still experimental work in progress. For the
|
||||||
production version of Milkymist SoC, visit:
|
production version of Milkymist SoC, visit:
|
||||||
https://github.com/milkymist/milkymist
|
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:
|
First, download and install Migen from:
|
||||||
https://github.com/milkymist/migen
|
https://github.com/milkymist/migen
|
||||||
|
|
||||||
Once this is done, build the bitstream with:
|
Once this is done, build the bitstream with:
|
||||||
make
|
make
|
||||||
This will generate the build/soc.bit programming file.
|
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
|
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
|
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.
|
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!
|
Enjoy!
|
||||||
|
|
||||||
[> Misc
|
[> Misc
|
||||||
|
|
Loading…
Reference in New Issue