mirror of
git://projects.qi-hardware.com/wernermisc.git
synced 2024-11-15 10:36:17 +02:00
m1/jtag-boot/: quick hack to boot an M1 with the "regular" bitstream (from NOR)
This commit is contained in:
parent
e98ea2bfdb
commit
87aa1e7345
10
m1/jtag-boot/Makefile
Normal file
10
m1/jtag-boot/Makefile
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
.PHONY: boot clean
|
||||||
|
|
||||||
|
boot: boot.jtag boot.bit
|
||||||
|
jtag boot.jtag
|
||||||
|
|
||||||
|
boot.bit: mkboot
|
||||||
|
./mkboot >$@ || { rm -rf $@; exit 1; }
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f boot.bit
|
BIN
m1/jtag-boot/boot.bit
Normal file
BIN
m1/jtag-boot/boot.bit
Normal file
Binary file not shown.
5
m1/jtag-boot/boot.jtag
Normal file
5
m1/jtag-boot/boot.jtag
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
cable milkymist
|
||||||
|
detect
|
||||||
|
instruction CFG_OUT 000100 BYPASS
|
||||||
|
instruction CFG_IN 000101 BYPASS
|
||||||
|
pld load boot.bit
|
28
m1/jtag-boot/mkboot
Executable file
28
m1/jtag-boot/mkboot
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
#
|
||||||
|
# mkboot - generate a bitstream (in .bit format) that boots an M1
|
||||||
|
# with the "regular" bitstream, using UrJTAG
|
||||||
|
#
|
||||||
|
# Hacked 2001 by Werner Almesberger
|
||||||
|
#
|
||||||
|
|
||||||
|
# magic, copied from xilinx_bitstream.c:xlx_bitstream_load_bit
|
||||||
|
print pack("C*",
|
||||||
|
0x00, 0x09, 0x0f, 0xf0, 0x0f, 0xf0, 0x0f, 0xf0,
|
||||||
|
0x0f, 0xf0, 0x00, 0x00, 0x01);
|
||||||
|
|
||||||
|
@seq = (
|
||||||
|
# 0xffff, # DUMMY
|
||||||
|
0xaa99, # Sync(1)
|
||||||
|
0x5566, # Sync(2)
|
||||||
|
0x3261, # write GENERAL1
|
||||||
|
0x0000, # start address 15:0
|
||||||
|
0x3281, # write GENERAL2
|
||||||
|
0x0037, # start address 23:16
|
||||||
|
0x30a1, # write CMD
|
||||||
|
0x000e); # IPROG
|
||||||
|
# 0x2000); # NOP
|
||||||
|
|
||||||
|
print pack("aN", "e", 2*@seq);
|
||||||
|
|
||||||
|
print pack("n*", @seq);
|
Loading…
Reference in New Issue
Block a user