-
Notifications
You must be signed in to change notification settings - Fork 12
/
ChangeLog
2132 lines (1537 loc) · 71 KB
/
ChangeLog
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2021-08-23 Joerg Wunsch <[email protected]>
Submitted by Joris Putcuyps:
patch #40 Remove old style exception throw specifier
(bug #34 AVaRICE 2.14 won't compile on Arch Linux)
* src/jtag2.h: (Dito.)
* src/jtag2io.cc: (Dito.)
* src/jtag3.h: (Dito.)
* src/jtag3io.cc: (Dito.)
2020-09-17 Joerg Wunsch <[email protected]>
patch #39 Compilation error in jtag3io.cc: (avarice 2.14)
* src/jtag2usb.cc: replace __unused by __attribute__((unused))
* src/jtag3io.cc: (Dito.)
* src/jtag3prog.cc: (Dito.)
2020-09-05 Joerg Wunsch <[email protected]>
* configure.ac: Bump release number to post-2.14
2020-09-05 Joerg Wunsch <[email protected]>
* configure.ac: Bump release number to 2.14
2020-08-31 Joerg Wunsch <[email protected]>
bug #22 Unknown device is not clearly named
* src/avarice.h: Declare unknownDevice()
* src/utils.cc (unknownDevice): New function
* src/jtagio.cc (jtag1::deviceAutoConfig): Use unknownDevice()
* src/jtag2io.cc (jtag2::deviceAutoConfig): Use unknownDevice()
* src/jtag3io.cc (jtag3::deviceAutoConfig): Use unknownDevice()
2020-08-31 Joerg Wunsch <[email protected]>
Submitted by Ryan Schmidt:
bug #25 error: use of undeclared identifier 'bfd_get_section_name'
* src/jtagprog.cc: Supply fallbacks for deprecated bfd functions
* src/jtag2prog.cc: (Dito.)
2020-08-31 Joerg Wunsch <[email protected]>
Submitted by Jack Bradach:
bug #21 Deprecated feature used as example of Avarice use
* src/main.cc (usage): update example usage
2020-08-31 Joerg Wunsch <[email protected]>
* src/jtag2prog.cc: Silence warnings
* src/jtag2usb.cc: Silence warnings
* src/jtag3io.cc: Silence warnings
* src/jtag3prog.cc: Silence warnings
* src/jtag3run.cc: Silence warnings
* src/jtagprog.cc: Silence warnings
2020-08-31 Joerg Wunsch <[email protected]>
Submitted by MJH:
patch #26 Fix build error if ENABLE_TARGET_PROGRAMMING is on
* src/jtag2prog.cc: Include "autoconf.h"
* src/jtagprog.cc: (Dito.)
2020-08-31 Joerg Wunsch <[email protected]>
Submitted by Christian Kastner:
patch #30 Man page fixes
patch #31 Spelling fixes
patch #32 Man pages for start-avarice
patch #33 Man page for kill-avarice
* doc/avarice.1: Minor fixes
* doc/ice-gdb.1: (Dito.)
* doc/start-avarice.1: (New file)
* doc/kill-avarice.1: (New file)
* src/jtag2misc.cc: Spelling ("paramater" => "parameter")
* src/jtag3misc.cc: (Dito.)
* doc/Makefile.am (man_MANS): Add new man pages
2020-08-30 Joerg Wunsch <[email protected]>
Submitted by Mark Rages and nichtleiter:
patch #25 adds atxmega32e5
patch #37 Add support for atxmega8e5
* src/devdescr.cc (ATxmega8E5, ATxmega32E5) New entries
2020-08-30 Joerg Wunsch <[email protected]>
* src/jtag.h: Fix inconsistent naming between struct
and class jtag
2020-08-30 Joerg Wunsch <[email protected]>
Submitted by Uwe Frank:
patch #38 Patch to support XMEGA64A3
* src/devdescr.cc (ATxmega64A3): New entry
2020-08-29 Joerg Wunsch <[email protected]>
Submitted by Tobias Frost:
patch #35 configure.ac overwrites variable if both ...
* configure.ac: Avoid clobbering AM_CPPFLAGS
2018-10-15 Joerg Wunsch <[email protected]>
Submitted by Fabian Blaese:
* src/devdescr.cc (ATmega48P, ATmega88P, ATmega168P,
ATmega328P, ATtiny24, ATtiny44, ATtiny84): add addresses for
IDR and SPMCR so software breakpoints will work
2018-10-15 Joerg Wunsch <[email protected]>
* doc/avarice.1: Update to match reality
2016-04-18 Joerg Wunsch <[email protected]>
* src/jtag2usb.cc (openhid): Correctly calculate the part
of the (HID) serial number to compare with
2016-03-03 Joerg Wunsch <[email protected]>
* src/jtag2prog.cc (jtag2::eraseProgramMemory): bail out if
running on debugWIRE
* src/jtag3prog.cc (jtag3::eraseProgramMemory): (Dito.)
2016-03-03 Joerg Wunsch <[email protected]>
* src/jtag2rw.cc(jtag2::jtagWrite): omit chip erase when
operating on debugWIRE
* src/jtag3rw.cc(jtag3::jtagWrite): (Dito.)
2016-03-03 Joerg Wunsch <[email protected]>
* src/jtag3.h: Mark jtag3::doSimpleJtagCommand() as throwing
exceptions
* src/jtag3rw.cc: (Dito.)
2016-03-02 Joerg Wunsch <[email protected]>
* src/jtag2usb.cc (hid_thread): Support packet fragmentation and
assembly (for mEDBG).
2016-03-01 Joerg Wunsch <[email protected]>
* src/jtag2usb.cc: Determine max. transfer size from DAP_Info
response
2016-02-29 Joerg Wunsch <[email protected]>
* configure.ac: Bump version date after merging jwunsch_edbg
branch back into trunk
2016-02-29 Joerg Wunsch <[email protected]>
* src/main.cc: Improve explanation of -4 option, default EDBG to
USB, and set debug output to line buffered mode
* src/jtag2usb.cc: Fix packet size when passing event upstream
2016-02-26 Joerg Wunsch <[email protected]>
* src/jtag2usb.cc: Implement libhidapi support for EDBG-based ICEs
2016-02-22 Joerg Wunsch <[email protected]>
* configure.ac: Add hooks for libhidapi
2015-06-24 Joerg Wunsch <[email protected]>
Submitted by Uwe Frank <[email protected]>
* src/devdescr.cc (ATxmega192A3): New entry
* doc/avarice.1: Document the new entry.
2015-05-18 Joerg Wunsch <[email protected]>
Submitted by Tobias Frost <[email protected]>:
Bug #34 Fix compilation with GCC 5
* src/pragma.h: Fix pragmas for GCC > 4
2014-12-10 Joerg Wunsch <[email protected]>
* configure.ac: Bump version date.
2014-10-13 Joerg Wunsch <[email protected]>
* src/remote.cc (monitor): implement a "mon reset" command.
2014-09-19 Joerg Wunsch <[email protected]>
* tools/edbg.lua: New file.
2013-06-29 Joerg Wunsch <[email protected]>
* src/jtag3bp.cc (jtag3::updateBreakpoints): don't accidentally
truncate code breakpoints to 64 KiB
2013-04-24 Joerg Wunsch <[email protected]>
* src/jtag2rw.cc (jtagRead, jtagWrite): Handle Xmega page sizes of
more than 256 bytes which need to be split into multiple transfers
on the JTAGICEmkII.
2013-04-16 Joerg Wunsch <[email protected]>
* src/remote.cc (talkToGdb): When returning a memory map to GDB,
treat the possible EEPROM range just like normal RAM, so GDB
won't refuse to load it.
2013-03-19 Joerg Wunsch <[email protected]>
* src/devdescr.cc (ATmega256RFR2, ATmega2564RFR2, ATmega128RFR2,
ATmega1284RFR2, ATmega64RFR2, ATmega644RFR2):
New devices
* src/ioreg.cc (atmega256rfr2_io_registers): New entry, used for
all of the ATmega*RFR2 devices.
* src/ioreg.h: (Dito.)
2013-02-08 Joerg Wunsch <[email protected]>
* src/jtag2usb.cc: Turn the write operation of the packet length
and the packet itself into an atomic one when writing to the
upstream pipe, in order to avoid a race condition when handling
JTAGICE3 event messages.
2013-01-11 Joerg Wunsch <[email protected]>
* src/jtag3run.cc (jtag3::getProgramCounter): Add some ugly hack
to work around problems single-stepping a SLEEP instruction
* src/jtag3rw.cc (jtag3::jtagRead): (Dito.)
2013-01-11 Joerg Wunsch <[email protected]>
* src/jtag3io.cc (jtag3::setDeviceDescriptor): avoid an overly
aggressive compiler optimization on a parameter struct d3
2013-01-11 Joerg Wunsch <[email protected]>
* src/jtag2rw.cc (jtag2::jtagRead): delete response before throwing
out
* src/jtag3rw.cc (jtag3::jtagRead): (Dito.)
2013-01-10 Joerg Wunsch <[email protected]>
* src/jtagrw.cc (jtag1::jtagRead): When attempting to read more than
256 bytes, throw an exception rather than returning a nonsensical
value.
* src/jtag3io.cc (jtag3::startJtagLink): Fix an off-by-one error
when preparing the AVR sign-on command.
* src/jtag2usb.cc (opendev): fix devnamecopy deletion.
2013-01-09 Joerg Wunsch <[email protected]>
* src/jtag3io.cc (initJtagOnChipDebugging): reenable CMD3_START_DEBUG
for Xmega (even over JTAG)
2013-01-09 Joerg Wunsch <[email protected]>
* doc/avarice.1: Document the JTAGICE3 support.
* src/main.cc (usage): (Dito.)
2013-01-09 Joerg Wunsch <[email protected]>
* src/main.cc (makeSocket): Be a little more verbose if bind()
failed with EADDRINUSE.
2013-01-08 Joerg Wunsch <[email protected]>
* src/jtaggeneric.cc: Remove enableProgramming()/disableProgramming()
calls in fuse handling; the respective backend jtagRead()/jtagWrite()
functions are in charge of deciding whether they need a programming
mode or not
* src/jtag3io.cc: fix device ID recognition when operating on
debugWIRE targets; activate the #ifdef'ed out jtagActivateOcdenFuse
call; only call CMD3_START_DEBUG for debugWIRE; at the end of
initialization, attempt resetProgram() a second time if the first
time failed (appears to be needed after just activating the OCDEN
fuse)
2013-01-08 Joerg Wunsch <[email protected]>
* src/jtag3rw.cc(jtag3::jtagWrite): fix off-by-one error that lead
to writing wrong data
* src/remote.cc: Implement GDB 7+ flash write protocol
2013-01-07 Joerg Wunsch <[email protected]>
* src/remote.cc: Implement the "monitor" GDB command.
2013-01-07 Joerg Wunsch <[email protected]>
* src/jtag.h (struct breakpoint2): Introduce the has_mask flag.
* src/jtaggeneric.cc: Fix the logic to commit data mask breakpoints
to the ICE.
2013-01-07 Joerg Wunsch <[email protected]>
* src/jtag2io.cc: Centralize addBreakpoint(), deleteBreakpoint(),
and layoutBreakpoints() as they are common between the JTAGICE mkII
and JTAGICE3.
* src/jtag2.h: (Dito.)
* src/jtag3.h: (Dito.)
* src/jtag.h: (Dito.)
* src/jtag2bp.cc: (Dito.)
* src/jtag3io.cc: (Dito.)
* src/jtaggeneric.cc: (Dito.)
* src/jtag3bp.cc: (Dito.)
2013-01-07 Joerg Wunsch <[email protected]>
* jtag.h: Remove codeBreakpointBetween() and stopAt() methods
* jtag1.h: (Dito.)
* jtag2.h: (Dito.)
* jtag3.h: (Dito.)
* jtagbp.cc: (Dito.)
* jtagio.cc: (Dito.)
* jtag2bp.cc: (Dito.)
* jtag2io.cc: (Dito.)
* jtag3bp.cc: (Dito.)
* jtag3io.cc: (Dito.)
2013-01-04 Joerg Wunsch <[email protected]>
* configure.ac (AC_INIT): Bump version.
2013-01-04 Joerg Wunsch <[email protected]>
Bring in the initial JTAGICE3 support. Not quite everything is
working, but it's good enough for a start.
* src/jtag.h: Add parameter structure for ICE3.
* src/jtag2.h: Move enum debugproto and class jtag_io_exception
out into jtag.h as the ICE3 also uses them.
* src/main.cc: Add the -3/--jtag3 option, and handle jtag3 object
instanciation
* src/devdescr.cc: Add osccal and ocdrev fields to each record.
* src/jtaggeneric.cc: extend default contructor.
* src/Makefile.am: Add new files to infrastructure.
* configure.ac: Swap check for pthread and C++ compiler, so the
CXXFLAGS get set correctly (-g -O2).
* src/jtag3prog.cc: New file.
* src/jtag3.h: (Dito.)
* src/jtag3misc.cc: (Dito.)
* src/jtag3run.cc: (Dito.)
* src/jtag3io.cc: (Dito.)
* src/jtag2usb.cc: (Dito.)
* src/jtag3rw.cc: (Dito.)
* src/jtag3bp.cc: (Dito.)
* tools/pdml.xsl: Add timestamp to output.
2013-01-01 Joerg Wunsch <[email protected]>
* src/jtagrw.cc (jtag1::jtagRead): throw a jtag_exception
rather than returning a NULL pointer if the ICE's response
is not JTAG_R_OK.
2012-12-27 Joerg Wunsch <[email protected]>
* configure.ac: Add hooks to detect libusb20 API (on FreeBSD)
* src/jtag2usb.cc: Use libusb20 API if present; the libusb-0.1
emulation that sits on top of it in FreeBSD 8+ doesn't allow for
the kind of multithreading used here.
2012-12-16 Joerg Wunsch <[email protected]>
Submitted by Martin Cerveny:
Bug #15 usblib timeouts does not work correctly on solaris platforms
* src/jtag2usb.cc: Rewrite the USB daemon into Posix threads.
* src/jtag2io.cc: (Dito.)
* src/jtag.h: (Dito.)
* src/jtag2run.cc: (Dito.)
* src/jtaggeneric.cc: (Dito.)
* m4_ax_pthread.m4: New file (pthread glue)
* configure.ac: Include pthread detection.
2012-12-16 Joerg Wunsch <[email protected]>
* src/jtag2io.cc (jtag2_io_exception::jtag2_io_exception):
Fix a typo.
2012-12-06 Joerg Wunsch <[email protected]>
* src/jtag2usb.cc (usb_daemon): Restructure the receiver
logic so it no longer depends on the JTAGICEmkII message
length indication.
2012-11-20 Joerg Wunsch <[email protected]>
* tools/ocdrev.xsl: Extract OCD_REVISION out of Atmel Studio
6.x XML device files
2012-11-15 Joerg Wunsch <[email protected]>
* tools/pdml.xsl: New XSLT stylesheet to analyze Wireshark
USB traces exported as PDML data
2012-11-05 Joerg Wunsch <[email protected]>
* configure.ac: Bump version for post-release 2.13
2012-11-05 Joerg Wunsch <[email protected]>
* configure.ac: Bump version for release 2.13
2012-11-05 Joerg Wunsch <[email protected]>
Contributed by Martin Cerveny (patch #3495107):
Add IO register info for a large number of mega and tiny AVRs
* src/devdescr.cc: add pointers to IO register definitions
* src/ioreg.h: add declarations for the IO register definitions,
extend "reg_addr" to "unsigned int" to accomodate space for the
IO registers in newer AVRs
* src/ioreg.cc: add new IO register definitions
2012-11-05 Joerg Wunsch <[email protected]>
Contributed by Chris Thunes (patch #3497114):
* src/jtag2prog.cc (jtag2::eraseProgramMemory): Use
CMND_XMEGA_ERASE to erase Xmega program memory
* src/jtag_defs.h: add CMND_XMEGA_ERASE
* src/jtag.h: (Dito)
2012-11-05 Joerg Wunsch <[email protected]>
Contributed by Chris Thunes (patch #3497114):
* src/jtag2rw.cc (jtag2::memorySpace): Return the correct
memory type for Xmega write operations.
2012-11-05 Joerg Wunsch <[email protected]>
Contributed by Mihai Hagianu (patch #3496094): add ATxmega128A3
Contributed by Chris Thunes (patch #3497114): add ATxmega32A4
* src/devdescr.cc (ATxmega32A4, ATxmega128A3): new entries
* doc/avarice.1: Document new devices.
2012-11-02 Joerg Wunsch <[email protected]>
* configure.ac: In AC_LINK_IFELSE, use AC_LANG_SOURCE for the
source code to be compiled, in order to silence a warning.
Bump version to svn20121102.
2012-11-02 Joerg Wunsch <[email protected]>
Deprecate target ELF file programming (downloading).
* configure.ac: Implement the --enable-target-programming
configuration option; disabled by default. No longer require
the presence and usability of libbfd if not configured for
the target programming feature.
* src/main.cc: Disable --file, --program, and --verify
unless ENABLE_TARGET_PROGRAMMING is in effect.
* src/jtag2prog.cc: Turn the downloadTarget method into a
dummy unless ENABLE_TARGET_PROGRAMMING is in effect; remove
all dependencies from bfd.h / libbfd otherwise.
* src/jtagprog.cc: (Dito.)
* doc/avarice.1: Document that --file, --program, and --verify
are deprecated, and no longer enabled by default
2012-11-02 Joerg Wunsch <[email protected]>
* tools/devdescr.xsl: update for recent changes of src/jtag.h:
generate fuses, and an empty Xmega device descriptor
2012-11-02 Joerg Wunsch <[email protected]>
* src/devdescr.cc: Added megaM1 and megaC1 device: ATmega16M1,
ATmega64M1, ATmega64C1
* doc/avarice.1: Document new devices.
2012-07-31 Canyon Bliss <[email protected]>
* doc/avarice.1: Updated list of devices.
* src/devdescr.cc: Added xmegaB devices: ATxmega128B1, ATxmega128B3,
ATxmega64B1, ATxmega64B3.
2012-01-18 Joerg Wunsch <[email protected]>
* configure.ac: Add a test whether libbfd requires libdl; fix
the broken (always positive) test for libz as well.
2011-12-15 Joerg Wunsch <[email protected]>
* doc/avarice.1: Drop the remark that software breakpoints were
currently not supported: they are.
2011-12-15 Joerg Wunsch <[email protected]>
* doc/avarice.1: Update list of devices.
2011-12-15 Joerg Wunsch <[email protected]>
* src/jtag2.h: Keep track of whether starting a debugging session
with the ICE actually succeeded, and only ever attempt to send a
CMND_RESTORE_TARGET in that case. Sending it without a debugWIRE
session succeeded (e.g. since the DWEN fuse wasn't active) might
screw up the ICE's firmware.
* src/jtag2io.cc: (Dito.)
2011-12-12 Joerg Wunsch <[email protected]>
(Merging branch /branches/jwunsch_except/avarice)
* src/jtag.h: Remove the restoreTarget parameter from the
resumeProgram() method again; target restoration upon GDB
disconnect is now being handled properly by catching the exception
thrown in that case, through the destruction of theJtagICE object.
* src/jtag1.h: (Dito.)
* src/jtag2.h: (Dito.)
* src/remote.cc: (Dito.)
* src/jtag2io.cc: (Dito.)
* src/jtag2run.cc: (Dito.)
* src/jtagrun.cc: (Dito.)
2011-12-12 Joerg Wunsch <[email protected]>
(Merging branch /branches/jwunsch_except/avarice)
* src/remote.cc: Rearrange the entire error handling to use
exceptions, rather than a mix between error code returns, and
prematurely exiting the program from deep inside, without any
attempt to cleanup the JTAG ICE connection status. Get rid of all
those scary check(), unixCheck() and jtagCheck() functions, catch
exceptions where it makes sense.
* src/remote.h: (Dito.)
* src/jtag2io.cc: (Dito.)
* src/jtagmisc.cc: (Dito.)
* src/jtag1.h: (Dito.)
* src/jtag2.h: (Dito.)
* src/avarice.h: (Dito.)
* src/jtagio.cc: (Dito.)
* src/jtag2rw.cc: (Dito.)
* src/main.cc: (Dito.)
* src/jtag.h: (Dito.)
* src/jtag2bp.cc: (Dito.)
* src/jtag2run.cc: (Dito.)
* src/jtagrw.cc: (Dito.)
* src/jtag2prog.cc: (Dito.)
* src/utils.cc: (Dito.)
* src/jtagbp.cc: (Dito.)
* src/jtagrun.cc: (Dito.)
* src/jtagprog.cc: (Dito.)
* src/jtag2usb.cc: (Dito.)
* src/jtaggeneric.cc: (Dito.)
* src/jtag2misc.cc: (Dito.)
2011-12-12 Joerg Wunsch <[email protected]>
* configure.ac: Bump version for post-release.
2011-12-12 Joerg Wunsch <[email protected]>
* configure.ac: Bump version for release 2.12.
2011-12-12 Joerg Wunsch <[email protected]>
* src/devdescr.cc (atxmega16d4): new entry
2011-12-09 Joerg Wunsch <[email protected]>
* src/jtag2io.cc (jtag2::startJtagLink): external reset is
only applicable to the JTAG protocol
2011-12-09 Joerg Wunsch <[email protected]>
* src/jtag2io.cc (jtag2::initJtagOnChipDebugging): ensure the
device went once through a programming-mode cycle, as at least
firmware 7.13 otherwise gets royally confused on Xmega devices.
2011-12-09 Joerg Wunsch <[email protected]>
* src/jtag2io.cc (jtag2::startJtagLink): set the signedIn flag
as soon as we succeeded with synchronizeAt() (which has sent
the sign-on message), so we properly say good-bye afterwards
2011-12-08 Joerg Wunsch <[email protected]>
* src/jtag2run.cc (jtag2::resetProgram): Fix a logic error
introduced in r259.
2011-12-07 Joerg Wunsch <[email protected]>
* src/jtag2usb.cc (opendev): Don't attempt to free(serno); it's
the result of strchr() rather than any kind of memory allocation
operation.
2011-12-05 Joerg Wunsch <[email protected]>
* src/jtag.h: Get rid of bogus fuse definition enum values
(would only match on some devices anyway); bump
MAX_FLASH_PAGE_SIZE and MAX_EEPROM_PAGE_SIZE for Xmega (though
that's currently not really usable).
2011-12-05 Joerg Wunsch <[email protected]>
* src/jtag.h: Get rid of the global variable global_p_device_def,
replacing it by public member deviceDef
* src/remote.cc: (Dito.)
* src/jtag2io.cc: (Dito.)
* src/jtagio.cc: (Dito.)
* src/jtag2rw.cc: (Dito.)
* src/jtag2bp.cc: (Dito.)
* src/devdescr.cc: (Dito.)
* src/jtaggeneric.cc: (Dito.)
2011-12-05 Joerg Wunsch <[email protected]>
Major overhaul of the fuse handling.
* src/jtag.h: add device config parameters `fusemap' and
`ocden_fuse'; add method jtagActivateOcdenFuse() to centralize the
OCDEN fuse activation
* src/devdescr.cc: add fusemap and ocden_fuse values
* src/jtaggeneric.cc: implement jtagActivateOcdenFuse(), restrict
jtagWriteFuses() to non-Xmega devices, make jtagDisplayFuses()
display Xmega fuses correctly
* src/jtagio.cc (initJtagOnChipDebugging): resort OCDEN activation
to jtagActivateOcdenFuse()
* src/jtag2io.cc (initJtagOnChipDebugging): (Dito.)
2011-12-05 Joerg Wunsch <[email protected]>
Implement PDI debugging for the JTAGICEmkII (and AVR Dragon) and
Xmega devices. This is basically the same as JTAG, except for the
different ICE initialization.
* src/jtag.h: add EMULATOR_MODE_PDI
* src/jtag2.h: add an enum debugproto
* src/jtag2io.cc: handle the `proto' field
* src/jtag2rw.cc: (Dito.)
* src/jtag2bp.cc: (Dito.)
* src/jtag2run.cc: (Dito.)
* src/jtag2prog.cc: (Dito.)
* src/devdescr.cc (atxmega128a1_revd): fix is_xmega field
* src/main.cc: implement new -X (--pdi) option
* doc/avarice.1: document the new option
2011-12-02 Joerg Wunsch <[email protected]>
* configure.ac: Bump version to 2.12.rc1.
2011-12-02 Joerg Wunsch <[email protected]>
* src/jtag2usb.cc (dummyhandler): Put into #if defined(O_ASYNC),
because it is only used in that case.
2011-12-02 Joerg Wunsch <[email protected]>
* src/jtag.h (statusAreaAddress, cpuRegisterAreaAddress): put
the "const" qualifier into the correct place
* src/jtag1.h: (Dito.)
* src/jtag2.h: (Dito.)
2011-12-02 Joerg Wunsch <[email protected]>
* src/jtag2.h (BREAKPOINT2_XMEGA_UNAVAIL): new constant
* src/jtag2bp.cc: Use BREAKPOINT2_XMEGA_UNAVAIL, rather than using
a magic number; fill in BP info for CMND_SET_BREAK even though AVR
Studio doesn't appear to use it (but it's consistent with the
non-Xmega code that way)
2011-12-02 Joerg Wunsch <[email protected]>
* src/jtag.h (enum bpType): Drop the HAS_MASK flag value, also
remove the unused SOFTCODE value.
* src/jtag2bp.cc: Remove all occurences of HAS_MASK; data
breakpoints (aka. watchpoints) do always have a mask associated
once they have been instantiated, so there's no need to extra flag
this. The flagging completely violated the purpose of an enum
type (abusing it as an `int'), causing missed BP type matches in
some situations (e.g. when deleting a watchpoint). Also mask off
the internal flag bits (0x800000) from a data breakpoint before
sending it to the ICE, rather than trying to send the internal
address to the ICE. Sending the full internal address to the ICE
has been a mistake straight from the beginning even though it
apparently used to work, but recent firmware versions appear to
fully store the 24-bit address, causing the data breakpoint to
never match.
2011-12-01 Joerg Wunsch <[email protected]>
* src/jtag.h: In jtag::resumeProgram(), add a new optional
parameter "restoreTarget" to allow for a more graceful
shutdown.
* src/jtag1.h: (Dito.)
* src/jtag2.h: (Dito.)
* src/jtag2run.cc: (Dito.)
* src/jtagrun.cc: (Dito.)
* src/remote.cc: Gracefully shut down when GDB disconnects.
2011-12-01 Joerg Wunsch <[email protected]>
* src/devdescr.cc (attiny4313): New entry.
2011-11-30 Joerg Wunsch <[email protected]>
* src/jtagio.cc (jtag1::initJtagOnChipDebugging): Drop the
attempt to clear the lock bits; it's useless anyway, as the
lockbits can only be cleared by a chip erase.
* src/jtag2io.cc (jtag2::initJtagOnChipDebugging): (Dito.)
2011-11-30 Joerg Wunsch <[email protected]>
* src/devdescr.cc (atxmega256a3): New entry.
2011-11-30 Joerg Wunsch <[email protected]>
* src/jtag.h (xmega_device_desc_type): eeprom_page_size is
only one byte
* src/devdescr.cc (atxmega128a1, atxmega128a1revd): (Dito.)
2011-11-29 Joerg Wunsch <[email protected]>
* src/jtag2.h: Introduce jtag2:xmegaSendBPs().
* src/jtag2bp.cc: Move out the CMND_SET_BREAK_XMEGA into
jtag2:xmegaSendBPs(), as this needs to be issued in front
of any single-step or run command.
* src/jtag2run.cc: Call jtag2:xmegaSendBPs() where
necessary.
2011-11-29 Joerg Wunsch <[email protected]>
Contributed by Detlev Kraft:
* doc/avr-studio-5-detlev-kraft.pdf: New file, added with
Detlev's kind permission. (Sorry, German language only.)
2011-11-25 Joerg Wunsch <[email protected]>
* src/jtag2.h: Implement a "cached PC" to avoid re-requesting
the PC value from the ICE over and over again.
* src/jtag2run.cc: Cache the PC value obtained from the ICE.
For actions that are expecting a BREAK event, catch the
expected event immediately, and use the PC value obtained
from that event. Fork out jtag2::expectEvent() into a method
of its own to centralize the code for it (this logic used to
live inside jtag2::eventLoop() before).
2011-11-25 Joerg Wunsch <[email protected]>
* src/jtag2io.cc (jtag2::doJtagCommand): Slightly improve the
change from rev 240: don't attempt to retry definitively
rejected commands; do not attempt to perform USB endpoint
resets when the communication went fine but the result was
not the expected one.
2011-11-24 Joerg Wunsch <[email protected]>
* src/jtag.h: Add definition for MTYPE_XMEGA_APP_FLASH (thanks
to Detlev's findings, again)
* src/jtag2rw.cc: Implement MTYPE_XMEGA_APP_FLASH access, and
fix MTYPE_XMEGA_REG access (must not enable programming mode).
2011-11-24 Joerg Wunsch <[email protected]>
Based on Detlev Kraft's guesses (many thanks to him again!),
implement the new Xmega device descriptor setting for V7+
firmware.
* src/jtag.h: define xmega_device_desc_type
* src/devdescr.cc: implement xmega_device_desc_type for
ATxmega128A1(+revD)
* src/jtag2io.cc: providing the firmware supports it, use
xmega_device_desc_type rather than jtag2_device_desc_type when
talking to an Xmega device
2011-11-23 Joerg Wunsch <[email protected]>
Attempt to implement some basic Xmega support for firmware
revisions 7.x and above, i.e. AVR Studio 5 firmware. Many thanks
to Detlev Kraft for providing me with the details from his
reengineering effort!
* src/jtag.h: Add two new undocumented commands for Xmegas.
* src/jtag2.h: Add the has_full_xmega_support feature flag.
* src/jtag2io.cc: Determine whether the firmware is recent enough
for has_full_xmega_support (>= 7.x).
* src/jtag2bp.cc: Use CMND_SET_BREAK_XMEGA for the first two
Xmega breakpoints, and software BPs for the rest.
2011-11-21 Joerg Wunsch <[email protected]>
* src/jtag.h: Add REGISTER_SPACE_ADDR_OFFSET and the corresponding
MTYPE_XMEGA_REG; add statusAreaAddress and cpuRegisterAreaAddress
methods to cope with Xmega vs. megaAVR differences.
* src/jtag1.h: Implement statusAreaAddress and
cpuRegisterAreaAddress methods, respectively.
* src/jtag2.h: (Ditto.)
* src/remote.cc: Replace magic constants by calls to the
statusAreaAddress and cpuRegisterAreaAddress methods,
respectively.
2011-11-21 Joerg Wunsch <[email protected]>
* src/jtag2io.cc (jtag2::doJtagCommand): Be more liberal in
retrying failed commands (memory and PC read).
* src/jtag2rw.cc (jtag2::jtagRead): (Ditto.)
* src/jtag2run.cc (jtag2::getProgramCounter): (Ditto.)
2011-11-21 Joerg Wunsch <[email protected]>
Moved from CVS to SVN on sourceforge.net.
2011-08-30 Joerg Wunsch <[email protected]>
Feature Requests #3289022: Allow for the same device designations
as avrdude
* doc/avrdude.1 (-P): Document that AVaRICE normally autodetects
the target device, and -P acts as an override only.
2011-08-30 Joerg Wunsch <[email protected]>
* configure.ac: Bump version for post-release 2.11.
2011-08-30 Joerg Wunsch <[email protected]>
* configure.ac: Bump version for release 2.11.
2011-08-30 Joerg Wunsch <[email protected]>
Patch #2842235: Fix segfault when programming with .fuses section
* src/jtagprog.cc (get_section_addr): Return 0xffffffff for unknown
section memory types, so sections like .fuses will be silently
ignored.
* src/jtag2prog.cc (get_section_addr): (Ditto.)
2011-08-30 Joerg Wunsch <[email protected]>
Submitted by Andrew Zabolotny:
Patch #2995091: Fix gcc 4.4.1 warnings
Actually, I went a lot further, and made it completely -Wall -Wextra
clean for GCC 4.x. (GCC 3.x users might want to use --disable-warnings
in configure.)
* configure.ac: Add --enable-warnings option.
* src/pragma.h: New file, #pragma abstraction
* src/jtag.h: Include "pragma.h" so it's universally usable
* src/Makefile.am (avarice_SOURCES): Add pragma.h.
* src/devdescr.cc: Silence compiler warnings.
* src/gnu_getopt.c: (Ditto.)
* src/jtag2.h: (Ditto.)
* src/jtag2bp.cc: (Ditto.)
* src/jtag2io.cc: (Ditto.)
* src/jtag2prog.cc: (Ditto.)
* src/jtag2run.cc: (Ditto.)
* src/jtag2usb.cc: (Ditto.)
* src/jtagbp.cc: (Ditto.)
* src/jtaggeneric.cc: (Ditto.)
* src/jtagio.cc: (Ditto.)
* src/jtagprog.cc: (Ditto.)
* src/jtagrw.cc: (Ditto.)
* src/main.cc: (Ditto.)
* src/remote.cc: (Ditto.)
2011-08-30 Joerg Wunsch <[email protected]>
Patch #2842239: Fix for deprecated string warning
* src/jtag2prog.cc (jtag2::downloadToTarget): Turn "target" and
"default_target" const to eliminate a compiler warning.
2011-05-06 Eric B. Weddington <[email protected]>
Patch #3298045.
* devdescr.cc: Fix device IDs for ATmega325P and ATmega3250P.
2009-08-26 Shaun Jackman <[email protected]>
* configure.ac: add bfd_object() to the check whether libbfd
requires libz.
2009-06-25 Joerg Wunsch <[email protected]>
bug 2812023: build failed with gcc 4.4.0
* src/jtag2usb.cc (opendev): make a local copy of jtagDeviceName,
and then operate on that copy instead of trying to modify a const
object.
2009-05-15 Joerg Wunsch <[email protected]>
* src/devdescr.cc (ATmega128RFA1): update the number of
interrupt vectors, and extended IO bitmaps.
2009-05-15 Joerg Wunsch <[email protected]>
* tools/devdescr.xsl: update for rev 1.29 of src/jtag.h:
generate the is_xmega flag correctly
2009-04-03 Joerg Wunsch <[email protected]>
* configure.ac: Bump version for post-release 2.10.
2009-04-03 Joerg Wunsch <[email protected]>
* configure.ac: Bump version for release 2.10.
2009-04-03 Joerg Wunsch <[email protected]>
* configure.ac: Check whether libbfd requires libz (true for
libbfd 2.19 and above); while here, replace the obosolete
AC_TRY_COMPILE by AC_COMPILE_IFELSE.
2009-03-05 Joerg Wunsch <[email protected]>
* configure.ac: Bump version for post-release 2.9.
2009-03-05 Joerg Wunsch <[email protected]>
* configure.ac: Bump version for release 2.9.
2009-02-24 Joerg Wunsch <[email protected]>
* src/devdescr.cc (atmega128rfa1): new device.
2008-10-07 Joerg Wunsch <[email protected]>
* src/jtag2run.cc (jtag2::jtagSingleStep): When being interrupted by
GDB while waiting for the EVT_BREAK from a CMND_SINGLE_STEP, we must
issue a CMND_STOP_PROGRAM before proceeding.
2008-09-29 Joerg Wunsch <[email protected]>
* src/jtag.h: More ATxmega support. As the Xmega requires a
different initialization, this must be made known to AVaRICE
beforehand. The option -x (--xmega) can be used to tell AVaRICE
that the target is an Xmega. Alternatively, specifying an
ATxmega device explicitly through -P will also work.
* src/jtag2.h: (Ditto.)
* src/jtag2io.cc: (Ditto.)
* src/main.cc: (Ditto.)
* src/devdescr.cc: (Ditto.) Additionally, provide a separate
entry for the ATxmega128A1 rev D as this device uses a different
JTAG ID.
* doc/avarice.1: Document the -x/--xmega option.
2008-09-08 Joerg Wunsch <[email protected]>
* configure.ac: Bump version to post-2.8.
2008-09-08 Joerg Wunsch <[email protected]>
* configure.ac: Bump version to 2.8.
2008-08-26 Nils Kristian Strom <[email protected]>
* src/main.cc (usage): Add -R/--reset-srst to usage.
2008-07-29 Joerg Wunsch <[email protected]>
* src/jtagprog.cc: Fix "deprecated conversion from string
constant to char *" warnings.
* src/main.cc: (Ditto.)
2008-06-12 Joerg Wunsch <[email protected]>
* configure.ac: Bump version date.
2008-06-12 Joerg Wunsch <[email protected]>
Implement external reset through nSRST signal.
Based on the idea from patch #1398862 but implemented
in a completely different way.
* src/jtag.h: Add apply_nSRST to struct jtag, and parameter
possible_nSRST to resetProgram().
* src/jtag1.h: Add nrst to constructor.
* src/jtag2.h: (Ditto.)
* src/jtag2io.cc: Try applying nSRST before enabling JTAG
emulation.
* src/jtag2run.cc: possible_nSRST is ignored in mkII
resetProgram().
* src/jtagio.cc: Add possible_nSRST parameters.
* src/remote.cc: (Ditto.)
* src/jtagrun.cc: Implement possible_nSRST for mkI.
* src/main.cc: Add option -R/--reset-srst.
* doc/avarice.1: Document option -R/--reset-srst.
2008-06-10 Joerg Wunsch <[email protected]>
* src/main.cc: Add "target_sleep" to the list of events to be
ignored by default.
* doc/avarice.1: Document the above change.
2008-06-10 Joerg Wunsch <[email protected]>
* doc/avarice.1: Document all the newly supported devices.
* src/devdescr.cc: Remove duplicate entry for AT90USB1287;
fix EECRAddress for all recent entries (must be fill_b2()).
* tools/devdescr.xsl: Add fill_b2() to EECRAddress.
2008-05-26 Joerg Wunsch <[email protected]>
[ 1948200 ] Add option to print list of known devices
Submitted by Rick Mann
* src/main.cc: Add the option -k/--known-devices.
Sort deviceDefinitions alphabetically before.
* doc/avarice.1: Document the -k option.
2008-05-26 Joerg Wunsch <[email protected]>
[ patch 1909351 ] ATmega32c1, ATmega32m1
[ patch 1909933 ] sync to xml from avrstudio 4.14 beta
Submitted by David B. Curtis
* src/devdescr.cc: Add support for all currently known (by
AVR Studio's partdescription files) AVR devices.
2008-05-26 Joerg Wunsch <[email protected]>
[ patch 1750202 ] set parameter command failed
(Original patch *not* used though.)
* src/jtag2run.cc (jtag2::resetProgram, jtag2::eventLoop):
After issuing a JTAG reset, wait for the ICE to post the
respective BREAK event. Since resetProgram() can be
called fairly early before the GDB communication has been
set up, make eventLoop() aware of gdbFileDescriptor
possibly being still at -1, so it ought to be ignored.
2008-05-26 Joerg Wunsch <[email protected]>