146 lines
6.0 KiB
146 lines
6.0 KiB
15 years ago
|
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
|