Commit Graph

97 Commits

Author SHA1 Message Date
Daniel Beer eacf4b8be4 sim: fix PC-relative operand fetch.
Index should be relative to the value of PC after fetching the index
word.
2013-03-26 09:25:33 +13:00
Daniel Beer 9bbe525776 Add support for MSP430FR5728. 2013-03-10 16:25:58 +13:00
Daniel Beer 5ccf2e35d2 fet_core: fix segment erase.
A non-zero length must be supplied to the firmware.
2013-03-10 15:28:36 +13:00
Daniel Beer a304b60dc9 fet_core: fix missing newline in debug message. 2013-02-22 10:45:05 +13:00
Daniel Beer e9b6a77414 dis/sim: fix handling of opcodes with two indexed operands.
If the source operand is indexed, and the destination is symbolic (PC +
index), then the base for the destination index is the program counter
*after* having fetched the source index.

Also, the addition of the index is done modulo 2^16 if the base points
within the lower 64 kB of memory.
2013-02-11 11:08:43 +13:00
Daniel Beer 72e781d0eb fet_core: Add workaround for CC5137 replug problem.
This chip needs to be replugged if the the shutdown procedure (reset and
close) runs. We look for the chip's ID and skip the procedure if it
matches.
2013-02-01 08:09:38 +13:00
Daniel Beer 2924dee3a2 fet: experimental support for Info A/BSL flash access. 2013-01-31 14:29:14 +13:00
Daniel Beer fd0199901c tilib: support for Info A/BSL flash access.
Two new boolean options have been added: "enable_locked_flash_access"
and "enable_bsl_access".
2013-01-31 13:54:19 +13:00
Daniel Beer 46ac7a75a9 tilib: fix segment erase.
A non-zero length is required to erase segments.
2013-01-31 13:22:05 +13:00
Wolfgang Schwotzer 85c023d758 Support for MSP430FG4616. 2013-01-27 10:40:37 +13:00
Bruce G. Burns db94eab4b2 Simulator bug fixes.
Fix handling of V flag, and ensure that high byte is discarded for byte
operations.
2013-01-14 16:47:59 +13:00
Pavel Vymetálek e491e14c3d fet_db: add support for MSP430G2352 2012-12-03 12:04:58 +13:00
Daniel Beer 21fc0d904f fet_db: add support for MSP430F2416
Based on ID data from Pawel Jewstafjew <pawel.jewstafjew@gmail.com>.
2012-11-23 11:41:45 +13:00
Daniel Beer 277a795f01 Add power sample output. 2012-10-24 09:37:46 +13:00
Daniel Beer 43735da212 fet: fix support for MSP430F2418/2618. 2012-10-22 16:43:07 +13:00
Daniel Beer e14a578555 Parallel JTAG driver (Linux only for now).
Based on a patch submitted by Peter Bägel <peter@baegel.de>.
2012-10-12 11:33:20 +13:00
Daniel Beer 61fdfd22ff Better threading functions.
Change prefix to "thread_" and add functions for thread creation and
condition variables.
2012-10-09 15:28:49 +13:00
Daniel Beer 18cf2a561f Separate and clean up break handling.
Ctrl+C handling is done in ctrlc.c, and a break condition now persists
until the interactive reader begins to process the next command. The
condition is cleared by calling ctrlc_clear().
2012-10-09 09:55:48 +13:00
Daniel Beer e4f582b0d7 Fix Ctrl+C handling under Cygwin. 2012-10-04 14:45:57 +12:00
Daniel Beer 3da52fe100 fet: fix unused variable warning. 2012-10-04 14:24:44 +12:00
Daniel Beer cc5aed4c6d Power history support.
This adds a "power" command which can be used to dump power history
samples gathered by the device driver.
2012-10-03 16:29:55 +13:00
Daniel Beer 1973746d33 New chip identification database for Olimex debuggers.
The devicelist table maps chip ID bytes to an enum of devicetype_t. A
separate table provides configuration data for each value of
devicetype_t.

Original patch submitted by Stanimir Bonev <bonev_st@abv.bg>.
2012-10-03 13:41:59 +13:00
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