Uwe Bonnes
a7f6753153
STM32f0: F07 and F09 have 2kiByte blocksize.
2015-06-22 16:44:19 +02:00
Uwe Bonnes
09544bc710
src/stm32f1.c: More verbose FO detection message.
2015-06-22 16:44:08 +02:00
Gareth McMullin
4af5c03d75
lmi: Use registers for stub parameters.
2015-04-21 20:05:41 +12:00
Gareth McMullin
ca17de6243
lpc11xx: Correctly detect LPC8xx devices.
2015-04-11 17:23:01 -07:00
Gareth McMullin
9009ed6581
cortexm: Add target option to inhibit assersion of SRST.
2015-04-11 16:08:59 -07:00
Gareth McMullin
24122aa318
lpc43xx: add chipid for LPC43S37.
2015-04-11 16:08:25 -07:00
Gareth McMullin
09b781f1c1
target: Remove old flash interface.
2015-04-11 16:05:41 -07:00
Gareth McMullin
3d8b34f180
lpc: split out common code and rewrite to use new interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
cd5d569d38
lpc: Reduce differences between lpc11xx and lpc43xx code.
2015-04-11 16:05:40 -07:00
Gareth McMullin
54eb3a719f
samd: use new flash interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
d340053078
nrf51: use new flash interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
1541f1c7a8
kinetis: use new flash interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
9e09ae2e1e
lmi: use new flash interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
622497f7e2
stm32f1: use new flash interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
7cd3432994
stm32f4: Add second bank for F42x/F43x.
2015-04-11 16:05:40 -07:00
Gareth McMullin
1efad1a03a
stm32f4: use new flash interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
fc2f266a13
sam3x: Update to use new buffered flash interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
21c209fd8f
sam3x: simplify probe function.
2015-04-11 16:05:40 -07:00
Gareth McMullin
3ed4207e8a
stm32l0: Update to use new buffered flash writes. Remove old stubs.
2015-04-11 16:05:40 -07:00
Gareth McMullin
45328ea124
Add buffering support for flash drivers.
...
Some devices can get a significant boost in performance by writing to
flash memories one page at a time. Generic function to do this are
provided at the target layer and may be used by flash drivers.
2015-04-11 16:05:40 -07:00
Gareth McMullin
36f749fed9
Fix flash buffer alignment in target layer.
2015-04-03 21:21:30 -07:00
Gareth McMullin
7202db5860
Add new functions to wrap flash driver erase/write/done operations.
2015-04-03 21:20:01 -07:00
Gareth McMullin
691d21989a
Add function to add simple flash driver to target.
...
Clean up ram/flash/memory map on target destruction.
2015-04-03 21:18:16 -07:00
Gareth McMullin
0fc635b3f8
Add functions for dynamically generating the XML memory map.
2015-04-03 21:18:16 -07:00
Gareth McMullin
482070c91b
Merge branch 'v1.6-branch'
...
Conflicts:
src/Makefile
src/platforms/stlink/platform.h
src/platforms/swlink/platform.h
2015-04-03 21:02:01 -07:00
Gareth McMullin
97824b7f02
Use git describe for version in generated header file.
2015-04-03 20:21:33 -07:00
Gareth McMullin
865beaba98
Suppress warning about longjmp clobbering local variable.
2015-04-02 21:06:18 -07:00
Florian Larysch
bc89217e3f
sam3x: add SAM3U support
2015-04-01 00:04:52 +02:00
Gareth McMullin
21d464293c
gdb: don't access target fields directly.
2015-03-29 18:06:13 -07:00
Gareth McMullin
c2cde32716
Improve cortexm_read/write_regs. Use more sensible return types.
2015-03-29 17:37:03 -07:00
Gareth McMullin
274b818517
Make cortexm_pc_write static.
2015-03-29 16:48:51 -07:00
Gareth McMullin
779dcf0f69
stm32l0: use cortexm_run_stub.
2015-03-29 16:47:55 -07:00
Gareth McMullin
012922ed00
nrf51: use cortexm_run_stub.
2015-03-29 16:31:38 -07:00
Gareth McMullin
810269dce1
nrf51: Use generated stub.
2015-03-29 16:28:18 -07:00
Gareth McMullin
cac286d398
lmi: Use generated stub with cortexm_run_stub.
2015-03-29 16:20:57 -07:00
Gareth McMullin
2215e33bcf
lmi: Clean up magic numbers, remove adiv5 links, and doc ref.
2015-03-29 15:58:18 -07:00
Gareth McMullin
31fae032f7
cortexm: Separate stub loading from running.
2015-03-29 15:20:00 -07:00
Gareth McMullin
9f271d5cd7
Consistently use 'target *t' for target var.
2015-03-28 20:47:17 -07:00
Gareth McMullin
1e54139f4a
target: Remove pc_read/pc_write methods.
2015-03-28 20:15:33 -07:00
Gareth McMullin
4313b64bbe
Add a flash_done target method.
2015-03-26 20:47:57 -07:00
Gareth McMullin
f74def3552
Remove old STM32L1 driver.
2015-03-26 20:47:57 -07:00
Gareth McMullin
d9af3cca6c
Remove unfinished ARM7TDMI driver.
2015-03-26 20:47:57 -07:00
Gareth McMullin
64c79e1d03
Consistently name target var 't' in cortexm.
2015-03-26 20:47:57 -07:00
Gareth McMullin
bda4279028
Send error reply and abandon target list on unhandled timeout.
2015-03-26 20:42:47 -07:00
Gareth McMullin
68f54a3545
Remove old platform specific error handling macros.
2015-03-22 14:06:56 -07:00
Gareth McMullin
5ab8564ff6
Clean up handling of lost targets using new exceptions mechanism.
2015-03-22 14:05:12 -07:00
Gareth McMullin
588bad34ba
Build with -Os for swlink.
2015-03-22 12:26:45 -07:00
Gareth McMullin
9a8dbdeff7
Fix errors when building for non-native platforms.
2015-03-22 12:26:45 -07:00
Gareth McMullin
83b83ca48f
Use controlled timeout on SW/JTAG DP transactions.
2015-03-22 12:26:45 -07:00
Gareth McMullin
d0a03f55a6
Handle timeout exceptions during scans and report to the user.
2015-03-22 12:26:45 -07:00
Gareth McMullin
d6225eec76
Raise timeout exception when target is in WFI.
...
Ignore the exception when polling for halt, and report the exception
to the user if halting the target fails.
Remove old allow_timeout flag in DP struct that's no longer needed.
2015-03-22 12:26:45 -07:00
Gareth McMullin
fa046601a5
Add exception handling mechanism and raise exception on low-level comms failure.
2015-03-22 12:26:45 -07:00
Gareth McMullin
a497127a8d
Move MIN macro to general.h
2015-03-22 12:23:03 -07:00
Gareth McMullin
acfd258aa7
Rewrite STM32F4 stub in C and use new interface.
2015-03-19 21:49:09 -07:00
Gareth McMullin
8ddb186b35
Allow stub to return an error code.
2015-03-19 21:49:09 -07:00
Gareth McMullin
437aedda11
Rewrote stm32f1 stub in C and call with parameters in registers.
2015-03-19 07:48:57 -07:00
Gareth McMullin
c2462a6788
Add cortexm generic stub call, and use in stm32f1 driver.
2015-03-19 07:48:47 -07:00
Gareth McMullin
e380ced517
Change STM32F1 driver to use generated stub.
2015-03-19 07:43:36 -07:00
Gareth McMullin
1de685198c
Flatten samd_probe.
2015-03-17 21:58:36 -07:00
Gareth McMullin
5c337c9aa7
Whitespace.
2015-03-17 21:58:36 -07:00
Richard Meadows
1366c32f89
samd: Simplified samd_flash_write further by always using manual writes.
...
Tested on all three devices as listed at the top of samd.c
2015-03-17 21:58:36 -07:00
Gareth McMullin
0bf7778759
samd: Remove low level ADIv5 calls an favour of target_mem_write.
2015-03-17 21:58:36 -07:00
Gareth McMullin
018d9cce80
Check vasprintf return value.
2015-03-17 21:19:02 -07:00
Gareth McMullin
f5f87bf70f
Build for stlink with -Os.
2015-03-15 20:39:19 -07:00
Gareth McMullin
c3f798438a
Remove abstraction of adiv5_dp_write. Both implementations were identical.
2015-03-15 17:12:31 -07:00
Gareth McMullin
2bf54f9a72
Replace adiv5_ap_mem* functions with inline wrappers to target mem*.
2015-03-15 16:02:09 -07:00
Gareth McMullin
ee3af96a73
Consolidate target_mem_read* and target_mem_write* methods.
...
There are now only mem_read and mem_write, that must
handle all alignments. These methods return void, errors must be
checked with target_check_error.
2015-03-15 14:31:57 -07:00
Gareth McMullin
2e785e56fa
adiv5: Encode APnDP into register definition.
...
Clean up magic numbers in adiv5 calls.
Removed old adiv5_dp_write_ap and adiv5_dp_read_ap.
2015-03-14 18:03:04 -07:00
Gareth McMullin
6f5b1873d7
Use size_t for sizes in flash functions. Fix all sign compare warnings.
2015-03-14 15:18:22 -07:00
Gareth McMullin
f5c856af3b
Fix pointer sign warnings and remove -Wno-pointer-sign.
2015-03-13 20:35:39 -07:00
Gareth McMullin
f52a51403f
stm32l0: cleanup includes.
2015-03-11 20:47:51 -07:00
Gareth McMullin
1196b03d66
stm32l0: Fix pointer/integer casting warnings.
2015-03-11 20:47:51 -07:00
Gareth McMullin
3d28c1418c
Cleaned up printf/scanf for C99 integer types.
2015-03-11 20:47:42 -07:00
Gareth McMullin
4baa8aba4f
cdcacm: Fix DCD for second ACM interface.
2015-03-11 20:13:38 -07:00
Gareth McMullin
7c1c19881f
Reassert DCD after DTR is written. Fixes #41 .
2015-03-11 05:45:43 -07:00
Marc Singer
bf1cb71eb7
Revisions on Gareth's comments.
...
o Implemented byte writes to EEPROM now that the emulator has a
byte-wide target write.
o Added comment describing the reason that mass erase doesn't work.
o Removed all unused code.
o Changed to Linux kernel indent style.
o Changed to Linux kernel function to parenthesis style.
o Stub generation doesn't use Perl, switched to sed. Also, only
including the instructions instead of the source and the instructions.
o Handling unaligned destination writes.
2015-03-08 16:25:22 -07:00
Marc Singer
e0a8ce5a88
STM32L0x target support.
...
Target support for stm32l0's and stm32l1's including option bytes and
data EEPROM. This module will superceed the previous stm32l1 driver.
o Program flash write and erase.
o Options modification and interpretive status.
o Stubs for program flash writes and erases. Stubs are modestly
faster than non-stub version. The stm32l0 will not execute stubs
when the MCU has crashed. A monitor option may be used to force
non-stub flash writes.
o Stubs generated from C++ code and converted to arrays of half-words.
o Writes to data EEPROM supoprted when loading segments.
o EEPROM data monitor command to write words.
o Stubs supported on stm32l1.
2015-03-08 16:17:34 -07:00
Gareth McMullin
0d99e22a26
Quieten build system.
2015-03-07 11:03:50 -08:00
Gareth McMullin
1eac78b1c8
Move targets to make bin and hex files to toplevel makefile.
2015-03-07 11:03:50 -08:00
David Lawrence
c8f469c868
SAM4S: Erase flash in 8K instead of 16K chunks.
2015-03-05 10:46:22 -05:00
Gareth McMullin
49390fee2a
Fix Windows DFU instructions in the Hydrabus readme.
2015-03-04 20:22:19 -08:00
Benjamin Vernoux
9f0c29d329
Add support for HydraBus (tested with SWD with STM32F405 and SWD+JTAG with LPC4330 M0/M4)
2015-03-04 20:22:00 -08:00
Gareth McMullin
c731c6ece3
Make F4 conditionals check STM32F4, not F4DISCOVERY.
2015-03-03 21:39:29 -08:00
Gareth McMullin
2e37db2270
Error on any failure on 'make all_platforms'
2015-03-02 23:14:43 -08:00
Gareth McMullin
87b8f330f0
Add a makefile target to build all platforms.
2015-03-02 22:20:25 -08:00
Gareth McMullin
3e466f2d23
Factor out timing routines common to all STM32 targets.
2015-03-02 21:59:04 -08:00
Gareth McMullin
b07ffffcee
Factor out common cdcacm.c from stm32 and tm4c.
...
Cleaned up interface to enter bootloader and read serial number.
2015-03-02 10:16:33 -08:00
Gareth McMullin
4d4813de87
Clean up includes everywhere.
...
All source files include general.h first and before anything else.
This inlcludes platform.h and platform_support.h
No header file needs to include to include any of these, but should include
any others needed for it's own declarations.
2015-03-01 22:16:04 -08:00
Gareth McMullin
9d80641261
Move common platform include to a common directory.
2015-03-01 20:15:31 -08:00
Gareth McMullin
476f83b69a
Move common USB stuff out of platform header files.
2015-02-28 22:48:26 -08:00
Gareth McMullin
5eff0ab5d6
Factor out common GPIO code in STM32 platforms.
2015-02-28 22:09:50 -08:00
Gareth McMullin
48fb7ec662
Add missing includes to fix warnings.
2015-02-28 22:06:10 -08:00
Gareth McMullin
75001a4421
Factor Morse code functions out of platform code.
2015-02-28 22:05:10 -08:00
Gareth McMullin
5d136398e1
Use sensible return convention for platform_target_get_power()
2015-02-28 21:23:24 -08:00
Gareth McMullin
1b2cd547bc
Merge pull request #72 from dlaw/master
...
Add support for SAM4 erase command
2015-01-26 10:59:32 +13:00
Gareth McMullin
1552218e8f
Merge pull request #71 from maknoll/master
...
SAM3S support
2015-01-26 10:56:52 +13:00
David Lawrence
b771d0dcd6
Add support for SAM4 erase command
2015-01-23 16:36:12 -05:00
Martin Knoll
a7283196d1
SAM3S support
2015-01-22 16:09:01 +01:00
Richard Meadows
ea78e2d737
Complete refactor of samd20 -> samd
2015-01-18 22:40:02 +00:00
Richard Meadows
565795e168
Added support for SAMD10/11/21, and list of tested SAM D devices
...
This allows blackmagic to be used with the new Arduino Zero board via
the unpopulated SWD header on the east end of the board.
2015-01-18 22:35:59 +00:00
Richard Meadows
3726061773
Support for the NVMCTRL Security Bit (PROT=1)
2015-01-18 20:46:26 +00:00
Richard Meadows
e75ea64a01
Renamed nvmc control a register to match datasheet
2015-01-18 14:11:58 +00:00
Richard Meadows
1c1312b467
Added better feedback for samd erase failures
2015-01-18 13:22:41 +00:00
Gareth McMullin
a3ab9b24d1
Avoid repetition of cortexm code in stmd20 driver.
2015-01-18 12:16:17 +13:00
Gareth McMullin
f1981925b3
Merge branch 'samd20-revb-fix' of https://github.com/richardeoin/blackmagic into richardeoin-samd20-revb-fix
2015-01-18 11:03:10 +13:00
Richard Meadows
cad30cfa39
Fixed run command on SAM D20 old revision B silicon.
...
This appears to be related to Atmel Errata Reference 12015 (see §
35.4.1 DSU in the datasheet) but only applies to revision B silicon -
not revision C. While this is an old silicion revision (latest is
revision E as of 17 Jan 2015) I found one on a development board.
2015-01-17 18:58:00 +00:00
Richard Meadows
9072faf6ca
Fixed spaces / tabs from last commit
2015-01-17 18:35:36 +00:00
Richard Meadows
c12002b636
Check target_attach succeeded in vRun command, and return error if not
2015-01-17 18:30:58 +00:00
Gareth McMullin
abcc04d4f3
Merge pull request #63 from beewoolie/static-stubs
...
Fix to move stubs into rodata.
2015-01-17 13:18:20 +13:00
David Lawrence
985627af7e
SAM4S support
2015-01-12 14:53:58 -05:00
Marc Singer
da28970c3e
Fix to move stubs into rodata.
...
o Stubs were declared as globals which means they will be initialized
data. No need for this. Now, stubs are static const and are only
present in the program image.
2015-01-09 18:18:10 -08:00
Gareth McMullin
9c5ffd61f7
First cut at Freescale Kinetis support.
2015-01-06 22:26:00 +13:00
Uwe Bonnes
d162e75ceb
stm32f4.c: Add STM32F411 ID.
2014-12-23 21:32:21 +13:00
Gareth McMullin
fdd7799304
Merge pull request #60 from themadinventor/lp-icdi-clean
...
Added (preliminary) support for TI TM4C123 Launchpad
2014-12-23 21:31:43 +13:00
Fredrik Ahlberg
346258934b
Added support for TI TM4C123 Launchpad
2014-11-23 22:59:16 +01:00
Vegard Storheil Eriksen
9434299613
Add support for halfword memory accesses.
2014-10-21 00:12:50 +02:00
Gareth McMullin
fd9eef821e
Revert USB double buffered OUT handling on STM32F1.
...
This introduced a bug where the endpoint can get stuck, forever sending NAK.
2014-10-16 13:50:56 -07:00
Gareth McMullin
f85a8c4ebb
Fix build for f4discovery by defining platform_hwversion().
2014-10-16 13:50:56 -07:00
Gareth McMullin
a5549d630c
Whitespace cleanup.
2014-10-16 13:50:56 -07:00
Gareth McMullin
60626e5bbe
Merge pull request #57 from aibara/dev/lpc43xx_wdt
...
LPC43XX: Attempt to handle case of running WDT.
2014-09-17 10:14:21 +12:00
Allen Ibara
c5abc9a0bd
LPC43XX: Attempt to handle case of running WDT.
...
If the WDT is running, it may reset while we are trying to flash.
Since we can't disable it, we set a long period and attempt to pet it
before each IAP call.
2014-09-16 14:54:24 -07:00
Gareth McMullin
9fda010b32
Give up unwinding a fault if reading the stack fails.
2014-09-12 12:24:43 +12:00
Richard Eoin Meadows
091389b982
SAMD20 prints die revision
2014-09-03 21:17:48 +12:00
Richard Eoin Meadows
f4e20d0d04
Ooops - Semicolon from last commit :-)
2014-09-03 21:17:48 +12:00
Richard Eoin Meadows
f4474557d0
SAM D20 MBIST shouldn't fail silently
2014-09-03 21:17:48 +12:00
Richard Eoin Meadows
39a0b064af
Use external access DSU range
2014-09-03 21:17:48 +12:00
Richard Eoin Meadows
2a444ab1fb
Fixed SAM D20 support with reset attached.
...
monitor connect_srst enable can be used to connect to targets that re-use the SWCLK pin
2014-09-03 21:17:48 +12:00
Richard Eoin Meadows
e75798f201
Optimised flash write, programming speed is now approx. 2x faster
2014-09-03 21:17:48 +12:00
Richard Eoin Meadows
02812b6bf1
Added notes about the datasheet and NVMCTRL Security Bit
2014-09-03 21:17:41 +12:00
Richard Eoin Meadows
945a2802d5
Atmel SAMD20 support
2014-09-03 21:17:41 +12:00
Gareth McMullin
9d9ecb572e
Assert SRST when scanning JTAG if configured. Closes #54 .
2014-08-27 19:03:37 +12:00
Gareth McMullin
8a32b46f65
Fix build for non-native targets.
2014-08-08 20:22:33 +12:00
Gareth McMullin
84fc40085e
Send a null packet on end of USB transfer if last data packet is full.
2014-08-06 12:38:57 +12:00
Hans Baier
d265b76001
Add support for STM32F401RE
2014-08-06 10:49:48 +12:00
Gareth McMullin
d7c30caa3e
Style clean up.
2014-07-30 21:15:43 +12:00
Gareth McMullin
f06bc0fd79
Minor fixes to stm32f1 flash routines.
2014-07-30 20:27:30 +12:00
Gareth McMullin
fad6eb3c14
Fix parity support on USB UART interface.
2014-07-30 19:57:18 +12:00
Gareth McMullin
2b61bed291
Merge branch 'nrf51-uicr' of https://github.com/richardeoin/blackmagic into richardeoin-nrf51-uicr
...
Conflicts:
src/nrf51.c
2014-07-30 16:55:02 +12:00
Gareth McMullin
4447fb428a
Merge pull request #50 from richardeoin/nrf51-ficr
...
Added monitor commands for reading various nRF51 device parameters
2014-07-30 16:51:46 +12:00
Gareth McMullin
936b7460e0
Merge branch 'John-Titor-lpc11xx-flash'
2014-07-30 16:48:56 +12:00
Gareth McMullin
3daf5d7e11
Merge branch 'lpc11xx-flash' of https://github.com/John-Titor/blackmagic into John-Titor-lpc11xx-flash
...
Conflicts:
src/lpc11xx.c
2014-07-30 16:45:55 +12:00
Gareth McMullin
bfe5d1168b
Merge pull request #47 from richardeoin/target-power
...
Added monitor option to toggle target power
2014-07-30 14:19:46 +12:00
Gareth McMullin
7e396b0205
Merge pull request #30 from BuFran/pulls/l152c
...
[SUP] Add support for stm32l152c-discovery board
2014-07-30 14:17:51 +12:00
Gareth McMullin
5d61575ce6
Merge remote-tracking branch 'origin/lpc8xx'
...
Conflicts:
src/lpc11xx.c
2014-07-30 14:11:10 +12:00
Frantisek Burian
88a80e25d5
[SUP] Add support for stm32l152c-discovery board
2014-07-09 16:35:33 +02:00
Richard Eoin Meadows
7dc18768c4
Support erasing + flashing the User Information Configuration Registers (UICRs)
2014-06-11 13:43:59 +01:00
Richard Eoin Meadows
380f128d0a
Added monitor commands for reading various nRF51 device parameters
2014-06-11 13:39:06 +01:00
none
3543e560af
Fix lpc11xx magic number programming when chunks overlap
...
In the case where the vectors are in a separate section smaller than
the chunksize, the lpc11xx magic number calculation could generate an
incorrect value.
2014-06-10 21:23:17 -07:00
Richard Eoin Meadows
c1b1d45155
TRST only exists on hardware version 0
2014-05-28 12:45:21 +01:00
Richard Eoin Meadows
42e41edfa1
Target power option is only for versions > 0
2014-05-28 12:33:43 +01:00