basic build instructions
This commit is contained in:
parent
b2150ff205
commit
fc53d173bf
85
src/README
Normal file
85
src/README
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
How to build:
|
||||||
|
|
||||||
|
a) Build requirements
|
||||||
|
* make
|
||||||
|
* Cortex M3 toolchain
|
||||||
|
* snescom/sneslink
|
||||||
|
* Xilinx FPGA synthesis tool (e.g. ISE WebPack)
|
||||||
|
* PIC assembler
|
||||||
|
|
||||||
|
b) Cortex M3 toolchain
|
||||||
|
* obtain the cm3-toolchain builder:
|
||||||
|
git clone http://snowcat.de/toolchain-cm3.git/
|
||||||
|
* build the cm3-toolchain. Some tools, libraries, and headers are required,
|
||||||
|
including but probably not limited to:
|
||||||
|
- libz-dev
|
||||||
|
- libcloog-ppl-dev
|
||||||
|
- texinfo
|
||||||
|
- libmpfr-dev
|
||||||
|
- libgmp3-dev
|
||||||
|
- gawk
|
||||||
|
- bison
|
||||||
|
- recode
|
||||||
|
- flex
|
||||||
|
- libncurses5-dev
|
||||||
|
- libexpat-dev
|
||||||
|
- make
|
||||||
|
- gcc
|
||||||
|
Newer gccs complain when compiling binutils, so you may have to add
|
||||||
|
'--disable-werror' to the compiler options for binutils in the Makefile.
|
||||||
|
The Makefile will install immediately so make sure you can write to the
|
||||||
|
installation directory.
|
||||||
|
|
||||||
|
c) snescom/sneslink
|
||||||
|
* http://bisqwit.iki.fi/source/snescom.html
|
||||||
|
|
||||||
|
d) ISE WebPack
|
||||||
|
* http://www.xilinx.com/products/design-tools/ise-design-suite/ise-webpack.htm
|
||||||
|
|
||||||
|
e) PIC assembler
|
||||||
|
* e.g. GPUTILS, http://gputils.sourceforge.net/
|
||||||
|
|
||||||
|
f) general order of operations
|
||||||
|
1) program the PIC (cic/supercic/supercic-key.asm)
|
||||||
|
2) build and program the bootloader.
|
||||||
|
3) build the firmware and copy it to the memory card
|
||||||
|
4) build the snes menu and copy it to the memory card
|
||||||
|
5) build and compress the FPGA configuration and copy it to the memory card
|
||||||
|
6) insert memory card, power on; the bootloader should begin flashing the
|
||||||
|
firmware and boot it
|
||||||
|
|
||||||
|
1) Programming the PIC
|
||||||
|
Use a PIC assembler + programmer of your choice and program a PIC12F629 with
|
||||||
|
cic/supercic/supercic-key.asm. Make sure that the clock source is set to
|
||||||
|
EC_OSC and MCLRE is disabled.
|
||||||
|
After programming you can solder the PIC to the board and short JP401.
|
||||||
|
Open JP401 in case you need to reprogram the PIC on board.
|
||||||
|
|
||||||
|
2) Building & programming the bootloader
|
||||||
|
The Makefile is prepared for JTAG programming using OpenOCD 0.4 and an FT2232
|
||||||
|
based USB-JTAG adapter.
|
||||||
|
Connect a JTAG cable to J401 (14-pin header). The pinout is printed on the
|
||||||
|
board. cd to src/bootldr and make && make program.
|
||||||
|
|
||||||
|
3) Building the firmware
|
||||||
|
cd to src/utils and make.
|
||||||
|
cd to src/ and make.
|
||||||
|
You should obtain a firmware file called obj/firmware.img. Copy this file to
|
||||||
|
<sdcard>/sd2snes/firmware.img.
|
||||||
|
|
||||||
|
4) Building the SNES menu
|
||||||
|
snescom is required.
|
||||||
|
cd to snes/ and make.
|
||||||
|
Copy the resulting file menu.bin to <sdcard>/sd2snes/menu.bin.
|
||||||
|
|
||||||
|
5) Building the FPGA configuration
|
||||||
|
Compile the RLE compressor in utils/rle.c:
|
||||||
|
$ gcc -Wall -o rle rle.c
|
||||||
|
|
||||||
|
Load verilog/sd2snes/sd2snes.xise in Xilinx ISE (or create your own project).
|
||||||
|
Target is a XC3S400-4PQ208.
|
||||||
|
Generate the programming file and compress it using utils/rle.c:
|
||||||
|
$ rle main.bit fpga_base.bit
|
||||||
|
|
||||||
|
Copy fpga_base.bit to <sdcard>/sd2snes/fpga_base.bit
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user