Commit Graph

175 Commits

Author SHA1 Message Date
Daniel Beer c5e93345a0 fet_proto: capture FET error code. 2012-10-03 13:36:09 +13:00
Daniel Beer 1de9e43187 Better Olimex compatibility.
Timeouts have been increased to 30 seconds. Reset is not sent until
after enabling power.
2012-09-28 06:37:32 +12:00
Daniel Beer ce64ff10b5 bsl: add support for raw USB access. 2012-09-19 09:02:35 +12:00
Daniel Beer 15bfda5b6d Split FET constructors from core methods.
Constructors and device class definitions are now contained in fet.c.
The methods which implement the device interface are in fet_core.c, and
these are independent of how the device object is constructed.
2012-09-18 11:17:55 +12:00
Daniel Beer 1ac9f30024 Separate FET packet parser from driver. 2012-09-13 15:49:19 +12:00
Daniel Beer 837e1d8e00 Replace "olimex_iso" transport with generic "ftdi".
Constructor now takes arguments for vendor/product IDs and baud rate.
2012-09-13 14:53:30 +12:00
Daniel Beer 1392cea7e1 Replace "uif" transport with generic "comport".
The new transport accepts an arbitrary baud rate instead of a
device-type enum.
2012-09-13 14:33:04 +12:00
Daniel Beer 162d1bc951 Separate Olimex transports and drivers.
The "olimex" transport has been divided into "cp210x" and "cdc_acm",
each of which take a specific vendor/product combination in their
constructor. Support for the MSP430-JTAG-ISO-MK2 has been moved into its
own driver instance.
2012-09-13 14:14:59 +12:00
Daniel Beer 6037c12291 Add support for Olimex firmware updates. 2012-09-11 14:35:31 +12:00
Daniel Beer d844adf828 Separate transports from drivers.
The transport/ subdirectory now contains implementations of the
transport_t interface, which has been expanded to include flush and
set_modem operations.
2012-09-10 14:22:00 +12:00
Daniel Beer 239fbb7f94 fet: don't send code memory start address with erase request.
Instead, use 0xfffe. This address is always within the range of main
memory, and should allow the request to work even if the chip has been
misidentified.
2012-08-23 16:14:07 +12:00
Daniel Beer 9f4bb5f303 tilib: fix breakpoint refresh.
If a breakpoint is set and then removed, with no refresh in between,
then no handle is ever assigned and so a request to remove the
breakpoint will fail.
2012-08-23 15:00:44 +12:00
Daniel Beer f9d271cd64 tilib: fix calling convention for Cygwin.
WINAPI wasn't getting defined with gcc-3.
2012-08-23 14:27:27 +12:00
Daniel Beer ff42788071 printc: add printf attribute. 2012-08-17 07:37:56 +12:00
Daniel Beer 53dd7f8188 Add support for MSP430F5521. 2012-08-16 08:55:13 +12:00
Tamas TEVESZ 84866b78cc fet: Error messages from MSP430DLLv3 version 3.2.4.5. 2012-08-15 11:34:28 +12:00
Daniel Beer c717eed96d device_probe_id: all output should be debug output. 2012-08-15 08:59:45 +12:00
Daniel Beer 29dfb4da84 Stop using usleep().
Use nanosleep() on Unix-like systems, and Sleep() on Windows.
2012-08-14 15:51:22 +12:00
Daniel Beer 4ab905751c fet: different exit procedure for FRAM devices.
This is a partial revert to 0e5c38231b.
We detect whether the chip is an FRAM device at exit, and use a
different reset type if it is. The referenced commit broke the RST pin
on older chips.
2012-08-10 08:34:35 +12:00
Daniel Beer ae9c212f37 Make device_erase a no-op for FRAM chips. 2012-08-09 15:34:06 +12:00
Daniel Beer 886fbd59c9 Probe chip ID bytes on startup. 2012-08-09 15:33:56 +12:00
Daniel Beer 0e5c38231b rf2500: separate reset and run on exit.
This was causing a problem with the MSP430FR5739. Exiting and restarting
mspdebug would cause the reset vector (0xfffe) to be overwritten with
0xff 0xff. This didn't happen if you repowered the board between the
exit and restart.
2012-08-01 11:32:19 +12:00
Tamas TEVESZ e02567a712 Merge F2012 and G2231 2012-07-23 09:33:44 +12:00
Daniel Beer 1e36394136 Implemented basic GoodFET support. 2012-07-18 12:26:55 +12:00
Daniel Beer eae3026f5a flash_bsl: fix error with large block sizes. 2012-07-16 10:05:46 +12:00
Daniel Beer 69f3a15187 fet_db: updated MSP430G2452.
New data contributed by Marc de Hoop <marc@springuin.nl>.
2012-07-06 08:56:34 +12:00
Daniel Beer 08cd326e66 Fix support for MSP430F2618.
Breakpoint count is stored as a byte, not a 16-bit word.
2012-07-06 08:50:44 +12:00
Daniel Beer 546d716380 fet_db: merge 2553, 2403.
These chips can't be distinguished by their ID data.
2012-06-27 14:46:41 +12:00
Daniel Beer e6cb2dc51d tilib: fix DEVICE_ERASE_MAIN.
The address given to the library must be one inside main memory.
2012-06-19 10:08:48 +12:00
Daniel Beer c243ed04dc Add support for MSP430F6435.
Data contributed by Marc de Hoop <marc@springuin.nl>
2012-06-15 10:13:20 +12:00
Peter A. Bigot dd2c6d997c Avoid truncating breakpoint address
Use of uint16_t caused the stored breakpoint address to be wrong.  However,
breakpoints above 64 kiB don't seem to work even with this, so there may
also be a FET issue.
2012-06-13 09:43:04 +12:00
Daniel Beer d0b0b04cef Add support for MSP430G2403. 2012-06-09 11:50:23 +12:00
Thomas Webel eb7da81c9c Added support for MSP430F2252. 2012-05-15 08:38:25 +12:00
Daniel Beer 6fd161faa7 Add delay_s() for portable sleep() substitute. 2012-05-10 10:00:12 +12:00
Wayne Uroda 2ce7a82657 tilib: automatically detect path to uif when -d is not specified. 2012-04-28 08:45:13 +12:00
Daniel Beer 09ca20c91c Add support for read and write watchpoints. 2012-04-25 14:10:26 +12:00
Daniel Beer 7413531715 gdbc: watchpoint support. 2012-04-25 13:31:56 +12:00
Daniel Beer f1e99c38d3 sim: implement watchpoint support. 2012-04-25 13:31:00 +12:00
Daniel Beer a354116441 Watchpoint support (only implemented for tilib driver). 2012-04-25 12:43:14 +12:00
Daniel Beer a914bc732d Add support for building on Cygwin.
The symbol __Windows__ is defined when building a native (non-Cygwin)
binary.
2012-04-25 11:02:22 +12:00
Daniel Beer 97f8dce833 fet: remove message 0x30.
This apparently isn't necessary after all, and may be the cause of the
high rate of "fuse blown" errors.
2012-03-08 09:20:25 +13:00
Roland Haag 4e2185a408 fet: show more chip information (code/RAM ranges). 2012-03-07 10:08:01 +13:00
Daniel Beer 9f4d327c24 Support for MSP430F6736. 2012-03-07 10:06:01 +13:00
Daniel Beer af30ea095a olimex_iso: fix compilation warnings. 2012-03-03 09:54:11 +13:00
Daniel Beer f5f50d0fea Fix tty driver for Olimex MSP430-JTAG-ISO. 2012-03-02 14:19:39 +13:00
Daniel Beer e79d102937 olimex_iso: fix compiler warnings on non-Linux systems. 2012-03-02 14:13:49 +13:00
Daniel Beer 902c2903c3 Add raw USB driver for Olimex MSP430-JTAG-ISO. 2012-03-02 12:13:11 +13:00
Daniel Beer cf5b7f3399 Handle non-standard baud rates in sport_open().
This should allow the use of the Olimex MSP430-JTAG-ISO on Windows (and
other platforms, if handling is implemented).
2012-02-29 16:59:41 +13:00
Daniel Beer 68f968a637 sport: accept baud rates as a plain integer instead of a B* constant.
Integer baud rates are converted to B* constants in the implementation.
2012-02-29 16:29:00 +13:00
Daniel Beer 25da331e21 olimex: fix usbtr_recv.
Partial sends need to skip the sent portion of the buffer before
retrying.
2012-02-29 16:08:26 +13:00
Daniel Beer bdce08a84a ti3410: bug fixes for USB send/receive.
Send was not skipping buffer position on partial writes. Receive should
not return unless data is available (or a timeout occurs).
2012-02-29 16:04:44 +13:00
Daniel Beer d621ad7050 fet: always reset on startup with olimex driver.
The latest v2 MSP430-JTAG-TINY devices need a reset to be issued on
startup.
2012-02-24 10:41:57 +13:00
Daniel Beer 7bf79f4508 Add support for MSP430F2418.
Data supplied by Márton Miklós <martonmiklosqdev@gmail.com>.
2012-01-07 10:01:52 +13:00
Nick Nobody b21b611962 Add support for MSP430F5329. 2012-01-06 09:20:17 +13:00
Daniel Beer 711ffbfd1a olimex: fix V2 tty access, and introduce olimex-v1 driver.
The olimex-v1 driver must be used when accessing a V1 device via the
tty interface.
2011-12-26 11:22:04 +13:00
Daniel Beer f501ab0843 olimex: fix V2 startup errors.
Configuring modem control lines and baud rate is only required for V1
devices.
2011-12-26 11:09:13 +13:00
Daniel Beer c425c497e8 Added support for MSP430F5342. 2011-12-21 09:20:42 +13:00
Daniel Beer 82ec966d5e tilib: add --require-fw-update option for forced image loading. 2011-12-14 13:11:29 +13:00
Daniel Beer 805b022a68 uif-bsl: attempt BSL access even if FET firmware is non-operational. 2011-12-14 13:11:02 +13:00
Daniel Beer 6060b8d1b0 Fix TI library structure definitions: int32_t -> LONG. 2011-11-16 13:45:27 +13:00
Tamas TEVESZ e014e4c6d5 Modernise decl styles 2011-11-16 08:42:45 +13:00
Tamas TEVESZ d98d990752 Kill unused variables
Mark those that are unused but can't be killed accordingly.
2011-11-15 09:26:35 +13:00
Tamas TEVESZ 033ef33c3f Stramline Olimex error handling
- Make open_interface() fail if any part of the device setup fails
- Make debug messages indicate which control message they belong to
2011-11-14 08:40:01 +13:00
Daniel Beer e724c19a26 tilib: breakpoints are now working. 2011-10-18 12:24:44 +13:00
Daniel Beer 000816adbd tilib: fetch breakpoint counts and device ID via library API. 2011-10-18 11:55:21 +13:00
Daniel Beer d610f6471a tilib: fixed hangs and crashes on startup/exit. 2011-10-18 11:28:53 +13:00
Daniel Beer f18b0c188b Added TI library driver (experimental).
Memory/register read, single-step, run and halt are working.
Breakpoints aren't working, and programming hasn't been tested.
2011-10-14 12:49:04 +13:00
Daniel Beer 90eeb0d23e Added necessary definitions for TI library API. 2011-10-14 12:48:38 +13:00
Daniel Beer 18e3fbac74 Display section names when programming.
The binfile extraction and programming code is now aware of section
names when dealing with ELF32 files. The names are displayed when
programming, and chunks in different sections aren't combined, even if
they're contiguous.
2011-10-12 13:52:56 +13:00
Daniel Beer f230af2ce9 Added support for MSP430F449. 2011-10-09 19:13:18 +13:00
Tamas TEVESZ 70b2c0fc4b Added support for MSP430F2012. 2011-10-04 19:11:30 +13:00
Daniel Beer 9e42c1e6f4 Fix build errors on Win32. 2011-09-19 04:04:08 +12:00
Daniel Beer 92c18f32dc Implemented TI3410 firmware download.
Also added TI3410 firmware image, plus Makefile install rules. Added
notes to manual regarding USB support for FET devices.
2011-09-16 16:09:03 +12:00
Daniel Beer 7de9854661 Implemented TI3410 transport.
This allows direct libusb access to FET430UIF and eZ430 devices. It
doesn't yet implement the initial firmware download required to get
the 3410 working.
2011-09-16 14:40:40 +12:00
Daniel Beer 6ac5c5a618 Restructuring: move drivers into drivers/ 2011-09-14 16:15:37 +12:00