Uwe Bonnes
b887a8d355
stm32: Portability changes
...
Allow to compile on STM32F0 platform too.
2021-07-15 15:06:54 +02:00
Uwe Bonnes
3cfd8226ba
bmp_libusb: Check only for cmsis_dap if no cable has been found yet.
2021-06-18 11:44:50 +02:00
UweBonnes
a0dbb2a787
Merge pull request #896 from RadinnAB/for-upstream
...
Add nRF51 erase UICR command and fix some warnings
2021-06-07 17:43:56 +02:00
fabalthazar
ea4b232996
Fix de83dbb: duplicate BMP_MODE_FLASH_VERIFY -> BMP_MODE_FLASH_WRITE_VERIFY
2021-06-07 17:29:41 +02:00
Björn Mellström
5ea01030e2
Add nRF51 command for (only) erasing the UICR registers
...
Original implementation by: Benjamin Vedder <benjamin@vedder.se>
2021-06-07 13:50:36 +02:00
Björn Mellström
d987a8dd8c
Add define to allow platform override of debug printf function
2021-06-04 06:58:29 +02:00
Björn Mellström
4b8c4990dc
Fix warning about unused variable in adiv5.c
...
This happens if the platform has debugging support but debugging
is not enabled.
2021-06-03 12:56:41 +02:00
Björn Mellström
711a87f7ba
Fix some warnings when compiling with -Wshadow
...
There are still a few more places that would need to be corrected
before -Wshadow could be added by default.
2021-06-03 12:55:28 +02:00
Björn Mellström
53f022d29b
Require semicolon after debug log statements
...
This also fixes a warning about an empty body in cortexm.c
if PLATFORM_HAS_DEBUG is defined but debugging is not enabled:
if (platform_timeout_is_expired(&to))
DEBUG_WARN("Reset seem to be stuck low!\n");
2021-06-03 12:52:07 +02:00
Björn Mellström
04eab8e1f8
Add guard around _GNU_SOURCE define
...
This avoids warnings if the define has already been set by the
build system.
2021-06-03 12:51:27 +02:00
Uwe Bonnes
2a0d608b07
hosted: Fix last commit
...
-Wno-format-truncation may not be understood by all systems
2021-06-01 18:42:37 +02:00
Uwe Bonnes
1b49823f64
Fix hosted compile on MacOS. hidapi-libusb has a different name
2021-06-01 16:58:25 +02:00
Uwe Bonnes
de83dbb7e2
cl-utils: Fix bug introduced with 5288eef617
...
Always use the file size for write and verify.
2021-06-01 16:23:19 +02:00
Uwe Bonnes
c0437e7b25
bmp_serial: Autodetect more BMP string variants.
2021-06-01 16:23:19 +02:00
Uwe Bonnes
891633322a
lpc: Care for protected pages on LPC80x devices.
2021-06-01 16:23:19 +02:00
Uwe Bonnes
f7b4697280
lpc11xx/lpc8c04: Do not expose two top system flash sectors.
2021-06-01 16:23:19 +02:00
Uwe Bonnes
42ebcac329
efm32_devices: Rearrange struct efm32_device_t to save flash space.
2021-06-01 16:23:19 +02:00
Uwe Bonnes
21a702dc1e
lpc: More verbosity and more definitions
2021-06-01 16:23:19 +02:00
Uwe Bonnes
6454d0bc96
bmp_libusb: Invalidate manufacturer and product in case libusb_get_string_descriptor_ascii fails.
...
Prevent more false detections
2021-05-20 12:06:56 +02:00
Uwe Bonnes
7f1a560288
stm32/usbuart: Clear USART_ICR if provided.
...
Otherwise endless interrupts happened.
2021-05-20 12:06:56 +02:00
Uwe Bonnes
90534b3cf6
stm32: portability enhancements
...
Needed for e.g. stlinkv3
2021-05-20 12:06:56 +02:00
Uwe Bonnes
87acd99fe4
cortexm: For Cortex-M0+ devices, probe also for lpc11 to detect LPC80 #884
2021-05-18 12:24:00 +02:00
Uwe Bonnes
cb4cff2c71
hosted/ftdi: Compare only for length of the string given in the header
...
Devices may have added version like "Tigard V1.1" vs "Tigard"
2021-05-18 12:24:00 +02:00
Uwe Bonnes
c3fd198f0d
bmp_libusb: Reject non-BMP devices with VID 1d50.
2021-05-18 12:24:00 +02:00
Uwe Bonnes
36ad6efc6f
cmsis_dap.h: Fix wrong leftover argument.
2021-05-16 17:17:33 +02:00
Uwe Bonnes
f0dd8c9517
cl_utils: List -l option in the help.
2021-05-16 17:17:33 +02:00
Uwe Bonnes
517d5b5b31
rp: Show spinner only when called from monitor command.
2021-05-16 11:26:14 +02:00
James Turton
0ab10fee0b
rp: Increase timeout for flash_range_program
...
If the RP2040 is using the ring oscilator (ROSC) rather than the crystal
oscilator (XOSC) then flashing program will take much longer. As the XOSC is not
enabled at boot we should not assume it will be enabled before the debugger is
connected (or indeed at all), thus should use the longer timeout during load
commands.
2021-05-16 11:26:14 +02:00
James Turton
ff30259354
rp: Add more debug logging during flash
2021-05-16 11:26:14 +02:00
James Turton
e453740aca
rp: Increase spinner timeout to 500ms
...
Increasing spinner timeout to 500 means `tc_printf` is not called during
the `_flash_range_erase`. This is important as `_flash_range_erase` is
used when loading. This fixes the issue:
https://github.com/blacksphere/blackmagic/issues/875
Also adding spinner timeout counter to reduce bus traffic.
2021-05-16 11:26:14 +02:00
James Turton
67c9003522
rp: Flush cache after erase and write
...
The RP2040 datasheet suggests that _flash_flush_cache and _flash_enter_cmd_xip
should be called after erasing and writing to flash.
2021-05-16 11:26:14 +02:00
James Turton
f880734050
Fix compiling for native probe
2021-05-16 11:26:14 +02:00
Uwe Bonnes
e4421799ba
More header cleanup
2021-05-15 12:54:51 +02:00
Uwe Bonnes
8e438b9e5f
Add missing headers and remove double typedef.
2021-05-14 19:58:16 +02:00
Uwe Bonnes
cfbe9f1c94
pc/gdb_if.c: More verbosity for Error messages #873
...
Thanks to "pshri" for dissecting and adding messages, as problems with
Hpyer-V and port permissions happened on Win10
2021-05-09 11:49:32 +02:00
Vegard Storheil Eriksen
f121350fc9
hosted/cmsis_dap: Verify that a v2 interface has endpoints.
2021-04-27 11:39:43 +02:00
Vegard Storheil Eriksen
494524dd85
hosted/cmsis_dap: Add v2 support.
2021-04-27 10:26:06 +02:00
Vegard Storheil Eriksen
4f52a7b235
hosted/cmsis_dap: Add discovery by interface string and prepare for v2 support.
2021-04-26 21:56:24 +02:00
Vegard Storheil Eriksen
c4874fdf44
hosted/dap: Add parentheses around bitwise operator.
2021-04-26 21:54:38 +02:00
Uwe Bonnes
f9414d5826
cmsis-dap: Handle ADI DP22 devices on probes not multidrop capable.
2021-04-26 18:18:18 +02:00
Uwe Bonnes
923edc7f7e
cmsis-dap: Fix wrong handling when reading data not word-aligned
2021-04-26 15:08:09 +02:00
Uwe Bonnes
877a6e694c
Revert "cmsis_dap: Always write full reportsize + 1 buffers"
...
This reverts commit 61e237ec87
.
This makes a CMSIS-DAP probe with version < 1.2 work again on DP V1 devices.
Status of other combination unknown:
DP V1 V2 V2/Multidrop
Probe
< 1.2 ok ok --
>= 1.2 ? ? ?
2021-04-25 22:53:40 +02:00
Uwe Bonnes
1f67bab475
nxpke04: Move unsafe_enables to target bool union.
2021-04-25 16:03:23 +02:00
Uwe Bonnes
f87dff8d83
kinetis: Remove static variables, add word union to target_s.
...
Add a word union to target structure to hold a single word variable.
2021-04-25 16:03:23 +02:00
Uwe Bonnes
ac7c1057cc
efm32/samd/samx5x: Remove static allocates strings. Allocate in priv_storage.
...
Static allocated variables in the different targets eat up common RAM and
will collide in chains with multiple similar targets.
2021-04-25 16:03:23 +02:00
Uwe Bonnes
cddf02f174
samx5: Verbose error reports on protected devices.
2021-04-25 16:03:23 +02:00
Uwe Bonnes
8c8aa980cf
adiv5: Detect unprotected SAMD5x only once
2021-04-25 16:02:20 +02:00
Uwe Bonnes
f98b7274b4
hosted/stlinkv3: Detect STlinkV3 in bootloader mode.
2021-04-25 16:02:20 +02:00
Uwe Bonnes
a83700d1cf
stm32/usbuart: DMA stream handling is not STM32F4 specific
2021-04-25 16:02:20 +02:00
Uwe Bonnes
1330288271
firmware: Unify serial number handling
...
Use one file in dfu and server
For STM32, provide 3 ways to handle
- BMP way (8 bytes)
- DFU way (12 Bytes)
- Full unique id (24 Bytes), as with STLINK(V3) Bootloader
2021-04-25 16:02:20 +02:00
Uwe Bonnes
1b26ff560d
rp.c: Add reset_usb_boot as monitor command
2021-04-24 14:48:58 +02:00
Uwe Bonnes
52bffa70cf
rp: Handle flash.
...
- Beware, after reset, only a valid flash payload get mapped to XIP!
Only 0 is read from flash when flash image is not valid
2021-04-21 21:55:03 +02:00
Uwe Bonnes
2b0e255c40
cortexm: timeout and debug for run_stub()
2021-04-21 21:50:38 +02:00
Uwe Bonnes
61efe26348
swdp_scan: Break infinite loop after Dormant->SWD transition.
2021-04-21 21:50:38 +02:00
Uwe Bonnes
fa5e69e3be
RP 2040: Special handling for rescue DP
...
As the rescue DP provided no AP, trigger the reset with attach().
However attach will indicate failure also reset/halt has succeeded.
2021-04-21 21:50:38 +02:00
Uwe Bonnes
ea92c8b8c8
cmsis-dap: Allow to use adiv5_swdp_scan.
2021-04-21 21:50:38 +02:00
Uwe Bonnes
23f942ac8c
Raspberry RP2040: Recognize. No flash handling yet.
2021-04-21 21:50:35 +02:00
Uwe Bonnes
04d1c9805b
swd: Remove swd_proc and swdptap.h.
2021-04-21 21:50:04 +02:00
Uwe Bonnes
b6fbf86743
Extend ADIv5_DP_t for low level routines needed for multi-drop.
...
Will replace swd_proc
2021-04-21 21:50:04 +02:00
Uwe Bonnes
61e237ec87
cmsis_dap: Always write full reportsize + 1 buffers
...
Expect short reads and other errors else
2021-04-21 21:50:04 +02:00
Uwe Bonnes
d6ade4d94e
cmsis-dap: Use SWD_SEQUENCE if available.
2021-04-21 21:50:04 +02:00
Uwe Bonnes
5abb288c7a
hosted: Provide the DP functions in swd_proc.
2021-04-21 21:50:04 +02:00
Uwe Bonnes
fa561c8d66
adiv5_swdp: Starting point to handle multi-drop
...
- RP2040 show both DPs
- Multidrop test with STM32L552 and STM32H745 allows selection
with "-m 0x4500041" (H7), "-m 1" (L552) or "-m 0x01002927" (RP2040)
2021-04-21 21:50:04 +02:00
Uwe Bonnes
be3bfc48a8
cortexm: M33 has up to 8 hardware breakpoints
2021-04-21 21:22:59 +02:00
Uwe Bonnes
b1ac4187b9
Fix some formatting strings for 32-bit compile
2021-04-21 21:22:59 +02:00
Uwe Bonnes
637d76b585
cl_utils.c: Try jtag scan if swd scan did not give results.
2021-04-21 21:22:59 +02:00
Uwe Bonnes
5288eef617
cl_utils: With no size given, read the size of the lowest block.
2021-04-20 18:48:27 +02:00
Fabio Baltieri
beaccf2714
target: stm32l4: add support for STM32WLxx
...
This adds support for the STM32WL series in stm32l4.c. These parts have
the same flash registers layout as the L4 series, but a different base.
Since there are already two sets of registers in this target file, this
adds support for register maps that can be customized for each device
ID.
2021-04-20 18:42:36 +02:00
Uwe Bonnes
21b80949ff
Compile with -Os as default. Change like "make OPT_FLAGS=..."
...
SWD/JTAG Bitbang is compiled with -O3 for good bitbang speed.
2021-04-20 18:20:41 +02:00
Fabio Baltieri
f55ad67b1b
adiv5: catch timeout on adiv5_ap_read_id and abort
...
This adds a TRY_CATCH around the adiv5_ap_read_id() in
adiv5_component_probe() and resets the DP when that happens.
It seems like the STM32WLE5 comes with the AP of the inactive core
enabled in a way that does not make it detectable, and the current code
times out and leaves the whole device hanging.
Catching the timeout and calling adiv5_dp_abort() seems to restore the
device to a useable state.
Tested on Seed LoRa-E5 (STM32E5JC).
2021-04-19 16:57:13 +02:00
Vestrel
806787529f
Use DMA for USBUSART TX/RX
2021-04-17 17:57:08 +02:00
Uwe Bonnes
cf5b4afb38
bmp_serial/linux: Honor opt_list_only (-l).
2021-04-17 16:19:57 +02:00
fabalthazar
d6b24c00c8
Fixed STM32G43x/G44x option bytes support
...
Previously took L4 values so FLASH_SEC1R was not applied
2021-04-17 14:44:30 +02:00
fabalthazar
99f9557cc0
Support for STM32G49x/G4Ax (category 4)
2021-04-17 14:44:30 +02:00
fabalthazar
c85c946ce3
PRIx32 fix
2021-04-17 14:44:30 +02:00
Stoyan Shopov
9ec7d05d8d
Put null terminating characters when scanning for BMP probes on linux
...
This patch puts null terminating characters for the 'type',
'version', and 'serial' strings extracted from blackmagic probe
id strings on linux systems.
2021-04-17 14:41:28 +02:00
Uwe Bonnes
299da8627c
libftdi: Remove unneeded explicit path.
2021-04-17 13:35:21 +02:00
Uwe Bonnes
a6a8606edb
STM32L55: Detect, memory map, read and flash write. Options handling missing.
...
Only non-secure states considered!
2021-04-04 17:26:31 +02:00
fabalthazar
739941dc5f
Verify right after programming
2021-03-31 13:06:52 +02:00
fabalthazar
2982888b66
BMP_MODE_FLASH_WRITE_VERIFY combined operation
2021-03-31 12:07:53 +02:00
fabalthazar
f85c54be97
Prepared -w option
2021-03-31 12:07:53 +02:00
fabalthazar
6d6cfd6c98
Comprehensive STM32G03/4/5/6/7/8/B/C driver
2021-03-29 21:42:40 +02:00
Uwe Bonnes
58f153e12b
cortexm: Always halt and release reset before romtable scan
...
Only release from halt once after romtable scan
Should fix #836 .
2021-03-26 17:43:11 +01:00
Uwe Bonnes
a025c9a7bd
Revert "stm32f1: On ST parts there is no need to read IDCODE again."
...
Romtable partno is not unique for devices, e.g. in STM32F0
This reverts commit f89b07d892
.
2021-03-26 17:35:00 +01:00
Uwe Bonnes
f89b07d892
stm32f1: On ST parts there is no need to read IDCODE again.
...
IDCODE is already known from the Romtable
Probably this has the same effect as #836
2021-03-12 20:45:34 +01:00
Uwe Bonnes
e6a9a1a366
cmsis-dap: Get the firmware version.
2021-03-06 13:30:09 +01:00
Uwe Bonnes
7859a2aabd
adiv5_swd: Factor out creation of packet request.
2021-03-06 13:30:09 +01:00
Uwe Bonnes
cfb784d428
adiv5: Fix comments and debug output
2021-03-05 16:49:19 +01:00
Uwe Bonnes
3aa6f16964
serial_unix: Split timeout in seconds and microseconds
...
Macos exposed errors when tv_usec was > 1000000.
2021-03-05 16:49:19 +01:00
Uwe Bonnes
43770736f1
cl_utils: Rework Flash/Ram printout
2021-03-05 16:49:19 +01:00
Thiadmer Riemersma
560a046a22
Add support for NXP LPC802, LPC804, LPC832 and LPC834
2021-02-22 19:37:46 +01:00
Uwe Bonnes
0df44e205b
ADIv5: Abort Romtable scan also if CIDR0 is invalid after halting #832
...
STM32WLE5 has the same dual core chip as STM32WL5. For the second
core, the additional AP can be see, but access to e.g. CIDR0 for that
Romtable fails.
Aborting the scan too if again the second read of CIDR0 fails makes
sense anyways!
2021-02-19 18:48:02 +01:00
Uwe Bonnes
d70fa8c7f6
hosted: Remove restrictions when gathering information on the debugger
...
That way, we find RPI Pico pico-debug.
2021-02-15 17:47:29 +01:00
Uwe Bonnes
c776e7a9a6
swd_scan: Add '-m' as targetid argument to swd_scan to prepare multi-drop.
...
In a real multi-drop setup, the device to use must be specified.
2021-02-15 17:47:29 +01:00
Uwe Bonnes
8e2f6937d5
hosted: Run target specific monitor commands with -M "command" .
...
Lists available commands: "blackmagic -M help"
Quote multi argument monitor commands, e.g. STM32F1: blackmagic -M "option help"
2021-02-15 17:47:29 +01:00
Uwe Bonnes
165560edd8
cl_utils: target selection '-n' argument needs optarg.
...
foreach now returns the number of targets.
2021-02-15 17:47:29 +01:00
Uwe Bonnes
4eb336277c
native: Remove high current draw ( #814 )
...
Special iRST_SENSE handling does not apply at least for BMP 2.1c.
On V2.1c, iRST_SENSE was set as output high and xRST high shorted
iRST_SENSE to ground via Q2
FIXME: Check for older versions!
2021-02-15 15:00:19 +01:00
Martin
3b8502c2e5
add space in USB product string (be consistent with ../stm32/dfucore.c)
...
This changes the USB identification from
"Black Magic Probe(STLINK/V2) v..." to
"Black Magic Probe (STLINK/V2) v..."
Signed-off-by: Martin <Ho-Ro@users.noreply.github.com>
2021-01-29 14:47:28 +01:00
Martin
d4dc3b2717
The USB CDC is no modem and does not use the AT protocol
...
Signed-off-by: Martin <Ho-Ro@users.noreply.github.com>
2021-01-29 14:47:28 +01:00
Alex Norman
42f590ce0b
fixing some memory map errors for stm32h7, PR #821
2020-12-23 20:10:39 +01:00