Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
projects:pickle [2020/08/05 15:14] darron [Example configuration] |
projects:pickle [2023/11/05 18:07] darron [ICSP interfaces] |
||
---|---|---|---|
Line 15: | Line 15: | ||
Currently supported PICMicros range from the PIC10 to the PIC32. Predominantly PICMicros available in DIP packages are tested and supported. | Currently supported PICMicros range from the PIC10 to the PIC32. Predominantly PICMicros available in DIP packages are tested and supported. | ||
- | In order to use the program in Windows you must first install and setup Cygwin including the necessary development tools for building the application. See [[:boards: | + | In order to use the program in Windows you must first install and setup Cygwin including the necessary development tools for building the application. See [[tools: |
Darron M Broad < darron at kewl dot org > | Darron M Broad < darron at kewl dot org > | ||
Line 58: | Line 58: | ||
^Device^Description^Speed^Data^ | ^Device^Description^Speed^Data^ | ||
- | |BPI/OPI| Linux AllWinner Banana Pi (A20) and Orange Pi (H2+/H3) GPIO.|Fast|[[: | + | |[[projects: |
- | |GPIO-BB| Linux GPIO bit-bang version 1.3.|Fast|[[projects: | + | |[[projects: |
- | |CP2104| Linux CP2104 GPIO.|Slow|CP210x_VCP_Linux_3.13| | + | |[[projects: |
- | |FTDI| Linux FTDI USB bit-bang.|Slow|libftdi or libftdi1| | + | |[[projects: |
- | |MCP2221| Linux MCP2221 GPIO.|Slow|Wire as PI/O below | | + | |[[projects: |
- | |MCP23016| Linux MCP23016 I2C.|Slow|Wire as PI/O below| | + | |[[projects: |
- | |MCP230XX| Linux MCP23008/17 I2C.|Slow|[[: | + | |[[projects: |
- | |MCP23SXX| Linux MCP23S08/17 SPI.|Slow|Wire as PI/O above| | + | |[[projects: |
- | |PCF8574| Linux PCF8574 I2C.|Slow|Single data I/O| | + | |[[projects: |
- | |RPI| Linux Raspberry Pi GPIO (Pi0/ | + | |SYSFSGPIO|Linux SYSFS|Slow|Single data I/O| |
- | |TTY| POSIX Serial bit-bang.|Variable|8250/ | + | |[[projects: |
+ | |[[projects: | ||
+ | |||
+ | (1) Memory mapped I/O on BPI can cause a lock-up on latest kernels. Use GPIO-BB instead. | ||
+ | |||
+ | (2) Board auto-detect does not work with newer Kernels. | ||
<wrap right> | <wrap right> | ||
Line 265: | Line 270: | ||
=== Installation === | === Installation === | ||
- | Download the latest archive file [[http:// | + | Download the latest archive file [[https:// |
Decompress and extract the application source code from the archive. Perform `sudo make && sudo make install', | Decompress and extract the application source code from the archive. Perform `sudo make && sudo make install', | ||
Line 271: | Line 276: | ||
This has been tested on FreeBSD 5 and 6 yet should work on all FreeBSD variants and other BSD derived systems. It has also been test to work in Linux 2.6 but only compiled for 2.4. | This has been tested on FreeBSD 5 and 6 yet should work on all FreeBSD variants and other BSD derived systems. It has also been test to work in Linux 2.6 but only compiled for 2.4. | ||
- | A binary build is available for the RPi [[http:// | + | A binary build is available for the RPi [[https:// |
Here are some sample sessions obtaining the source of the application and then compiling and installing it. | Here are some sample sessions obtaining the source of the application and then compiling and installing it. | ||
Line 285: | Line 290: | ||
rehash | rehash | ||
cd /root | cd /root | ||
- | fetch "http:// | + | fetch "https:// |
- | tar zxf pickle-5.0.tgz | + | tar zxf pickle-5.01.tgz |
cd pickle | cd pickle | ||
gmake k8048 | gmake k8048 | ||
Line 295: | Line 300: | ||
< | < | ||
- | wget "http:// | + | wget "https:// |
- | tar zxf pickle-5.0.tgz | + | tar zxf pickle-5.01.tgz |
cd pickle | cd pickle | ||
make linux | make linux | ||
Line 305: | Line 310: | ||
< | < | ||
- | wget "http:// | + | wget "https:// |
- | tar zxf pickle-5.0.tgz | + | tar zxf pickle-5.01.tgz |
cd pickle | cd pickle | ||
- | make k8048 | + | make cygwin |
- | make k8048-install | + | make cygwin-install |
cd ~ | cd ~ | ||
vi .pickle | vi .pickle | ||
Line 336: | Line 341: | ||
=== Configuration === | === Configuration === | ||
+ | |||
+ | <wrap right> | ||
+ | {{: | ||
+ | </ | ||
There are two ways to configure pickle; either use a dot file named `.pickle' | There are two ways to configure pickle; either use a dot file named `.pickle' | ||
Line 442: | Line 451: | ||
#BUSY=0 | #BUSY=0 | ||
- | # RPI VELLEMAN K8048 (https:// | + | # RPI VELLEMAN K8048 (https:// |
# | # | ||
# TX/ | # TX/ | ||
Line 526: | Line 535: | ||
=== Example configuration === | === Example configuration === | ||
- | == Banana Pi == | + | < |
+ | == Linux AllWinner | ||
< | < | ||
Line 538: | Line 548: | ||
</ | </ | ||
- | == Linux CP2104 == | + | < |
+ | == Linux AllWinner Orange Pi 0 (H2+) == | ||
+ | |||
+ | < | ||
+ | DEVICE=OPI0 | ||
+ | BITRULES=0x1000 | ||
+ | SLEEP=1 | ||
+ | VPP=12 | ||
+ | PGC=11 | ||
+ | PGD=6 | ||
+ | PGM=-1 | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | == Linux CP2104 | ||
< | < | ||
Line 558: | Line 582: | ||
</ | </ | ||
- | == Linux GPIO bit-bang == | + | <BOOKMARK: |
- | + | == Linux FTDI USB bit-bang | |
- | <code> | + | |
- | DEVICE=GPIO-BB | + | |
- | IFACE=/ | + | |
- | SLEEP=1 | + | |
- | BITRULES=0x1000 | + | |
- | VPP=9 | + | |
- | PGM=22 | + | |
- | PGC=10 | + | |
- | PGD=11 | + | |
- | </ | + | |
- | + | ||
- | == Linux FTDI USB == | + | |
< | < | ||
Line 593: | Line 605: | ||
</ | </ | ||
- | == Linux MCP2221 | + | < |
+ | == Linux GPIO bit-bang == | ||
+ | |||
+ | < | ||
+ | DEVICE=GPIO-BB | ||
+ | IFACE=/ | ||
+ | SLEEP=1 | ||
+ | BITRULES=0x1000 | ||
+ | VPP=9 | ||
+ | PGM=22 | ||
+ | PGC=10 | ||
+ | PGD=11 | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | == Linux MCP2221 | ||
< | < | ||
Line 612: | Line 639: | ||
</ | </ | ||
+ | < | ||
== Linux MCP23016 I2C == | == Linux MCP23016 I2C == | ||
Line 628: | Line 656: | ||
</ | </ | ||
+ | < | ||
== Linux MCP23008/17 I2C == | == Linux MCP23008/17 I2C == | ||
Line 644: | Line 673: | ||
</ | </ | ||
+ | < | ||
== Linux MCP23S08/17 SPI == | == Linux MCP23S08/17 SPI == | ||
Line 661: | Line 691: | ||
</ | </ | ||
+ | < | ||
== Linux PCF8574 I2C == | == Linux PCF8574 I2C == | ||
Line 677: | Line 708: | ||
</ | </ | ||
- | == RPi version | + | < |
+ | == Linux RPi 1 GPIO == | ||
< | < | ||
- | DEVICE=RPI | + | DEVICE=RPI1 |
SLEEP=1 | SLEEP=1 | ||
BITRULES=0x1000 | BITRULES=0x1000 | ||
Line 689: | Line 721: | ||
</ | </ | ||
- | == RPi version | + | < |
+ | == Linux RPi 4 GPIO == | ||
< | < | ||
- | DEVICE=RPI4 | + | DEVICE=RPI # AUTO-DETECT |
SLEEP=1 | SLEEP=1 | ||
BITRULES=0x1000 | BITRULES=0x1000 | ||
Line 701: | Line 734: | ||
</ | </ | ||
- | == Velleman K8048 TTY == | + | < |
+ | == POSIX Serial bit-bang | ||
+ | |||
+ | Velleman K8048 | ||
< | < | ||
Line 810: | Line 846: | ||
| | ||
Linux AllWinner Banana Pi (A20) and Orange Pi (H2+/H3) GPIO. | Linux AllWinner Banana Pi (A20) and Orange Pi (H2+/H3) GPIO. | ||
- | | ||
- | Linux GPIO bit-bang version 1.3. | ||
| | ||
Linux CP2104 GPIO. | Linux CP2104 GPIO. | ||
FTDI | FTDI | ||
Linux FTDI USB bit-bang. | Linux FTDI USB bit-bang. | ||
+ | | ||
+ | Linux GPIO bit-bang version 1.3. | ||
| | ||
Linux MCP2221 GPIO. | Linux MCP2221 GPIO. | ||
Line 856: | Line 892: | ||
VERSION: | VERSION: | ||
- | 5.0 | + | 5.01 |
</ | </ | ||
Line 1370: | Line 1406: | ||
ptest VPP|PGC|PGD|PGM 5 | ptest VPP|PGC|PGD|PGM 5 | ||
VPP, PGC, PGD or PGM LOW-> | VPP, PGC, PGD or PGM LOW-> | ||
- | | + | |
PGD input test with 10 iterations of 1 second per step. | PGD input test with 10 iterations of 1 second per step. | ||
- | | + | |
D-SUB-9 test with 10 seconds per step. | D-SUB-9 test with 10 seconds per step. | ||
- | | + | |
ICSP test with 10 seconds per step. | ICSP test with 10 seconds per step. | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | ptest 3 100 | + | |
- | D-SUB-9 RTS 7 (PGC) DTR 4 (PGD) test with 100 microseconds | + | |
- | | + | |
- | | + | ICSPIO test with 100us clock mark time. |
- | | + | |
- | ICSPIO test with 100 microseconds | + | |
- | | + | |
RPI GPIO test with 10 seconds mark time. | RPI GPIO test with 10 seconds mark time. | ||
+ | ptest ALLWINNER 10 | ||
+ | BPI/OPI GPIO test with 10 seconds mark time. | ||
VERSION: | VERSION: | ||
- | 5.0 | + | 5.01 |
</ | </ | ||
Line 1429: | Line 1465: | ||
== PIC16F627 debug assembly test mode == | == PIC16F627 debug assembly test mode == | ||
< | < | ||
- | ptest 4 100 | + | ptest 16f627 |
- | TEST MODE 4 [16F627 debug.asm] CTRL-C TO STOP | + | TEST 16F627 debug.asm |
io_test4: read byte: 02 . | io_test4: read byte: 02 . |