Gareth McMullin
459bae4ea1
ADIv5 structural changes.
...
- Probe ROM table
- Mem-AP no longer pretends to be a target
- AP no longer provides priv pointer
2016-04-19 13:24:05 -07:00
Gareth McMullin
8d9d6f692c
Fix platform_delay
2016-04-19 13:23:04 -07:00
Gareth McMullin
cd1d72257f
Cleanup of SRST handling.
...
- Remove connect_assert_srst global.
- Attach functions always release reset.
- Platforms provide a method to poll the reset pin.
- Reset on scan is all internal to command.c
- Reset is released on a failed scan. Fixes #111
2016-04-19 13:12:16 -07:00
Gareth McMullin
e010cd763d
Merge pull request #125 from bvernoux/master
...
Cleanup and Fix code for HydraBus
2016-04-18 13:01:00 -07:00
Gareth McMullin
294d93cfe3
Fix build warnings.
2016-04-18 12:25:48 -07:00
bvernoux
2e3778e772
Cleanup and Fix code for HydraBus
2016-04-18 00:48:06 +02:00
Gareth McMullin
2685906fc8
Merge pull request #124 from gsmcmullin/windows_fixes
...
Fixes to allow building for Windows.
2016-04-16 14:49:22 -07:00
Gareth McMullin
799ccf99f5
Merge pull request #123 from gsmcmullin/digilent_cable
...
Add Digilent JTAG-HS3 FTDI cable.
2016-04-15 13:06:30 -07:00
Gareth McMullin
966b21c3e1
Merge pull request #121 from esden/bmpm2_support
...
Bmpm2 support
2016-04-15 13:01:34 -07:00
Gareth McMullin
9141418bd4
Merge pull request #80 from gsmcmullin/hydrabus
...
Add HydraBus support
2016-04-15 13:00:52 -07:00
Gareth McMullin
987a926a19
Fixes to allow building for Windows.
2016-04-15 12:58:36 -07:00
Gareth McMullin
4e8b40ad5d
Add Digilent JTAG-HS3 FDTI cable.
2016-04-15 12:05:43 -07:00
Piotr Esden-Tempski
8e8a53ef12
Added support for Black Magic Probe Mini V2.0e.
...
All BMPM2 prototypes after revision a have their LED0 and LED2 inverted.
Because of that we have bumped the hardware revision to swap the LEDs in
software. This is easier than messing up the routing of the LEDs.
2016-04-06 19:23:17 -07:00
Piotr Esden-Tempski
f2650df731
Fixed a hardware version detection glitch.
...
If you try to read out the GPIO immediately after setting the weak pull
on the pin it is possible that you will not read the correct value on a
floating pin. We need to use a busy wait loop instead of the
platform_delay because the platform timing is not initialized yet. We
also can not initialize the platform_delay code yet because it requires
LED gpio to be configured. A busy wait seems to do the job and is easier
than refactoring the codebase to use the platform_delay function.
2016-04-06 19:20:43 -07:00
Karoly Molnar
33414c3a9b
added support for KL02 family
2016-03-15 17:31:24 +01:00
Gareth McMullin
cc244eb2d8
Merge pull request #108 from lbonn/upstream-patches
...
Some various fixes
2016-03-09 10:27:34 +13:00
Gareth McMullin
c0f92ea5a7
Merge pull request #116 from esden/flashier_dfu
...
[native] Make the native bootloader bit more flashy.
2016-03-09 10:26:56 +13:00
Gareth McMullin
4e23c95c53
Merge pull request #115 from esden/bmpm2
...
[native] Check for hardware version by pull-up and -down. Print HW Ve…
2016-03-09 10:26:43 +13:00
Michał Derkacz
fbc344c1cd
nrf51: Another undocumented version.
2016-02-25 17:43:14 +01:00
Piotr Esden-Tempski
c0c8bade6f
[native] Make the native bootloader bit more flashy.
...
This change has also a practical reason. When flashing and testing the
hardware this change makes it easier to make sure all the LEDs work. Now
when the DFU bootloader is idle it is scanning the LEDs making it easy
to see if one of them has an issue.
In addition to that, the bootloader now indicates when there is data
being flashed using the DFU interface. In cases when one has more than
one device connected and accidently starts flashing a wrong device this
is very useful feature to have.
2016-02-14 23:47:57 -08:00
Piotr Esden-Tempski
b7e5005679
[native] Check for hardware version by pull-up and -down. Print HW Version in mon command.
...
Until now the native hardware was pulling PB5-7 down and checking if
they were asserted high. BMPMV2b is pulling the pins down instead of
high. The hardware version routine now determines the hardware version
based on the fact if a pin is asserted at all. This means that if a pin
is left floating, the version number bit will be 0, and if the pin is
asserted either high or low the bit will be set to 1. While we were
already at it the "monitor version" command in GDB will now also print
the hardware version number.
2016-02-14 22:49:29 -08:00
Mark Rages
9c846d5029
Add nRF52 support.
2016-02-10 20:23:43 -07:00
Gareth McMullin
d5e263122f
Increase JTAG_MAX_DEVS to 32.
...
Fixes #112
2016-02-02 10:04:57 +13:00
Mark Rages
7d957cbfdf
Update nRF51 IDs, add nRF51422 and xxAB/xxAC devices.
...
There were a lot of nRF51 device ids missing. I wrote a script to pull nRF51 IDs from the openocd repository, which seems to be more up-to-date. The script's output goes in nrf51.c.
2015-12-17 17:50:41 -07:00
Laurent Bonnans
c9d3cf71dd
gdb_main.c: fix buffer overflow on large reads
...
When gdb issues a `m xx,200` command, the probe should respond with a
packet of size 2*0x200=1024 which is the size of the packet buffer.
However, the `hexify()` procedures writes 1025 bytes in the buffer.
During my tests, it caused the probe to hang when issuing a `dump`
command. Presumably by overwritting the `cur_target` variable.
2015-12-14 11:28:28 +01:00
Laurent Bonnans
2d7b24c566
efm32: inhibit srst
...
EFM32s don't seem to like to be completely resetted while being debugged
(load and break were broken)
2015-12-14 11:28:28 +01:00
Clement Burin des Roziers
1f62fa4909
CRC32: improved computation time
...
Reading one byte at a time was so slow that it caused the gdb client to
timeout.
2015-12-14 11:28:28 +01:00
Gareth McMullin
61c6c767b0
Merge pull request #107 from richardeoin/efm32
...
[efm32] Use SW-DP IDCODE register for identification
2015-12-13 14:59:49 +13:00
Richard Meadows
544e1080a3
[efm32] Use SW-DP IDCODE register for identification
...
Instead of the Device ID register which isn't constant for EFM32 parts
2015-12-01 21:41:08 +00:00
Gareth McMullin
e6d388d057
Merge pull request #106 from richardeoin/efm32
...
Support for Silicon Labs EFM32/EZR32
2015-11-17 07:59:35 -08:00
Richard Meadows
fa7cccff23
[efm32] Formatting fixes
2015-11-14 14:56:03 +00:00
Richard Meadows
b678b83062
[efm32] oops, fixed ezr32lg probe message
2015-11-14 14:42:09 +00:00
Richard Meadows
fe3874bc82
[efm32] add extra details to probe message
2015-11-14 14:41:48 +00:00
Gareth McMullin
091adda0b4
Merge branch 'umetronics-master'
2015-11-11 12:41:57 -08:00
Gareth McMullin
600f0d27d9
Use sniprintf on newlib platforms.
2015-11-11 12:41:13 -08:00
Gareth McMullin
56b10a1255
Merge branch 'f205' of https://github.com/schodet/blackmagic into schodet-f205
...
Conflicts:
src/stm32f4.c
2015-11-11 12:27:27 -08:00
Richard Meadows
07f7571dd1
Add basic support for EFM32/EZR32 chips
...
Tested with EZR32LG230
2015-10-23 19:58:44 +01:00
Antti Nykänen
3f9ea8250a
Defined snprintf to sniprintf on launchpad-icdi
2015-10-22 19:33:45 +03:00
Antti Nykänen
2365bbe010
TI TM4C/LM4F cdc-acm fixes
2015-09-30 15:48:01 +03:00
Gareth McMullin
7e5a664df9
Merge pull request #98 from UweBonnes/stm32l4
...
Add STM32L4 handling. No option write handling yet.
2015-09-01 11:01:36 +12:00
Gareth McMullin
6ec35bc9ff
Merge pull request #97 from UweBonnes/stm32f7
...
Stm32f7
2015-09-01 10:58:57 +12:00
Gareth McMullin
3aa333ee1c
Merge pull request #95 from bvanheu/feature/nrf51_new_idcode
...
Add 0x0072 as a valid & supported idcode for NRF51
2015-09-01 10:30:55 +12:00
Uwe Bonnes
f7492d93be
Cortex-M: Detect and handle flash patch revision.
...
According to ARM v7-M Architecture Reference Manual
ARM DDI 0403E.b (ID120114)
2015-08-22 13:01:24 +02:00
Uwe Bonnes
51e2adc6d9
Add STM32F7.
2015-08-22 13:01:24 +02:00
Uwe Bonnes
2336a313e4
Add STM32L4 handling. No option write handling yet.
2015-08-22 12:59:56 +02:00
Nicolas Schodet
97cb75145d
Add support for STM32F2xx family
...
The F405 rev A uses a wrong CPUID, this patch use the core identifier to make
the distinction.
Tested with:
- F205
- F405 rev Z
- F429
Unfortunately, I do not have any F405 rev A.
2015-08-17 14:35:11 +02:00
Gareth McMullin
ef574b72b1
Add support for STM32F446x family.
...
Tested with a custom hardware.
2015-07-31 09:05:27 -07:00
Benjamin Vanheuverzwijn
420d2c41c7
Add 0x0072 as a valid & supported idcode for NRF51
2015-07-31 00:00:00 -04:00
Richard Meadows
beacf9c85c
Refactor stm32f1_probe
2015-07-30 07:58:55 +01:00
Richard Meadows
101821ae31
[Bugfix] stm32f1_probe would always return true, breaking support for all other targets
...
The intention of `if (t->driver)` conditional was to test if any of the cases in the preceeding switch/case were met. However t->driver was previously set to point to a default value in cortexm.c:200 and therefore this would always evaluate to true. I've replaced the broken if statement with a duplicate of the switch/case run above.
It looks like this was introduced in 09544bc710
(PR #92 ) but 492d6c9cf8
maybe contributes to the confusion in this instance.
2015-07-12 17:32:48 +01:00
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