Skip to content

Commit b435cf7

Browse files
committed
Release version 0.4.0.
Finally polished up documentation a bit.
1 parent 19946be commit b435cf7

8 files changed

Lines changed: 1363 additions & 89 deletions

File tree

README.md

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@
33
microcontrollers.
44

55
The function is the same as `avrdude`, i.e. to provide a way to flash a compiled
6-
.hex file onto a microcontroller. The typical development stack involving
7-
picchick looks like:
8-
9-
> Developing (nano) > Compiling (xc8-cc) > Flashing (picchick)
10-
6+
.hex file onto a microcontroller.
117

128
The latest documentation is available in the `docs/` folder, or hosted online
139
at [rex.mckinnon.ninja/picchick](https://rex.mckinnon.ninja/picchick)
@@ -26,6 +22,7 @@ at [rex.mckinnon.ninja/picchick](https://rex.mckinnon.ninja/picchick)
2622
`picchick` can be installed using pip:
2723
```sh
2824
$ pip install picchick
25+
$ picchick -h
2926
```
3027

3128
### From Source
@@ -59,12 +56,13 @@ usage: picchick [-d <mcu>] [-c <programmer>] [-r <addr> [len] | -w <addr> <word>
5956
A utility for programming and debugging microcontrollers.
6057

6158
positional arguments:
62-
hexfile path to a hexfile
59+
hexfile path to a hexfile
6360

6461
options:
65-
-c programmer type of programmer
66-
-d mcu, --device mcu device to be programmed
67-
-h, --help print this message and exit
62+
-c programmer type of programmer
63+
-d mcu, --device mcu device to be programmed
64+
--version print version number and exit
65+
-h, --help print this message and exit
6866

6967
actions:
7068
-r, --read addr [len] read bytes from specified address
@@ -76,14 +74,6 @@ actions:
7674
--list-ports list available serial ports
7775
```
7876
79-
### Examples
80-
The typical command to erase then flash a hexfile onto a device looks like:
81-
```sh
82-
$ picchick -d <mcu> -c <programmer> -P <port> -B <baud> [--erase] [--verify] -f <hexfile>
83-
# e.g. Flash blink.hex to a pic16lf19197 using a picstick
84-
$ picchick -c picstick -d 16lf19197 -P /dev/ttyACM0 -B 115200 --erase -f blink.hex
85-
```
86-
8777
8878
## Resources
8979

docs/picchick.1

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
'\" t
2+
.\" Title: picchick
3+
.\" Author: [see the "AUTHOR(S)" section]
4+
.\" Generator: Asciidoctor 2.0.17
5+
.\" Date: 2022-10-29
6+
.\" Manual: Picchick Manual
7+
.\" Source: picchick v0.4.0
8+
.\" Language: English
9+
.\"
10+
.TH "PICCHICK" "1" "2022-10-29" "picchick v0.4.0" "Picchick Manual"
11+
.ie \n(.g .ds Aq \(aq
12+
.el .ds Aq '
13+
.ss \n[.ss] 0
14+
.nh
15+
.ad l
16+
.de URL
17+
\fI\\$2\fP <\\$1>\\$3
18+
..
19+
.als MTO URL
20+
.if \n[.g] \{\
21+
. mso www.tmac
22+
. am URL
23+
. ad l
24+
. .
25+
. am MTO
26+
. ad l
27+
. .
28+
. LINKSTYLE blue R < >
29+
.\}
30+
.SH "NAME"
31+
picchick \- A utility for programming and debugging microcontrollers.
32+
.SH "SYNOPSIS"
33+
.sp
34+
\fBpicchick [\-d <mcu>] [\-c <programmer>] [\-r <addr> [len] | \-w <addr> <word> | \-f] [\-e [addr]] [\-v] [hexfile]\fP
35+
.br
36+
\fBpicchick [\-d <mcu>] \-\-map <hexfile>\fP
37+
.br
38+
\fBpicchick \-\-list\-devices\fP
39+
.sp
40+
\fBpicchick [\-c <programmer>] \-h/\-\-help\fP
41+
.SH "OPTIONS"
42+
.sp
43+
picchick accepts some common configuration options that dictate how to go about
44+
performing the action. Other options provide information about picchick itself.
45+
The programmer flag is required for all actions that involve a programmer.
46+
The device flag is required for all actions that involve a device.
47+
.sp
48+
\fB\-c <programmer>\fP
49+
.RS 4
50+
The name of the programmer to use. Different programmers
51+
require different options, see the programmer\(cqs options with
52+
\f(CRpicchick \-c <programmer> \-h\fP.
53+
.RE
54+
.sp
55+
\fB\-d, \-\-device <mcu>\fP
56+
.RS 4
57+
The device being programmed. The \fImcu\fP argument is either
58+
a chip part number, or a path to a custom device file.
59+
.RE
60+
.sp
61+
\fB\-\-version\fP
62+
.RS 4
63+
Print the version number and exit.
64+
.RE
65+
.sp
66+
\fB\-h, \-\-help\fP
67+
.RS 4
68+
Print usage information and a short help message. Can be
69+
combined with \f(CR\-c\fP to get help about a specific programmer.
70+
.RE
71+
.SH "ACTIONS"
72+
.sp
73+
At least one action is required, else picchick would have nothing to do! Some
74+
actions cannot be used together, i.e. you cannot flash and write in the same
75+
command. Other actions can be chained, for instance you can erase a device,
76+
flash a hexfile, then verify the memory in one command.
77+
.sp
78+
\fB\-r, \-\-read <addr> [len]\fP
79+
.RS 4
80+
Read \fIlength\fP words starting from \fIaddr\fP. Length
81+
defaults to 2 if omitted.
82+
.RE
83+
.sp
84+
\fB\-w, \-\-write <addr> <word>\fP
85+
.RS 4
86+
Write \fIword\fP to \fIaddress\fP.
87+
.RE
88+
.sp
89+
\fB\-f, \-\-flash\fP
90+
.RS 4
91+
Flash \fIhexfile\fP to device.
92+
.RE
93+
.sp
94+
\fB\-e, \-\-erase [addr]\fP
95+
.RS 4
96+
Erase \fIaddr\fP. Address can be a hex number, \*(Aqall\*(Aq or \*(Aqflash\*(Aq.
97+
.RE
98+
.sp
99+
\fB\-v, \-\-verify\fP
100+
.RS 4
101+
Verify written data. This can be used with either the write or
102+
flash actions, or by itself to verify against a hexfile.
103+
.RE
104+
.sp
105+
\fB\-\-map\fP
106+
.RS 4
107+
Pretty print \fIhexfile\fP, mapped to \fIdevice\fP if the \f(CR\-d\fP flag is given.
108+
.RE
109+
.sp
110+
\fB\-\-list\-ports\fP
111+
.RS 4
112+
List available serial ports.
113+
.RE
114+
.SH "PROGRAMMERS"
115+
.SS "picstick"
116+
.sp
117+
picstick is used for PIC16F1 devices that implement the low\-voltage ICSP
118+
interface.
119+
.SS "flipflop"
120+
.sp
121+
flipflop is a bootloader that runs on PIC16F1 devices with an EUSART.
122+
.SH "RESOURCES"
123+
.sp
124+
\fBGithub:\fP \c
125+
.URL "https://github.com/Rex\-\-/picchick" "" ""
126+
.sp
127+
\fBDocumentation:\fP \c
128+
.URL "https://rex.mckinnon.ninja/picchick" "" ""
129+
.SH "COPYING"
130+
.sp
131+
Copyright \(co 2022 Rex McKinnon
132+
.br
133+
This software is released under the University of Illinois/NCSA
134+
Open Source License. Check the LICENSE file for more details.

0 commit comments

Comments
 (0)