summaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'TODO')
-rw-r--r--TODO145
1 files changed, 145 insertions, 0 deletions
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..cbd4880
--- /dev/null
+++ b/TODO
@@ -0,0 +1,145 @@
+icd2: assert in progress when programming with icd2 debugger
+
+TODO programmers:
+* icd1/2: optimize programming/reading: only program/read what's necessary!!
+* direct: alternate method to direct-program "Vdd first" chips (needed ?)
+* pickit2: protocol for firmware 2.x
+* support for other bootloaders (AN851, ...)
+* look into xwisp2/avrdude
+* pickit1/2: speed-up by not programming mask words and by programming 4/n words when possible...
+* pickit2: now supports 16F886/887
+* add promate2
+* direct: support dsPIC
+* add option to not autoload firmware (?)
+* direct: support 16F88X devices
+* icd2: 12F609/615 16F610 16F677(debug) 16F88X 30F1010/2020/2023
+ famid for 18J devices
+* pickit2: configuration to set target voltage to different values (?)
+* icd2: progress for firmware uploading
+* psp: add 18F support
+* psp: detection of programmer type (PSP, JuPIC, or Warp13)
+* psp: for Warp13, there are some differences for 18F devices...
+
+TODO debuggers:
+* gpsim: add stopwatch feature + clock speed config
+* icd2: fix 16FXXX debugging: init + reset + ...
+* 18F1330-ICD ?
+* icd2: how to read PORTB from 16F7X7
+* device power toggle action: problem while running/debugging... (?)
+* should be able to read/verify/blankcheck while debugging: restart debug: ask ?
+* icd2: support more than one breakpoint for 18F
+* advanced breakpoints (register, function, ...)
+* add icd1 debugging
+* support sdcdb (?)
+* support ICD from CCS
+* PIC30: no disassembly in disassembly listing
+
+TODO interface:
+* set breakpoint in disassembly listing, close, reopen: not displayed...
+* escaping in string register entry
+* add serial terminal
+* "read all" registers is slow (gui refresh for each read)
+* add PC and goto PC in breakpoint list view (?)
+* add "random/set_range/..." actions to each range in hex editor
+* more filters in device selector
+* undo/redo + better selection in hex editor
+* .o view: more complete (?)
+* renaming of source files
+* COFF disassembly highlighting does not properly highlight multiline comments for C
+
+TODO toolchains:
+* support CC8E
+* PICC: no need to compile and assemble in two steps for C files
+* PICC: test debugging (from C or ASM files)
+* mix different compiler and assembler in a project... (subproject ?)
+* support for MPASM/MPLINK (mpasm freezes my version of wine...)
+* error/warning filter for C30/PICC/JAL/C18
+* syntax highlighting for JAL: highlight assembler blocks
+* better syntax highlighting for Boost Basic
+* PICC Lite windows executable crashes with wine
+* support dsPICC: demo windows only and not working with wine
+* support C2C, C2C++, P2C: exception in wine...
+* support Proton Basic compiler
+* library project: other toolchains ?
+
+TODO generators:
+* fix cname generation for BSSEC/BSSIZ SSSEC/SSSIZ (none supported yet by gputils/sdcc ?)
+* add missing template generators
+* config generator: add/fix config names for gpasm/sdcc (18F) + picc + ...
+
+TODO command-line:
+* add "merge" commands to "piklab-hex"
+* add utility to disassemble (?)
+
+TODO misc:
+* if CTRL+D in konsole: should restart it...
+* check endianness: it should be alright since we are reading from hex file and outputing strings (?)
+* add log settings: log file / timestamp
+* allow saving hex to other formats
+* shouldn't we always use the IHX32 format for devices 18 and up ???
+* Vdd-frequency graphs ignore different osc/modes...
+* code for UserId disassembly doesn't seem to be right...
+
+DEVICES:
+- finish checking device XML with XML Schema...
+- make an automatic parser for file "gpprocessor.c" of gputils to extract coff codes.
+- check list of devices against MPLAB for missing devices and discrepencies.
+- config bits: check config bits from MPLAB
+- vdd/freq: not sure I understand the Vdd range in 30F datasheets
+- sometimes "vpp" depends on "vdd"...
+- revision names...
+- 16F630-ICD has lower Vdd requirements for read/write
+- for 18F1230/1330 16F88X: Vdd-F graphs not available yet...
+- 12F6XX-16F6XX-ICD have lower Vdd requirements for bulk erase
+- checksums:
+ unknown : 16C641/C661/C84 18J 18F2XXX/4XXX
+ all wrong (?) : 16CE923/CE925 30F
+ protected wrong (?) : 16CR73/CR74/CR76/CR77 16F72/F73/F74/F76/F77 16F873A/874A
+ 18F1230/1330
+ datasheet wrong (?) : 12F508(Off:cc=DC68)
+ 16C55A (All:cc=F332) 16C56A(All:not XOR4)
+ 16C712(size=3FF)
+ 16F616 (All:bc=FFBE cc=CBD8)
+ 18F4331(same as 18F2331)
+ 18F2439/4439/6520/8520 (wrong program size)
+ blank value discrepencies : 18F6525
+- 16C433: config bits datasheet do not agree with progsheet (used progsheet)
+- 16CR54/16C557: status ?
+- 16HV540: discrepency between datasheet and progsheet for CP bits
+- 18F2585/4585/2680/4680: data sheet is wrong for block description (boot block size is variable)
+- 18F6X10/6X90: discrepencies between datasheet and progsheet for PM and EBTR bits
+
+- unknown devices (from gpasm) : 18F2681/F4681/F64J15/F84J15
+- 16CR57A ?
+- nr: PS501 PS810 PS700
+- new devices:
+ 33F
+ 24F16/32/48
+ 18F6628/8628/6723/8723 (compatible 18F8722)
+- future devices:
+ 16F526
+ 18F23K20/24K20/25K20/26K20
+ 18F43K20/44K20/45K20/46K20
+ 24FJ256GA110
+
+GPUTILS: 0.13.5
+- 16C54A: _CP_ON doesn't yield 0x007 [fixed in trunk]
+- 16C715: _CP_75 is missing [fixed in trunk]
+- 16F737/767/777 16F87/88: _FCMEN_OFF doesn't yield 0xFFE [submitted]
+- 16F883/884/886/887: BORV_21 doesn't yield 0xEFF
+- 17C42A/C43/C44: _PMC_MODE doesn't yield 0x7FAF
+- 18F1230/1330: BORV doesn't have the correct values in .inc file
+- 18F258/458: BORV_25 should be BORV_20
+- 18F2510: using 12F510 lkr (?)
+- 18F6X10/6X90/8X10/8X90: missing PM/EBTR (if they exists on these devices ??)
+- 18J: config bits commented in "inc" file
+
+SDCC: 2.7.0
+- 16CR620A/CR73/CR74/CR76/CR77: missing include
+- 16F616/F747/F946: missing include
+- 16F737/767/777/87/88: cf gputils
+- 16F886/887: missing DEBUG define [fixed in trunk]
+- 18F1320/2320/2525/4525: missing include
+- 18F2221/2321/4221/4320: not supported by GPUtils 0.13.5
+- 18F4455/4550: missing ENICPORT_ON
+- 18F4620: missing XINST