Add support for burning flash on lpc4337.
adiv5_swdp: allow to connect to a sleeping target by pulling SRST

This patch introduces a new command, "connect_srst [enable|disable]"
which allows to enable special mode in which SRST would be pulled low
before the SWD scan till attaching to a target.

Since on Cortex-Mx the SRST signal doesn't gate JTAG and SWD, it's
possible to connect to a target while holding reset, ask it to stop at
reset vector and only then deassert reset, thus allowing to attach to
the kind of firmware that goes immediately to sleep or disables
debugging by other means early on start.

Tested on an STM32VLDiscovery board with STM32F100 configured to go to
STOP mode and executing WFI in the very beginning of main().

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
stlink: add support for SRST handling

This enables SRST signals in open drain mode for both stlinkv1 and
stlinkv2 hardware platforms.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Add support for Atmel SAM3N devices.
Basic semihosting support

Implement bare minimum necessary to support console IO.

This works with standard newlib builds and is based on the reference
documentation:
http://infocenter.arm.com/help/topic/com.arm.doc.dui0471c/CHDJHHDI.html

Tested using gcc-arm-none-eabi-4_7-2013q1-20130313 for both
stm32f1-based BMP and stm32f0 target.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Move semihosting support to cortexm.c.

Try to implement more syscalls.
semihosting: improve handling of console I/O

This implements special handling for SYS_OPEN to catch requests for
":tt" which is reserved by ARM for console input/output. They're
mapped to the appropriate GDB file descriptors automatically.

An additional file handle offset is introduced because ARM doesn't
consider zero handle to be valid.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Fix register array sizes.
Fix trailing whitespace everywhere.
Fix warning about implicit cast.
Rename lpc11xx driver.
hardware: Correct micro part number to STM32F103CB.
native: Enable hard SRST signal.
adiv5_swdp: avoid dead-loop with a sleeping target

A sleeping target continues to communicate over SWD properly but
consistently returns SWDP_ACK_WAIT.

It might be nice to be able to wait for the target to wake up on its
own but if it's not going to wake up, BMP becomes absolutely
unresponsive. Probably the timeout should be made configurable or some
other workaround invented.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Disable ADIv5 timeout while target is running.
Handle SW-DP fault on WDATAERR.