Commit Graph

325 Commits

Author SHA1 Message Date
Michael Tharp c395c6f73a Configure SRST output as open-drain for BMP Mini hardware 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 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
Gareth McMullin 700833f38f Use do {...} while(0) for PLATFORM_FATAL_ERROR() macro. 2013-08-19 12:27:36 +12:00
Gareth McMullin 27a86e244f native: Enable hard SRST signal. 2013-06-19 19:21:49 +12:00
Gareth McMullin 8c877d6dfa Fix trailing whitespace everywhere. 2013-06-17 15:53:32 +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
Gareth McMullin e3f3171a33 usbuart: Fix build error and clean up whitespace. 2013-04-27 13:14:22 -07:00
Allen Ibara 43f7e7a3cf Changes to the USBUART to make it less likely to drop characters at higher baud rates.
USB UART seems to work fine at 115.2Kbps or 230.4Kbps, but starts to drop characters
as the data rate goes higher. This commit changes the usbuart ISR to fill a software
FIFO, and adds a low priority timer interrupt to run deferred processing to drain a
FIFO and send USB CDCACM packets, rather than calling the usb send within the UART
ISR.

Tested on native platform, up to 1.5MBps.
2013-04-27 12:56:58 -07:00
Uwe Bonnes f1ea5ed8f9 F4Discovery: Slow Down GPIO access a little, as off-board SWD otherwise needs _very_ good ground connection. 2013-04-23 13:43:43 -07:00
Uwe Bonnes ad151fdca8 F4 Discovery: - Unconditionally use the System Bootloader - Use PC2/4/5/6 Pins for JTAG/SWD to avoid collision with eventual STLink Uart connection - Indicate Bootloader with blue LED 2013-04-23 12:14:18 -07:00
Gareth McMullin 6659d87e9b Remove DFU bootloader self protection.
It can still be enabled by building with -DDFU_SELF_PROTECT
2013-04-16 16:54:52 -07:00
Gareth McMullin 126df7bb35 Allow extra LDFLAGS on command line. Use nano.specs for swlink. 2013-04-16 16:47:38 -07:00
Gareth McMullin 45e02360b7 native: Fix up deprecated warnings. 2013-04-16 12:47:29 -07:00
Gareth McMullin 67a96410e3 libftdi: Clean up warnings. 2013-04-16 12:33:28 -07:00
Gareth McMullin da448ec1a6 libftdi: Add 'flossjtag' cable. 2013-04-16 12:14:37 -07:00
Paul Fertser 9c95f039cf Make code compatible with newlib-nano and use it for stlink
With gcc-arm-none-eabi-4_7-2013q1-20130313 and -O2 I get
   text    data     bss     dec     hex filename
  45744     304    2376   48424    bd28 blackmagic

With -Os the results are even more impressive:
   text    data     bss     dec     hex filename
  37900     304    2376   40580    9e84 blackmagic

Since -Os might lower the debugging speed, do not enable it yet in the
absence of real measurements.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2013-04-14 11:48:59 -07:00
Paul Fertser 91b481731d stm32f1/stm32f4: fix hardware CRC calculation
This was real-life tested on stm32f1 hardware including computation
for odd-sized ranges.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2013-04-14 11:35:23 -07:00
Gareth McMullin 61d464bf09 dfu: Fix warnings. 2013-04-04 20:16:13 -07:00
Gareth McMullin d4411fc51f Removed verison info from USB strings on native platform. 2013-03-31 12:18:11 -07:00
Gareth McMullin 87dad080e1 Fix build for f4discovery host. 2013-03-17 10:17:05 +13:00
Gareth McMullin 931cd97f15 Removed stm32_can and usps_f407 platforms. 2013-03-15 20:50:55 +13:00
Uwe Bonnes 486c5de013 swlink: Add missing item to connector layout 2013-03-14 22:56:31 +01:00
Uwe Bonnes 920ced062e SWLINK: Add variant for the STM8S Discovery board 2013-03-12 12:24:10 +01:00
Gareth McMullin e880c553fb Restore trace timer interrupt handler. 2013-03-12 19:14:11 +13:00
Gareth McMullin 7c2e994381 Split out platform specific bootloader parts to separate files. 2013-03-12 19:04:10 +13:00
Gareth McMullin 55f161208d Further split-up of DFU bootloader. 2013-03-12 15:00:15 +13:00
Gareth McMullin 14e5e8b0b6 Separated clean and dirty bootloader sections. 2013-03-12 09:57:28 +13:00
Vegard Storheil Eriksen e8f9d52d2f gdb_if: Fix USB flow control.
The introduction of the double buffering broke USB flow control, causing
loss of data when a new packet arrived with the previous still present in
the double buffer.

With this patch the endpoint is kept in NAK until the double buffer is empty.
2013-03-06 20:36:49 +01:00
Uwe Bonnes ff8de39774 usbuart: Don't try to send until configured. Enumeration may hang else 2013-02-15 17:55:36 +01:00
Uwe Bonnes dee82a0d4f Document changes between ST-Link V1 and V2 and implement needed changes 2013-02-15 17:39:27 +01:00
Uwe Bonnes f8ea954275 STLINK: Add pointer to Discoveryboard modification instructions 2013-02-11 19:36:22 +01:00
Uwe Bonnes 327ee49a67 usps_f407: add another platform 2013-02-03 14:22:14 +01:00
Uwe Bonnes 31f39339fd stm32/usbdfu.c: Rearrange code to clarify the tasks to be done 2013-02-03 14:14:48 +01:00
Uwe Bonnes 96ae3886ff stm32:cdcacm/usbdfu: Print version and build information in the product string 2013-01-25 13:01:57 +01:00
Uwe Bonnes 8415fc829b stm32/cdcacm.c: remove unneeded includes 2013-01-23 17:28:34 +01:00
Uwe Bonnes 6157754201 libftdi: List some know cables and allow to specify cable and serial 2013-01-23 00:16:01 +01:00
Uwe Bonnes ce059cc8ed LIBFTDI: Propagate the command line arguments to platform_init 2013-01-23 00:15:47 +01:00
Uwe Bonnes 73d120577b usbdfu: Write protect the bootloader sector on F4 2013-01-22 19:04:51 +01:00
Uwe Bonnes 747cc58c2c STLINK: Unconditionally enable MCO from 8 MHz HSE to PA8 as on original firmware. F3 Discovery has has no quarz for the F3 and needs it. 2013-01-21 12:48:37 +01:00
Uwe Bonnes 8033fb2529 STLINK: Allow to force bootloader by starting with the RESET button pressed 2013-01-21 11:02:44 +01:00
Uwe Bonnes 749fb318e7 gdb_if: Use a doubled buffer scheme for reading data from USB
Needed, as the OTG driver erases the data read after eventually calling the callback
2013-01-21 11:02:44 +01:00
Uwe Bonnes 1fa961841d Product and DFU String now tell the hardware they run on 2013-01-21 11:02:44 +01:00
Uwe Bonnes 04624af4e5 f4discovery: Adapt from the "native" file and add or change code where needed
- stm32_mem.py has problems with erasing the big pages, but dfu-util works
- serial GDB remote server doesn't work. It neither works for the STM32F107,
  so maybe there is a problem with the usbd_f107_driver.
2013-01-21 11:02:44 +01:00
Uwe Bonnes e373619374 stlink: LED is connected to GPIO9. Before LED was associated with the MCO Output. 2013-01-21 11:02:44 +01:00
Uwe Bonnes 8b1ec3151f usbuart, jtagtap, swdptap: Factor out GPIO setup 2013-01-21 11:02:44 +01:00
Uwe Bonnes 7e91f68efa f4discovery: Create a platforms directory for the F4 on the F4 Discovery board 2013-01-21 11:02:44 +01:00
Uwe Bonnes 15d7077115 traceswo: Move (now-constant) traceswo.c to platforms/stm32 2013-01-21 11:02:44 +01:00
Uwe Bonnes 09715e1db8 traceswo: factor out platform dependant parts 2013-01-21 11:02:44 +01:00
Uwe Bonnes 72ca77af53 stm32_can: Changes to get blackmagic to work 2013-01-21 11:02:44 +01:00
Uwe Bonnes 313a24b316 usbdfu: Allow for different, but constant flash page sizes 2013-01-21 11:02:43 +01:00
Uwe Bonnes 1eb9bfc650 platforms/stm32: Move more platform dependencies to platform.h 2013-01-21 11:02:43 +01:00
Uwe Bonnes 30d8aa1eb7 Move (now-constant) cdcacm.c to platforms/stm32 2013-01-21 11:02:43 +01:00
Uwe Bonnes 04415582bd cdcacm: move non-constant parts to platform.[hc] 2013-01-21 11:02:43 +01:00
Uwe Bonnes 533608a2f4 Move usbuart to the stm32 directory 2013-01-21 11:02:43 +01:00
Uwe Bonnes 16ac8e0478 stlink: Add DFU capability 2013-01-21 11:02:43 +01:00
Uwe Bonnes 7188a4a8cb Move usbdfu to platforms/stm32 directory 2013-01-21 11:02:43 +01:00
Uwe Bonnes 67f8176c5b stlink: Add the UART 2013-01-21 11:02:43 +01:00
Uwe Bonnes 35d6adc236 native/usbuart: Move platform dependant parts to platform.h 2013-01-21 11:02:43 +01:00
Uwe Bonnes 16b9c1e83f stlink: Update to current libopencm3 usb api. 2013-01-21 11:02:43 +01:00
Uwe Bonnes ebb48245aa stlink: Use a seperate linker file as stlink has only 64 kByte 2013-01-21 11:02:43 +01:00
Gareth McMullin ad9c76e97f Update to current libopencm3 usb api. 2013-01-10 22:01:21 -08:00
Gareth McMullin 09c0fb5773 Build with libopencm3 as a submodule.
Fix incompatibilities with latest libopencm3.
2012-10-22 18:45:42 +13:00
Gareth McMullin af1ef670ba libftdi: Fixed delay function. 2012-07-05 19:10:08 +12:00
Gareth McMullin 5dff263078 Add delay after reset request.
Hopefully this fixes problems observed with failing vFlashWrite.
2012-07-01 22:40:43 +12:00
Gareth McMullin 53af978295 Allow user to specify JTAG IR lengths.
This allows the use of devices that shift out values other than 0x01
from IR.
2012-06-30 16:47:23 +12:00
Gareth McMullin 01d0390b54 Fixed build for stlink platform. 2012-06-28 20:49:32 +12:00
Gareth McMullin 466bb66424 Made cur_target, last_target static in gdb_main.c.
Added target destroy notify mechanism.
2012-06-27 21:26:08 +12:00
Gareth McMullin a16123997b Added target.c for common target routines. 2012-06-24 19:08:49 +12:00
Gareth McMullin 54f4467c0f Added stlink platform for Discovery boards and ST's ST-Link hardware. 2012-06-10 19:06:37 +12:00
Gareth McMullin 89bcdcc60a Moved stm32 generic platform files out of native platform dir. 2012-06-10 17:34:26 +12:00
Gareth McMullin acff8d4497 Made jtagtap.c and swdptap.c STM32 generic. 2012-06-10 17:08:14 +12:00
Gareth McMullin 8d190cdbb9 Renamed platforms to 'native' and 'libftdi' and moved into 'platforms' dir. 2012-06-10 16:40:07 +12:00