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
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
89b908337d
Add missing #includes
2013-04-16 12:36:19 -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
Uwe Bonnes
6b7babf624
stm32f4: Add option erase command
...
--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
>From d488dffe4dab4e5188c750489006260745a9e25a Mon Sep 17 00:00:00 2001
From: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Date: Mon, 15 Apr 2013 15:26:58 +0200
Subject: stm32f4: Add option erase command
2013-04-15 10:22:17 -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
7db6e3e00c
Revert "Revert "STM32: Use hardware CRC unit""
...
This reverts commit 58abbf7fc7
.
2013-04-14 11:28:46 -07:00
Gareth McMullin
58abbf7fc7
Revert "STM32: Use hardware CRC unit"
...
This reverts commit 32b909067b
.
This CRC routine doesn't work. The bit order used by the
STM32 CRC unit is reveresed from what GDB uses.
2013-04-04 21:37:51 -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
3a70b81cce
Add erase_mass command for stm32f4 devices.
2013-03-27 14:10:07 -07:00
Gareth McMullin
d7a6f0165e
Accept new chip ID for stm32f4 and include flash layout for 2MiB parts.
...
Thanks to Mike Smith.
2013-03-27 11:24:43 -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
Gareth McMullin
d5be7b7a50
Merge pull request #11 from aibara/master
...
Another small fix for adiv5, ap_mem_write_bytes double increment analogous to previous fix for ap_mem_read_bytes
2013-02-18 00:51:45 -08:00
Gareth McMullin
99ac73907f
Merge pull request #9 from jeffstaley/master
...
Bug fixes for lpc11xx code
2013-02-18 00:50:50 -08: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
Allen Ibara
4d6ae0a1b2
Avoid double increment of dst in adiv5 write bytes function.
2013-01-31 13:39:41 -08:00
Uwe Bonnes
b1a942aca3
STM32F0/3: Handle the option bytes
2013-01-30 17:16:44 +01:00
Piotr Esden-Tempski
9819f9d5b3
Corrected the led pin for F3 and F4 discovery boards. Needs proper fixing so that it works on all platforms in the future.
2013-01-28 12:15:50 -08:00
mirage
b50b3ffa86
Error in calculating ending sector number.
2013-01-26 11:38:27 +08: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
32b909067b
STM32: Use hardware CRC unit
2013-01-23 16:11:17 +01:00
Uwe Bonnes
d868088d78
STM32L1: Add to the list of known JTAG IDs
2013-01-23 00:16:01 +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
09e2d00b8e
STM32F4: Add option byte handling
2013-01-22 18:49:11 +01:00
Piotr Esden-Tempski
0a91fc3b30
Updated stlink platform to the new locm3 usb api.
2013-01-21 13:43:37 -08: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
mirage
99a23a7e1a
As per the lpc11xx manual the stack pointer should be set before IAP
...
calls are made.
In lpc11xx_flash_prepare() and lpc11xx_flash_erase() bug in calculating
the ending sector number.
2013-01-13 09:50:23 +08:00
Gareth McMullin
2a46994b42
Fixed magic numbers for CSW access.
2013-01-11 10:02:34 -08:00
Gareth McMullin
ad9c76e97f
Update to current libopencm3 usb api.
2013-01-10 22:01:21 -08:00
Allen Ibara
83a06052f1
Don't increment src address twice in ap_mem_read_bytes function. Fixes corrupted thumb disassembly dumps in gdb.
2013-01-10 14:04:17 -08:00
Gareth McMullin
1d16d6c34c
Check for 10-bit address over flow when auto-incrementing.
...
Clean up whitespace.
2012-11-21 09:50:50 +13:00
Vegard Storheil Eriksen
8f04241aa8
Added support for STM32F37x.
2012-11-15 18:36:32 +01:00
Gareth McMullin
2637f072a1
Probe function return bool, true if device identified.
...
Correctly identify LM3S3748.
2012-11-03 23:53:25 +13:00
Gareth McMullin
e1c1162a1a
Recognise LPC43xx dual core devices.
2012-11-03 21:33:28 +13:00
Gareth McMullin
f526a82773
Move breakpoint packet handler out of main gdb loop.
...
Use gdb_putpacketz for constant strings.
2012-11-03 20:38:27 +13:00
Gareth McMullin
538f4d41b6
Clean up whitespace.
2012-11-03 19:59:01 +13:00
Gareth McMullin
dac1f60dc2
Clean up ancient bad typing and malloc madness.
2012-11-03 19:52:09 +13:00
Gareth McMullin
50b6c623d6
Check for null pointer before decalaring register array.
2012-11-03 19:04:27 +13:00
Gareth McMullin
0990c2224c
Allow target attachment to timeout and report failure.
...
This is needed for if the target device is held in reset.
2012-11-03 16:42:46 +13:00
Vegard Storheil Eriksen
faa43fdc92
Added support for STM32L1.
2012-10-25 21:44:26 +02:00
Vegard Storheil Eriksen
dddb51ca1c
Added support for STM32F0.
2012-10-24 18:08:01 +02:00
Vegard Storheil Eriksen
cb41855d91
Added support for STM32F3.
2012-10-23 19:40:23 +02: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
206237e8dd
Fix support for multiple devices on the same jtag chain.
...
Mask out architecture version in ADIv5 JTAG IDCODE.
2012-09-04 21:50:12 +12:00
Gareth McMullin
358ef32225
Whitespace fixes.
2012-09-04 21:48:49 +12:00
Gareth McMullin
9137c2d058
Add a copy of DEMCR to Cortex-M private data to preserve over 'run'.
2012-08-10 21:07:06 +12:00
Gareth McMullin
234d54c5a5
Correct stepping over programmed breakpoints.
...
Fixes issue #2 .
2012-07-05 22:08:01 +12:00
Gareth McMullin
0433d3d12a
cortexm: Moved all static data to the heap.
2012-07-05 21:26:26 +12:00
Gareth McMullin
0c379744e9
cortexm: Poll for S_RESET_ST in DHCSR to detect release from reset.
2012-07-05 20:12:18 +12:00
Gareth McMullin
00c4dbfb11
ADIv5 AP and DP are now allocated on the heap and reference counted.
...
They are unref'd and free'd automatically when the target list is
destroyed.
2012-07-05 19:23:28 +12: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
d64cec686a
Signal on halt is now returned by target_halt_wait().
...
Fault unwinding is now handled internally in target implementation.
GDB server doesn't need to know about it.
2012-06-30 20:29:08 +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
22993fb5bd
Clear target error on attaching.
...
Fixes possible lock-up on devices booting from blank flash.
2012-06-28 20:11:53 +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
4581da2034
Added option byte programming commands for STM32F1.
2012-06-26 21:02:11 +12:00
Gareth McMullin
29b9e103fb
Fixed crash on monitor commands with no attached target.
2012-06-26 19:48:50 +12:00
Gareth McMullin
94516329a0
Added 'erase_mass' command for STM32F1 and cleaned up some magic numbers.
2012-06-26 19:42:41 +12:00
Gareth McMullin
0e768664ac
Added 'vector_catch' command to control trapped vectors on Cortex-M.
2012-06-25 21:19:09 +12:00
Gareth McMullin
b0d41d155a
Made SAM3X monitor commands static.
2012-06-25 21:16:20 +12:00
Gareth McMullin
8b7c6bbaba
Added monitor commands to set GPNVM bits on SAM3X.
2012-06-24 21:55:22 +12:00
Gareth McMullin
03fdd23e9c
Added mechanism for target driver to add new monitor commands.
2012-06-24 21:41:32 +12:00
Gareth McMullin
a16123997b
Added target.c for common target routines.
2012-06-24 19:08:49 +12:00
Gareth McMullin
8872315e82
Updated lmi, nxp and stm32f4 drivers to use adiv5_target_ap().
2012-06-24 14:44:02 +12:00
Gareth McMullin
cb19164f2f
Added flash erase function for Atmel SAM3X.
2012-06-23 21:13:08 +12:00
Gareth McMullin
c09cbe8719
First cut at an Atmel SAM3X driver.
2012-06-22 23:13:25 +12:00
Gareth McMullin
33905d7203
Check target error after target specific probes.
2012-06-21 20:54:56 +12:00
Gareth McMullin
6089a66dce
Renamed target_flash_write_words to target_flash_write.
...
Buffer from GDB may not be aligned or integer number of words.
Corrected alignment in in STM32F1 driver.
2012-06-18 20:53:06 +12:00
Gareth McMullin
bc7e7d2112
Removed target header files containing a single prototype.
...
Target probe prototypes are all in target.h now.
2012-06-18 20:27:06 +12:00
Gareth McMullin
bc5a6f022b
Renamed Cortex-M driver appropriately since it support M0, M3 and M4F.
2012-06-18 19:56:19 +12:00
Gareth McMullin
0599bdc5c4
Cleaned up STM32F1 driver and renamed appropriately.
2012-06-18 19:46:41 +12:00
Gareth McMullin
3a0cc44bbe
Cleaned up access to ADIv5 AP in Cortex-M driver.
2012-06-18 19:28:06 +12:00
Gareth McMullin
8920864cb3
Cleaned up access to ADIv5 AP for target.
2012-06-18 19:19:13 +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
Gareth McMullin
c825270561
Indicate UART activity on yellow LED.
2012-06-10 15:45:38 +12:00
Gareth McMullin
c1a34f3f59
Removed incorrect directory references in Makefile.
2012-06-10 15:45:38 +12:00
Gareth McMullin
eabd4654f9
Use the same LED for run/idle. Reserve spare LED for UART.
...
Enable AFIO to fix EXTI for USB VBUS detect.
2012-06-10 15:45:38 +12:00
Gareth McMullin
c35d0b29b3
Removed a stray printf.
2012-06-03 21:28:39 +12:00
Gareth McMullin
bad49dbb90
Added missing stm32/usbuart.h.
2012-05-27 13:02:45 +12:00
Gareth McMullin
6030ff6f26
Separated USB UART interface into separate file.
2012-05-26 22:53:29 +12:00
Gareth McMullin
3dcdc5b26f
Improve USB UART handling. Fix interrupt priorities.
2012-05-26 20:57:47 +12:00
Gareth McMullin
e533812c32
Use our new USB VID/PID. Thanks OpenMoko, Inc.
...
DFU now uses the same short serial number as application.
2012-05-26 15:20:23 +12:00
Gareth McMullin
01bf5e6b44
Fixed and cleaned up build for libftdi platform.
2012-05-26 15:05:37 +12:00
Gareth McMullin
8d2c0ff9e5
Report target voltage on scan.
...
ADC is used on mini hardware, standard hardware reports ok/absent.
2012-05-23 21:44:39 +12:00
Gareth McMullin
40bb74cc81
Detect hardware version. Disable UART on mini h/w under debug.
2012-05-23 20:25:45 +12:00
Gareth McMullin
700f9e6ad1
DFU: Erase option bytes before writing.
2012-05-23 19:31:51 +12:00
Gareth McMullin
241bf765ec
DFU: Protect bootloader sectors if needed.
...
Check address bounds on erase/set address.
2012-05-22 21:47:18 +12:00
Gareth McMullin
de49a9a21f
Remove dependencies on make clean.
2012-05-19 11:54:22 +12:00
Gareth McMullin
32c1af05de
Don't clobber watchpoints used for trace.
2012-05-19 11:53:41 +12:00
Gareth McMullin
38bea69f8a
Fixed some issues with trace port capture.
...
Process last capture even on timeout. Prevents last bit getting lost.
On timeout, don't allow next edge to resync decoder.
Timeout on 6 bit periods instead of 5.
Set systick interrupt to low priority.
2012-04-29 20:35:19 +12:00
Gareth McMullin
86626085d8
Fixed TRACESWO capture.
...
'mon traceswo' reports serial number and interface/endpoint no for libusb.
Interrupt priorities set so TIM3 for trace is highest priority.
Increased trace endpoint packet size to 64.
Buffer many trace packets into a single usb packet. Stall on overflow.
Fixed stop bit detection in TIM3 interrupt handler.
2012-04-22 12:27:18 +12:00
Gareth McMullin
b39572e17c
Correct jtag port init to not interfere with usb vbus detect.
2012-04-22 12:21:24 +12:00
Gareth McMullin
c1e9425725
Cleaned up traceswo capture routine.
2012-04-20 17:56:41 +12:00
Gareth McMullin
21ecbd23ea
Added capture of SWO, passed to host over a vendor specific USB interface.
2012-04-18 19:15:44 +12:00
Gareth McMullin
c0493ee0e8
Monitor USB VBUS to control D+ pull-up resistor.
2012-03-24 19:25:16 +13:00
Gareth McMullin
a43cbf65c9
Report FP registers as feature "org.gnu.gdb.arm.vfp".
...
This allows GDB to synthesise single precision registers S0-S32.
2012-02-12 14:59:42 +13:00
Gareth McMullin
38d8147774
Added FP register support.
2012-02-12 14:24:54 +13:00
Gareth McMullin
a08e0bdd9c
Made command handlers static.
2012-02-12 14:24:18 +13:00
Gareth McMullin
35a9e10f49
Accept partial match of monitor commands.
2012-02-12 12:02:50 +13:00