1 |
238 |
hellwig |
|
2 |
|
|
Notes
|
3 |
|
|
-----
|
4 |
|
|
|
5 |
|
|
1. Installing JTAG cable drivers under Ubuntu:
|
6 |
|
|
a) When installing ISE, do NOT install any cable drivers.
|
7 |
|
|
b) sudo apt-get install \
|
8 |
|
|
gitk git-gui libusb-dev build-essential libc6-dev fxload
|
9 |
|
|
c) git clone git://git.zerfleddert.de/usb-driver
|
10 |
|
|
d) cd usb-driver
|
11 |
|
|
e) make
|
12 |
291 |
hellwig |
f) ./setup_pcusb /opt/Xilinx/14.7/ISE_DS/ISE/
|
13 |
238 |
hellwig |
|
14 |
|
|
2. The configuration bitstring for the FPGA is stored in the
|
15 |
241 |
hellwig |
"Platform Flash PROM" (XCF04S). The board must therefore be
|
16 |
|
|
jumpered for "Master Serial Mode" (all 3 jumpers installed).
|
17 |
238 |
hellwig |
|
18 |
|
|
3. Here is the command which burns the configuration bitstring
|
19 |
|
|
into the Platform Flash PROM:
|
20 |
291 |
hellwig |
/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin/impact -batch ./program.cmd
|
21 |
238 |
hellwig |
|
22 |
|
|
4. The machine monitor is stored in the "StrataFlash Parallel NOR
|
23 |
240 |
hellwig |
Flash PROM" (28F128J3), starting at address 0x000000. The ECO32
|
24 |
|
|
CPU can access the machine monitor at virtual address 0xE0000000.
|
25 |
|
|
The monitor's size must not exceed 16 MB (the size of the Flash PROM).
|
26 |
238 |
hellwig |
|
27 |
241 |
hellwig |
5. In order to program the machine monitor into the Flash PROM, proceed
|
28 |
|
|
as follows (briefly, the FPGA is used as a Flash PROM programmer):
|
29 |
|
|
a) Connect a serial cable to the starter board. This is needed in
|
30 |
|
|
order to communicate with the Flash programmer. Use connector J9
|
31 |
|
|
(the DCE connector) and a straight-through cable.
|
32 |
240 |
hellwig |
b) Transfer the MCS file you wish to program into the Flash PROM
|
33 |
|
|
(in our case the monitor, ../../monitor/s3e-500/monitor.mcs)
|
34 |
239 |
hellwig |
to the computer to which the serial cable is connected.
|
35 |
|
|
c) Start a serial communication program (e.g. minicom) on the
|
36 |
241 |
hellwig |
computer connected to the serial cable. The communication
|
37 |
239 |
hellwig |
parameters must be set as follows:
|
38 |
|
|
- choose the serial port to which the cable is connected
|
39 |
241 |
hellwig |
(this is /dev/tty00 on my computer)
|
40 |
239 |
hellwig |
- 115200 baud
|
41 |
|
|
- 8 bits, no parity, 1 stop bit ("8N1")
|
42 |
|
|
- software flow control ("XON/XOFF protocol")
|
43 |
|
|
- line wrap on (otherwise you won't see all chars of long lines)
|
44 |
|
|
- add linefeed on (the programmer sends CR, but not LF)
|
45 |
|
|
- local echo off (the programmer does echo itself)
|
46 |
|
|
d) Here is the command that loads the FPGA with the programmer:
|
47 |
291 |
hellwig |
/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin/impact -batch ./flash-500.cmd
|
48 |
241 |
hellwig |
If the download succeeds, you should see the message "PicoBlaze NOR
|
49 |
|
|
FLASH Programmer v1.00" on the computer which is connected via the
|
50 |
|
|
serial line to the starter board, as well as a menue of commands
|
51 |
|
|
(E, B, P, W, R, I, H, S), and a prompt (">"). Try the commands 'h'
|
52 |
|
|
(the menue should be sent again), 'i' (the device ID 89 18 should
|
53 |
|
|
be displayed), and 's' (the status should be 80).
|
54 |
|
|
e) Erase the flash ROM completely by pressing 'e'. This command must
|
55 |
|
|
be confirmed with an upper case 'Y' and can run for a few minutes.
|
56 |
|
|
The command sends the character '.' repeatedly to show its progress.
|
57 |
|
|
f) Program the ROM with the command 'p'. You will have to specify the
|
58 |
|
|
name of the MCS file to your communication program somehow (with
|
59 |
|
|
minicom, it's "CTRL-A Z Y "). Your communication
|
60 |
|
|
program should send the contents of the file as if it has been
|
61 |
|
|
typed at the keyboard, without changing any character.
|
62 |
|
|
g) Verify what you have programmed with the command 'r', followed by
|
63 |
|
|
exactly 6 hex digits which represent the starting address of 256
|
64 |
|
|
bytes (these bytes will be dumped to your screen).
|
65 |
238 |
hellwig |
|
66 |
241 |
hellwig |
6. The two programming tasks (FPGA bistring into Platform Flash PROM
|
67 |
240 |
hellwig |
and monitor into Parallel NOR Flash PROM) may be carried out in
|
68 |
|
|
any sequence.
|
69 |
|
|
|