From: Robert S. <rsp...@ze...> - 2011-03-11 18:35:07
|
Hi Harri, Harri Haataja wrote: > Is it possible to add GoodFET support to mspdebug? Daniel Beer wrote: > It's certainly possible. I was planning on it, but unfortunately > haven't had time so far. I think implementing support for a new programmer or debugger is as simple as writing some code with the API described by the device_t struct in device.h. The contents of device_t is extremely self-explanatory (see below). (This is for Harri's benefit... I'm not trying to tell you about your own code Daniel ;) > Is there a document on the protocol available anywhere? It appears there is documentation here: http://goodfet.sourceforge.net/apps/jtag430/ > If it's quite similar to the TI FET, you could probably just modify > fet.c. bsl.c is also a relatively short reference on implementing a programmer... Cheers, Rob ---- struct device { /* Breakpoint table. This should not be modified directly. * Instead, you should use the device_setbrk() helper function. This * will set the appropriate flags and ensure that the breakpoint is * reloaded before the next run. */ int max_breakpoints; struct device_breakpoint breakpoints[DEVICE_MAX_BREAKPOINTS]; /* Close the connection to the device and destroy the driver object */ void (*destroy)(device_t dev); /* Read/write memory */ int (*readmem)(device_t dev, address_t addr, uint8_t *mem, address_t len); int (*writemem)(device_t dev, address_t addr, const uint8_t *mem, address_t len); /* Erase memory */ int (*erase)(device_t dev, device_erase_type_t type, address_t address); /* Read/write registers */ int (*getregs)(device_t dev, address_t *regs); int (*setregs)(device_t dev, const address_t *regs); /* CPU control */ int (*ctl)(device_t dev, device_ctl_t op); /* Wait a little while for the CPU to change state */ device_status_t (*poll)(device_t dev); }; |