1515 Commits

Author SHA1 Message Date
Gareth McMullin
cbb85b6a45 LPC812 support 2014-03-08 18:58:39 +13:00
Frantisek Burian
12aeaad441 [locm3] Use the new clock-enabling mechanisms in locm3. 2014-02-13 18:21:16 +01:00
Frantisek Burian
690e99c6b2 Fix the STK_CTRL to the STK_CSR library change. 2014-02-13 17:52:09 +01:00
Richard Eoin Meadows
e5624a7e6d Added support for the LPC1115FBD48/303 (ID determined experimentally) 2014-01-29 08:02:04 +08:00
bon@elektron.ikp.physik.tu-darmstadt.de
d27c50c601 Add STM32F03X and STM32F07X handling. 2014-01-24 05:03:38 +08:00
bon@elektron.ikp.physik.tu-darmstadt.de
0c9d5d8166 Add dfu bootloader update application and use absolute delay for stlink
Hello,

appended 3 patches
- adds a dfu-bootloader appliaction
- uses absolute delays when waiting for pull-up delays on the STLINK
(hopefully fixes issue #30)

Updating the dfu-bootloader by additional application is helpfull for the
STLINK, as for flashing the bootloader by SWDb otherwise jumpers need to be
soldered or external SWD is not possible.
Use like:
- dfu-util -s 0x08002000:leave -D dfu_upgrade.bin
- dfu-util -s 0x08000000:leave -D blackmagic_dfu.bin
- Push reset buttom and reconnect to enter new dfu bootloader
- dfu-util -s 0x08002000:leave -D blackmagic.bin
--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
>From fae5022c304a8866f056ea66660ac7ce3809dcf8 Mon Sep 17 00:00:00 2001
From: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Date: Sun, 20 Oct 2013 15:00:36 +0200
Subject: F1: Prepare to update dfu bootloader via DFU with additional
 application.
2014-01-24 04:59:09 +08:00
Gareth McMullin
ac0fc8216a Merge pull request #35 from burgrp/upstream
Fix in checksum calculation condition
2014-01-23 10:52:09 -08:00
Gareth McMullin
eb2f2afa9a Merge pull request #32 from aibara/lpc43xx_updates
Lpc43xx target support updates
2014-01-23 10:51:46 -08:00
Pavel Burgr
ce17cc2e2b Fix in checksum calculation condition 2014-01-22 10:35:35 +01:00
Allen Ibara
01244fc84d LPC43XX: Force target to use internal clock.
Without this, flash write timing might be incorrect.
2014-01-10 13:24:25 -08:00
Allen Ibara
2b798fa8fc LPC43XX: Make the chunk_offset logic more explicit. 2014-01-10 13:24:25 -08:00
Allen Ibara
487252150f LPC: Cleanup regs_size (in bytes).
Also use sizeof() to make it clear why we multiple and divide by 4.
2014-01-10 13:24:25 -08:00
Allen Ibara
df9c19f071 LPC43XX: Remove type cast for erase function 2014-01-10 13:24:25 -08:00
Allen Ibara
911af3b836 LPC43XX: Add reset command to do a system reset (but not the debug). 2014-01-10 13:24:25 -08:00
Allen Ibara
813622b1b6 LPC43XX: Add mkboot target command; dont make banks bootable by default.
This used to be done transparently in the write step, however that
breaks the 'verify' command. This is also more flexible for cases
where you want to write a flash bank without ever intending it to
be bootable.
2014-01-10 13:24:25 -08:00
Allen Ibara
29c7846612 LPC43XX: Make sure to align target struct to word alignment 2014-01-10 13:24:25 -08:00
Frantisek Burian
8014d434de Update to the newest libopencm3 2014-01-04 17:29:54 +01:00
Gareth McMullin
8835df1822 Merge remote-tracking branch 'origin/usbuart_highrate' 2013-12-04 16:16:08 +13:00
Gareth McMullin
42570efaf8 Revert "STM32F4: Add handling of second bank and dual boot devices."
This reverts commit 536482f8047f1ee984f362c5c5e3fe488353a1b7.
2013-10-22 07:48:06 +08:00
Uwe Bonnes
09fbe783c5 f4discovery: Limit clock to 48 MHz and stack 24 kiByte so that code can be compiled unchanged for F401Discovery too.
TODO: Bump clk up to 84 MHz as soon as libopencm3 supports that speed.
2013-10-22 07:26:35 +08:00
Uwe Bonnes
536482f804 STM32F4: Add handling of second bank and dual boot devices. 2013-10-22 07:21:35 +08:00
Uwe Bonnes
cbd73cfb8f STM32F4: Recognize F401. 2013-10-22 07:21:35 +08:00
Uwe Bonnes
5aa802969b stlink: Give the NRST check more time as otherwise some L1 discovery board stayed in the bootloader. 2013-10-22 07:18:09 +08:00
Uwe Bonnes
086f3565f0 stm32f1: Fix handling of option byte write. Write needs to happend on erased option bytes. 2013-10-20 16:14:25 +02:00
Uwe Bonnes
15e529a43a stm32f1.c: On a read protected device, deny any other option action than erase.
Otherwise the first option action triggers an error, inhibiting further option
actions.
2013-10-20 16:14:19 +02:00
Michael Tharp
c395c6f73a Configure SRST output as open-drain for BMP Mini hardware 2013-10-05 13:14:03 +08:00
Benno Leslie
3cce6f472c Add support for the SYS_WRITEC semihosting operation.
This is implemented in the same manner as QEMU semihosting
support, specifically, a SYS_WRITEC results in a single
character write to STDERR.
2013-10-05 13:14:03 +08:00
Richard Eoin Meadows
b8f9a2ed4b Bugfix: Always apply the vector table magic number correctly.
Previously when the flash write length was less than the Chunk size the 2nd chunk write would re-calculate and apply an incorrect magic number
2013-10-05 13:14:03 +08:00
Marc Singer
40820a2354 Added internal pull-up to PWR_BR.
o Prevent probe from inadvertently powering target.  If PWR_BR is
  allowed to float, the gate on Q1 (blackmagic_mini) will tend to be
  close enough to zero to turn the transistor on.  We activate the
  internal pull-up on this IO pin to force the transistor off.
2013-10-05 13:14:03 +08:00
BuFran
e67192348f FIX: usbd_init compatibility fix
Updated compatibility with libopencm3 commit 113e5c22e6390ba072148315e83a5faa5ff7ce86
2013-10-05 12:23:23 +08:00
BuFran
c857165c12 FIX: FLASH_* collision with libopencm3 definitions
Resolve collision to FLASH_* from the libopencm3 by adding STM32F1_ prefix to the L1's
2013-10-05 12:23:23 +08:00
BuFran
c28350f242 FIX: u{8,16,32} -> uint{8,16,32}_t to be compatible with new library
The use of u8, u16, u32 has been deprecated in libopencm3.
Update it with standard uint8_t, uint16_t, uint32_t types
2013-10-05 12:23:23 +08:00
BuFran
f1584b266b [BUILD] Don't throw error on already cleaned output 2013-10-05 12:23:23 +08:00
Gareth McMullin
700833f38f Use do {...} while(0) for PLATFORM_FATAL_ERROR() macro. 2013-08-19 12:27:36 +12:00
Gareth McMullin
a30ef31018 Handle SW-DP fault on WDATAERR. 2013-06-19 21:06:59 +12:00
Gareth McMullin
d8f737fc53 Disable ADIv5 timeout while target is running. 2013-06-19 21:05:53 +12:00
Paul Fertser
d90e10cdba 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>
2013-06-19 19:28:16 +12:00
Gareth McMullin
27a86e244f native: Enable hard SRST signal. 2013-06-19 19:21:49 +12:00
Gareth McMullin
c05b7a1f63 Rename lpc11xx driver. 2013-06-17 16:06:03 +12:00
Gareth McMullin
3caaa28fa1 Fix warning about implicit cast. 2013-06-17 15:57:13 +12:00
Gareth McMullin
8c877d6dfa Fix trailing whitespace everywhere. 2013-06-17 15:53:32 +12:00
Gareth McMullin
2d63dd4b5b Fix register array sizes. 2013-06-17 15:52:15 +12:00
Paul Fertser
df32aad757 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>
2013-05-18 15:33:58 +12:00
Gareth McMullin
5020d1f05d Move semihosting support to cortexm.c.
Try to implement more syscalls.
2013-05-18 15:33:58 +12:00
Paul Fertser
aca421d0bb 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>
2013-05-18 15:33:58 +12:00
Gareth McMullin
feaf626673 Add support for Atmel SAM3N devices. 2013-05-18 15:32:06 +12:00
Paul Fertser
cdaed128c1 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>
2013-05-14 12:34:53 +12:00
Paul Fertser
e0fc21a2a7 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>
2013-05-14 12:32:44 +12:00
Allen Ibara
510d1c0dc8 Add support for burning flash on lpc4337. 2013-05-14 12:25:13 +12:00
Gareth McMullin
56f44c39d9 nxp: support the lpc1114dip28 by Rickta59 2013-04-27 20:57:20 -07:00