-
Notifications
You must be signed in to change notification settings - Fork 29
/
README
95 lines (59 loc) · 2.58 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
*********************************************************
* IcoProg -- Programmer and Debug Tool for the IcoBoard *
*********************************************************
The IcoBoard is a Raspberry PI hat featuring the ICE40 HX8K fpga. It
can be programmed using the IceStorm Open Source FPGA flow:
http://icoboard.org/
http://www.clifford.at/icestorm/
Installing (Raspberry PI)
=========================
Start by installing a RASPBIAN JESSIE image on an SD-card. Follow the
installation guide on the Raspberry PI web page:
https://www.raspberrypi.org/downloads/raspbian/
Boot the Raspberry PI from the SD card. Open a console window or
login to the Raspberry PI via ssh and execute the commands below
to setup the IcoBoard environment.
Expanding the root Filesystem
-----------------------------
Optionally expand the root filesystem to the entire SD card:
sudo raspi-config
Select "Expand Filesystem" and reboot the Raspberry PI.
Installing wiringPi
-------------------
IcoProg uses the wiringPi library. So we need to install it:
cd $HOME
git clone git://git.drogon.net/wiringPi
cd wiringPi && ./build
Installing IcoProg
------------------
Next we install IcoProg itself:
cd $HOME
git clone https://github.com/cliffordwolf/icotools.git
cd icotools/icoprog && make install
Installing (USB Base Board)
===========================
The icoUSBaseboard is an alternative carrier board for the IcoBoard which allows
programming the IcoBoard directly via USB from a Linux PC. Build IcoProg on the
Linux PC with the make parameter `USBMODE=1` for this hardware setup:
cd $HOME
git clone https://github.com/cliffordwolf/icotools.git
cd icotools/icoprog && make USBMODE=1 install
Installing (UP Board)
=====================
The UP Board is a Raspberry PI compatible X86 single-board computer. Build
IcoProg on the UP Board with the make parameter `GPIOMODE=1`:
cd $HOME
git clone https://github.com/cliffordwolf/icotools.git
cd icotools/icoprog && make GPIOMODE=1 install
Next Steps
==========
See http://www.clifford.at/icestorm/#install for instructions on
installing the FOSS iCE40 toolchain. You can install it on any Linux
PC, or directly on the raspberry pi.
Running `make example_sram` in this directory will build a trivial example
and upload it to the IcoBoard. On a PC it will expect the raspberry pi to be
reachable with "ssh pi@raspi" without password authentication (i.e.
authentication using SSH keys).
See https://github.com/cliffordwolf/icotools/tree/master/icosoc for a
much larger example application. (A complete SoC built around the
PicoRV32 RISC-V CPU.)