Stefan Rueger
ded200cae9
Add string upper/lowercase conversions to str_util.c
2023-05-20 21:35:58 +01:00
Stefan Rueger
0f6037a0fa
Update avrintel.[ch] with configuration information
...
... whilst moving functions that locate a part in uP_table[] from
urclock.c to avrintel.c
2023-05-20 21:33:17 +01:00
Stefan Rueger
781595fe68
Fix some initial values of fuses/lock bits
2023-05-20 21:29:31 +01:00
Stefan Rueger
07bda5e913
Update NEWS
2023-05-20 21:16:12 +01:00
Stefan Rueger
9e9eb56cfd
Merge pull request #1360 from stefanrueger/atxmega-A4U
...
Add fuse0 to ATxmega128A4U/64A4U/32A4U/16A4U
2023-05-20 20:45:22 +01:00
Stefan Rueger
dffeb4cf21
Merge pull request #1358 from stefanrueger/strutil
...
Extend <data> notion to files in terminal write
2023-05-20 20:44:07 +01:00
Stefan Rueger
d160b17f4c
Mention XMEGA B also have fuse0
2023-05-20 12:53:01 +01:00
Stefan Rueger
34421a1da7
Add fuse0 to ATxmega128A4U/64A4U/32A4U/16A4U
...
See page 29 of Atmel's 8077I–AVR–11/2012 XMEGA A MANUAL
https://ww1.microchip.com/downloads/en/DeviceDoc/doc8077.pdf
2023-05-20 01:17:28 +01:00
Stefan Rueger
234aebd1dd
Document reading from file with format :b, :o, :d and :h
2023-05-19 20:27:15 +01:00
Stefan Rueger
3815079c91
Auto detect :b, :o, :d and :h file formats
2023-05-19 20:18:53 +01:00
Stefan Rueger
1e07529b9b
Document 0b binary integers and files for terminal write command
2023-05-19 17:51:23 +01:00
Stefan Rueger
e3ceb5e891
Update documentation of memory types for modern AVR parts
2023-05-19 16:12:27 +01:00
Stefan Rueger
5a8c051a22
Move file format conversions into one place
2023-05-19 15:28:56 +01:00
Stefan Rueger
8683476417
Enable :b :o :d and :h mode to be read from file
...
In fact not only lists of 0b-binary, octal, decimal and 0x-hex bytes can
be read, but also combinations of them, float numners and strings (just
like in terminal write). The immediate mode :m now can also read
terminal-type data (just be careful with preseving the quotes in the
shell through a double layer of quoting).
avrdude -U "eeprom:w:42.0,0b101010,42,0x2a,052,'*':m"
2023-05-18 18:06:12 +01:00
Stefan Rueger
d9e20708c1
Fix error in -U parsing
2023-05-18 00:22:05 +01:00
Stefan Rueger
fdedba8485
Simplify -U parsing so that more filenames with colons pass
2023-05-17 23:36:06 +01:00
Stefan Rueger
f119c0c29d
Silence overzealous compiler warnings
2023-05-17 23:35:29 +01:00
Stefan Rueger
c4f48c94fe
Spell out function of varef terminal command
2023-05-17 01:26:35 +01:00
Stefan Rueger
6111dc12d8
Note the file format instead of repeated pathname in terminal write errors
2023-05-17 01:16:47 +01:00
Stefan Rueger
62023e2a3b
Review and update terminal help messages
2023-05-16 21:43:45 +01:00
Stefan Rueger
5cf5924f6c
Update and shorten terminal help messages
2023-05-15 18:24:50 +01:00
Stefan Rueger
464d18729e
Allow successive terminal commands in one line separated by ;
...
This makes it easier to pass multi-line commands from a single bash line:
$ echo "d ee 0 16; d ee -16 -1" | avrdude -qqt
avrdude> d ee 0 16; d ee -16 -1
0000 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 00 ff ff |Hello, world!...|
03f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
2023-05-15 17:52:18 +01:00
Stefan Rueger
e7fb2e2b34
Allow inline # comments for terminal commands
2023-05-15 17:09:10 +01:00
Stefan Rueger
a1bbbe904c
Simplify tokenize()
2023-05-15 17:05:08 +01:00
Stefan Rueger
a40b9db5a4
Rewrite nexttok() to allow escaped spaces in non-string arguments
...
Useful for file names
```
$ echo "Hello, world!" >'Q:\Projects\Eurovision Song Contest\light show.eep'
$ avrdude -qqt
avrdude> erase eeprom 0 16
avrdude> # Escape spaces in filenames with a backslash:
avrdude> write eeprom Q:\Projects\Eurovision\ Song\ Contest\light\ show.eep:r
avrdude> dump eeprom 0 16
0000 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 0a ff ff |Hello, world! ..|
```
2023-05-15 16:49:08 +01:00
Stefan Rueger
88d4d712df
Extend <data> notion in terminal write to files
...
$ echo "The quick brown fox jumps over the lazy dog" >fox
$ avrdude -qqt
avrdude> w
Usage: write <memory> <addr> <data>[,] {<data>[,]}
write <memory> <addr> <len> <data>[,] {<data>[,]} ...
write <memory> <datum> # only for 1-byte memories
write <memory> <file> # only for memories with more than 1 byte
Ellipsis ... writes <len> bytes padded by repeating the last <data> item.
Both the <addr> and <len> can be negative numbers; a negative <addr> starts
an interval from that many bytes below the memory size; a negative <len> ends
the interval at that many bytes below the memory size.
<data> can be binary, octal, decimal or hexadecimal integers, floating point
numbers or C-style strings and characters. If nothing matches, <data> will be
interpreted as a file name containing data. In absence of a :<f> format
suffix, the terminal will try to auto-detect the file format.
[...]
avrdude> write eeprom 0 80 0xff ...
avrdude> write eeprom fox
avrdude error: (write) data fox: cannot determine format for file fox, specify explicitly
avrdude> write eeprom fox:r
avrdude> read eeprom 0 80
0000 54 68 65 20 71 75 69 63 6b 20 62 72 6f 77 6e 20 |The quick brown |
0010 66 6f 78 20 6a 75 6d 70 73 20 6f 76 65 72 20 74 |fox jumps over t|
0020 68 65 20 6c 61 7a 79 20 64 6f 67 0a ff ff ff ff |he lazy dog ....|
0030 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
0040 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
avrdude> write eeprom 0b10000 fox:r
avrdude> read eeprom 0 80
0000 54 68 65 20 71 75 69 63 6b 20 62 72 6f 77 6e 20 |The quick brown |
0010 54 68 65 20 71 75 69 63 6b 20 62 72 6f 77 6e 20 |The quick brown |
0020 66 6f 78 20 6a 75 6d 70 73 20 6f 76 65 72 20 74 |fox jumps over t|
0030 68 65 20 6c 61 7a 79 20 64 6f 67 0a ff ff ff ff |he lazy dog ....|
0040 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
avrdude> write eeprom 0 80 0xff ...
avrdude> write eeprom 0 "Hello, world" 1 2 3 fox:r
avrdude> read eeprom 0 80
0000 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 00 01 02 03 |Hello, world....|
0010 54 68 65 20 71 75 69 63 6b 20 62 72 6f 77 6e 20 |The quick brown |
0020 66 6f 78 20 6a 75 6d 70 73 20 6f 76 65 72 20 74 |fox jumps over t|
0030 68 65 20 6c 61 7a 79 20 64 6f 67 0a ff ff ff ff |he lazy dog ....|
0040 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
avrdude> write eeprom 0 77 "Hello, world" 1 2 3 fox:r ...
avrdude> read eeprom 0 80
0000 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 00 01 02 03 |Hello, world....|
0010 54 68 65 20 71 75 69 63 6b 20 62 72 6f 77 6e 20 |The quick brown |
0020 66 6f 78 20 6a 75 6d 70 73 20 6f 76 65 72 20 74 |fox jumps over t|
0030 68 65 20 6c 61 7a 79 20 64 6f 67 0a 54 68 65 20 |he lazy dog The |
0040 71 75 69 63 6b 20 62 72 6f 77 6e 20 66 ff ff ff |quick brown f...|
2023-05-14 20:12:32 +01:00
Stefan Rueger
4b62480e85
Use str_int() for main option parsing
2023-05-14 13:46:01 +01:00
Stefan Rueger
21521c23c6
Use str_int() for reset pin in linuxspi port string
2023-05-14 13:33:18 +01:00
Stefan Rueger
1edc42cf3e
Use str_int() for general urclock option parsing
2023-05-14 13:24:45 +01:00
Stefan Rueger
1520422639
Use str_int() for urclockID parsing
2023-05-14 13:19:28 +01:00
Stefan Rueger
cf963702d4
Fix big endian treatment
2023-05-14 12:58:11 +01:00
Stefan Rueger
4eee8ab7be
Add default_bitclock to avrdude -c*/s -p*/s output
2023-05-14 02:55:09 +01:00
Stefan Rueger
a7ae555f71
Use str_int() for avrdude.conf integers
2023-05-14 02:54:50 +01:00
Stefan Rueger
9628a820c8
Use str_int() for <data> in -U <mem>:w:<data>:m immediate updates
2023-05-14 01:11:41 +01:00
Stefan Rueger
5603bef0d7
Use str_int() for avrdude.conf address bit number aN
2023-05-14 00:54:21 +01:00
Stefan Rueger
9dc08857a8
Change error message for missing data on terminal write
2023-05-14 00:37:12 +01:00
Stefan Rueger
96fea11257
Use str_int() in terminal read
2023-05-13 23:29:33 +01:00
Stefan Rueger
7589246a40
Use str_int() in terminal write
2023-05-13 23:28:34 +01:00
Stefan Rueger
1091f1d421
Use str_int() in terminal send
2023-05-13 23:27:28 +01:00
Stefan Rueger
efbc69aaf8
Use str_int() in terminal pgerase
2023-05-13 23:25:55 +01:00
Stefan Rueger
fb42518f6b
Use str_int() in terminal varef
2023-05-13 23:24:25 +01:00
Stefan Rueger
6accc3baae
Use str_int in terminal verbose
2023-05-13 23:22:24 +01:00
Stefan Rueger
5acf5c6aaf
Use str_int() in terminal quell
2023-05-13 23:21:11 +01:00
Stefan Rueger
63f818f53f
Hide Easter egg
2023-05-13 23:16:21 +01:00
Stefan Rueger
e3bc41a5cd
Add str_int() conversion that conforms to avrdude terminal syntax
...
This has a similar but slightly different calling interface to strtoull()
and conforms to the way that terminal write interprets data items, ie,
recognises binary numbers as well as optional size suffixes LL/L/S/H/HH,
optional unsigned U suffix. It also takes C character constants, eg, '\n',
as numbers and ignores an optional trailing comma. Usage example:
#include "libavrdude.h"
const char *errptr;
int addr = str_int(string, STR_INT32, &errptr);
if(errptr) {
pmsg_error("address %s: %s\n", string, errptr);
return -1;
}
2023-05-13 23:10:15 +01:00
Stefan Rueger
bb95a83277
Add str_todata() and use it for terminal write data items
...
This makes available as a function the way that terminal write interprets
write data and converts them into bits and bytes. Also adds binary numbers
using the 0b prefix.
2023-05-13 13:09:26 +01:00
Stefan Rueger
e6a2f3c058
Update NEWS
2023-05-04 19:26:07 +01:00
Stefan Rueger
9c41c23923
Merge pull request #1357 from stefanrueger/metadata
...
Progressively shrink metadata for -c urclock
2023-05-04 19:21:00 +01:00
Stefan Rueger
b812d9e087
Merge pull request #1351 from stefanrueger/option-n
...
Document -n behaviour wrt -U and terminal
2023-05-04 19:20:08 +01:00
drmpjz
b8344734d1
Add option -f to build.sh ( #1342 )
2023-05-04 19:18:17 +01:00