Skip to content

Commit 58a0bc0

Browse files
committed
added licensing
1 parent 44b669b commit 58a0bc0

File tree

10 files changed

+479
-10
lines changed

10 files changed

+479
-10
lines changed

LICENSE

+340
Large diffs are not rendered by default.

README.md

+4-9
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,7 @@ Ryzee119 provides the Xilinx CPLD's source code for LPC translation, but you sti
6666

6767
I recently ran across a web article that showed JTAG programming a Xilinx FPGA via a Raspberry PI using a tool called XC3SPROG and I thought that would be a great platform to program a Xenium's CPLD !!
6868

69-
See: https://linuxjedi.co.uk/2020/12/01/programming-xilinx-jtag-from-a-raspberry-pi/
70-
71-
Now - if you can also get it to upload the BIOS to the Xenium Flash memory, that would make the PERFECT little Xenium programmer and for $5 more, you can make it a wireless remote and even standalone end-to-end OpenXenium mod chip programmer!!
72-
73-
I downloaded the XC3SPROG tool and it worked fantastic! I could JTAG program the Xilinx CPLD in 12 seconds flat!!
69+
I extracted pieces from XC3SPROG source code that will allow JTAG programming of just the Xenium CPLD and it worked fantastic! I can JTAG program the Xilinx CPLD in 12 seconds flat!!
7470

7571
So, I set about looking at how to bit-bang LPC through the Raspberry PI's GPIO ports and program Xenium Flash memory.
7672

@@ -111,21 +107,20 @@ You can install Xenium Programmer stack by doing the following:
111107

112108
- Clone this repo by running `git clone https://github.com/kooscode/xenium-programmer.git`
113109
- Run `./install` to download, build and install all the above mentioned tools.
114-
- This might take a while - please be patient!
115-
- BTW - the XC3SPROG build takes a while and has a bunch of warnings.. its normal..
116110

117111
-------------
118112
## -- HOOKING UP THE HARDWARE --
119113

120114
![jtag-pinout](images/connections.png)
121115

122116
### JTAG PROGRAMMING PINS
123-
- You need to hook up the JTAG pins for XC3SPROG in a specific way.. AFAIK, they are not configurable..
117+
- The JTAG pins are configurable by editing the `XeniumDefines.h` file
118+
- I chose these pins for XC3SPROG compatability, use them as is, or change it as you see fit..
124119

125120
![jtag-pinout](images/jtag-pinout.png)
126121

127122
### FLASH PROGRAMMING PINS
128-
- These pins are configurable in the `BitBus.cpp` file of the `xenium-flash` app source.
123+
- The FLASH pins are configurable by editing the `XeniumDefines.h` file.
129124
- I chose these pins purely for convenience of my board layout, use them as is, or change it as you see fit..
130125

131126
![bitbus-pinout](images/bitbus-pinout.png)

firmware/xeniumflash.v

+20
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
/* 4-bit "BitBus" to Flash translator for OpenXenium
2+
3+
Copyright (C) 2019-2020 Koos du Preez ([email protected])
4+
5+
This program is free software; you can redistribute it and/or modify
6+
it under the terms of the GNU General Public License as published by
7+
the Free Software Foundation; either version 2 of the License, or
8+
(at your option) any later version.
9+
10+
This program is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU General Public License for more details.
14+
15+
You should have received a copy of the GNU General Public License
16+
along with this program; if not, write to the Free Software
17+
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18+
*/
19+
20+
121
module xeniumflash(
222
// led
323
output reg [2:0] led,

xenium-flash/src/flash/BitBus.cpp

+19
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
/* Custom 4-bit "BitBus"
2+
3+
Copyright (C) 2019-2020 Koos du Preez ([email protected])
4+
5+
This program is free software; you can redistribute it and/or modify
6+
it under the terms of the GNU General Public License as published by
7+
the Free Software Foundation; either version 2 of the License, or
8+
(at your option) any later version.
9+
10+
This program is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU General Public License for more details.
14+
15+
You should have received a copy of the GNU General Public License
16+
along with this program; if not, write to the Free Software
17+
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18+
*/
19+
120
#include "BitBus.hpp"
221

322
#include <thread>

xenium-flash/src/flash/BitBus.hpp

+19
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
/* Custom 4-bit "BitBus"
2+
3+
Copyright (C) 2019-2020 Koos du Preez ([email protected])
4+
5+
This program is free software; you can redistribute it and/or modify
6+
it under the terms of the GNU General Public License as published by
7+
the Free Software Foundation; either version 2 of the License, or
8+
(at your option) any later version.
9+
10+
This program is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU General Public License for more details.
14+
15+
You should have received a copy of the GNU General Public License
16+
along with this program; if not, write to the Free Software
17+
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18+
*/
19+
120
#ifndef XK_BITBUS_
221
#define XK_BITBUS_
322

xenium-flash/src/flash/Flash.cpp

+19
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
/* Programming a SPANSION flash via 4-bit bus
2+
3+
Copyright (C) 2019-2020 Koos du Preez ([email protected])
4+
5+
This program is free software; you can redistribute it and/or modify
6+
it under the terms of the GNU General Public License as published by
7+
the Free Software Foundation; either version 2 of the License, or
8+
(at your option) any later version.
9+
10+
This program is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU General Public License for more details.
14+
15+
You should have received a copy of the GNU General Public License
16+
along with this program; if not, write to the Free Software
17+
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18+
*/
19+
120
#include "Flash.hpp"
221

322
#include <fstream>

xenium-flash/src/flash/Flash.hpp

+19
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
/* Programming a SPANSION flash via 4-bit bus
2+
3+
Copyright (C) 2019-2020 Koos du Preez ([email protected])
4+
5+
This program is free software; you can redistribute it and/or modify
6+
it under the terms of the GNU General Public License as published by
7+
the Free Software Foundation; either version 2 of the License, or
8+
(at your option) any later version.
9+
10+
This program is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU General Public License for more details.
14+
15+
You should have received a copy of the GNU General Public License
16+
along with this program; if not, write to the Free Software
17+
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18+
*/
19+
120
#ifndef XK_FLASH_
221
#define XK_FLASH_
322

xenium-flash/src/jtag/IOXenium.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* WiringPI implementation of XC3SPROG IOBase
1+
/* WiringPI implementation of for Xenium CPLD
22
33
Copyright (C) 2019-2020 Koos du Preez ([email protected])
44

xenium-flash/src/xenium-flash.cpp

+19
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
/* Programming a FLASH on OpenXenium
2+
3+
Copyright (C) 2019-2020 Koos du Preez ([email protected])
4+
5+
This program is free software; you can redistribute it and/or modify
6+
it under the terms of the GNU General Public License as published by
7+
the Free Software Foundation; either version 2 of the License, or
8+
(at your option) any later version.
9+
10+
This program is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU General Public License for more details.
14+
15+
You should have received a copy of the GNU General Public License
16+
along with this program; if not, write to the Free Software
17+
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18+
*/
19+
120

221
#include <iostream>
322
#include <fstream>

xenium-flash/src/xenium-jtag.cpp

+19
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
/* Programming a CPLD on OpenXenium
2+
3+
Copyright (C) 2019-2020 Koos du Preez ([email protected])
4+
5+
This program is free software; you can redistribute it and/or modify
6+
it under the terms of the GNU General Public License as published by
7+
the Free Software Foundation; either version 2 of the License, or
8+
(at your option) any later version.
9+
10+
This program is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU General Public License for more details.
14+
15+
You should have received a copy of the GNU General Public License
16+
along with this program; if not, write to the Free Software
17+
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18+
*/
19+
120
#include <iostream>
221
#include <memory>
322

0 commit comments

Comments
 (0)