diff options
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 145 |
1 files changed, 145 insertions, 0 deletions
@@ -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 |