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
Uwe Bonnes
09c000eca8
hosted: Really handle setting tpwr on remote on the command line #817
...
Expect the command to fail, due to old firmware or remote not implementing
the power switch.
2020-12-19 16:36:09 +01:00
Sean Cross
2b06f045c4
target: kinetis: add S32K148
...
This adds support for the NXP S32K148. This is an automotive-grade part
that is derived from the Kinetis line, so it has a very similar
interface to other parts in the family.
Signed-off-by: Sean Cross <sean@xobs.io>
2020-12-16 12:49:23 +01:00
Sean Cross
5f76169b95
hosted: remove ftdi include when built with BMP_ONLY #811
...
Signed-off-by: Sean Cross <sean@xobs.io>
2020-12-16 11:30:42 +01:00
Uwe Bonnes
98c92a6d18
hosted: Really fix the case of no serial number ( #807 )
2020-12-13 14:12:05 +01:00
UweBonnes
aa0d8f4b5d
Merge pull request #783 from UweBonnes/frequency
...
Frequency
2020-12-12 19:50:53 +01:00
Noah Pendleton
020600aa56
target/lpc546xx: fix lpc546xx flash support ( #801 )
...
**Summary**
Modifications to fix flash support on the lpc546xx:
- fix IAP entrypoint to be `0x03000204`, not the value at that address
- add a reset and attach sequence before erasing flash sectors. there's
little documentation around this, but experimentally, erasing sector 0
fails when the ROM bootloader is mapped to it (on reset). stepping the
chip once and attaching is enough to snap the chip out of it, permitting
flash erase on sector 0.
- add a few test commands to the lpc546xx table (read_uid, erase/write
sector, etc).
- write the magic CRC value when writing to sector 0
(`lpc_flash_write_magic_vect`).
- move the lpc546xx probe to before the lpc43xx probe, to prevent
getting the lpc546xx into Lockup when reading an illegal memory location
during lpc43xx probing
Fixes #786 .
I don't 100% understand the reset/load sequence of this part, but these
changes are sufficient to program and debug the part now.
I didn't do a detailed analysis of what pyocd (via st-link hardware
adapter) and segger jlink do to handle the same, but both of those
worked without modification, so there's some difference in the
sequence they're using.
**Testing**
Verified I can now successfully erase and write an executable in sector
0 (and other sectors).
Verified the new commands work correctly.
2020-12-12 19:48:05 +01:00
Uwe Bonnes
6dbb5ff7ee
Frequency: Implementing for jlink.
...
SWD frequency is fixed for jlink according to the docs from 2010.
2020-12-12 18:33:09 +01:00
Uwe Bonnes
fdc654cfb3
stlink: Implementation of frequency setting.
2020-12-12 18:33:09 +01:00
Uwe Bonnes
de26ba6f73
hosted: Add is_jtag to the info structure
...
Needed for different frequency setting procedures on some platforms.
2020-12-12 18:33:09 +01:00
Uwe Bonnes
28a966a3e6
frequency: Implement for ftdi.
...
For all 2232H types, use undivided 60 Mhz.
FIXME: Check FT2322C/D for unsymetric clock at 6 MHz!
2020-12-12 18:33:09 +01:00
Uwe Bonnes
13e8a262e4
SWJ Frequency: Implement for cmsis-dap
2020-12-12 18:33:09 +01:00
Uwe Bonnes
1ca9f234f7
Infrastructure for setting maximum SWJ frequency.
...
Implement for BMP/firmware on STM32.
2020-12-12 18:33:09 +01:00
Uwe Bonnes
7365a44989
hosted: Implement SWJ test mode (-T).
...
Continious read/write-back some core register as NOP operation to allow scope
measurement of SWJ timing.
2020-12-12 18:33:09 +01:00
Uwe Bonnes
f796b774bd
hosted: Fix info.serial if USB device has no serial number #807
2020-12-12 18:32:15 +01:00
Aaron Lindsay
518529a772
Support GD32E23x
2020-12-12 18:29:30 +01:00
Uwe Bonnes
14498decd9
HOSTED_BMP_ONLY/linux: Fix case when no serial device is connected #806
2020-12-12 15:06:26 +01:00
Noah Pendleton
93d4c65948
Fix building with newer GNU make( #804 )
...
More recent versions of GNU make remove the `-` prefix from
`$(MAKEFLAGS)`, which breaks the build:
```bash
# output truncated to interesting parts
> make -C src --trace all_platforms
set -e ;\
mkdir -p artifacts/v1.7.1-91-g98b4ec5 ;\
echo "<html><body><ul>" > artifacts/index.html ;\
for i in platforms/*/Makefile.inc ; do \
...\
make w --trace --no-print-directory clean ;\
make w --trace --no-print-directory;\
...\
done ;\
echo "</ul></body></html>" >> artifacts/index.html ;\
cp artifacts/*.bin artifacts/v1.7.1-91-g98b4ec5
Building for hardware platform: f4discovery
make[1]: *** No rule to make target 'w'. Stop.
```
Per the
[documentation](https://www.gnu.org/software/make/manual/html_node/Options_002fRecursion.html ),
there's no need to manually apply insert `$(MAKEFLAGS)`, it should be
automatically included when using `$(MAKE)` when recursing.
I tested on my machine (make 4.2.1) and a docker image based on
ubuntu:trusty (make 3.81), both behaved the same (directories were not
printed when recursing by default);
2020-12-12 14:39:52 +01:00
Stoyan Shopov
b5172cf6df
Implement the 'find_debuggers()' function for hosted BMP on windows.
2020-12-11 18:36:48 +01:00
Stoyan Shopov
01f8628aed
Bugfix in detecting BMP probes by usb serial number.
2020-12-11 18:36:48 +01:00
Stoyan Shopov
170fe0c368
Remove spurious comment.
2020-12-11 18:36:16 +01:00
Uwe Bonnes
4c5ce0b16a
Hosted: Handle devices w/o serial number, e.g. GigaDevices GD-Link ARM/CMSIS-DAP
2020-12-11 18:36:16 +01:00
Uwe Bonnes
0f1fe9e438
hosted/linux: Find BMP devices without libusb.
2020-12-11 18:36:09 +01:00
Uwe Bonnes
bd5f4c6ed5
hosted: Consolidate ident output.
2020-12-11 17:55:31 +01:00
Uwe Bonnes
0870b778c0
hosted: Allow to build without libusb, libftdi and hidapi with HOSTED_BMP_ONLY=1
2020-12-11 17:50:16 +01:00
Uwe Bonnes
32db38ecf2
hosted/libusb: Move platform.c libusb related functions to own file.
2020-12-11 17:35:43 +01:00
Uwe Bonnes
41788f923b
ftdi/stlink/jlink: Provide dummy functions in the HOSTED_BMP_ONLY case
...
Do not allow multiple inclusion by not declaring the functions as static to
help keep code clean.
2020-12-11 17:31:25 +01:00
Uwe Bonnes
98b4ec58bc
Update to recent libopencm3 to undo unwanted change.
2020-12-07 21:51:22 +01:00
Emilio Lopes
633c6a2e81
Recognize "J-Trace Cortex-M PRO V2" in hosted mode
2020-12-07 11:52:33 +01:00
Uwe Bonnes
17dfec3572
dfu/cdcacm: Consolidate usage of ST vs BMP serial number.
2020-12-06 15:18:08 +01:00
Uwe Bonnes
5c7e0eedb0
command.c: Consolidate "mon version" output
2020-12-06 15:18:08 +01:00
Uwe Bonnes
07c3699225
version.h: Remove from platform.h files
...
- Consolidate ident string generation
- Recompile only needed files
2020-12-06 15:18:08 +01:00
Uwe Bonnes
dd6aadc54d
jtag: Add verbosity about devices found.
2020-12-06 15:18:08 +01:00
Uwe Bonnes
0a7bfd5923
dfu_f4: Fix sector_erase.
2020-12-06 15:18:08 +01:00
Stoyan Shopov
e318f884bf
Change the type of 'cortexm_wait_timeout' to unsigned.
...
It makes sense that the timeout value is unsigned, it also
resolves build errors on some platforms.
2020-12-04 11:44:50 +01:00
Stoyan Shopov
c9a419e44b
Correct loss of sync protocol error #787
2020-12-04 11:33:23 +01:00
mean
e3fd12ebc6
gd32f1/f3 detection and ram/flash autoset
2020-12-03 11:16:47 +01:00
Jonathan Giles
575c25e570
Add support for STM32F1 clone with new AP_DESIGNER id
2020-12-01 10:23:16 +01:00
Uwe Bonnes
48a79ff9da
adiv5: More checks for a sensible DPIDR.
2020-11-29 21:11:11 +01:00
Uwe Bonnes
752bc26536
adiv5: Fix memleak with duplicated base.
2020-11-29 21:11:11 +01:00
Uwe Bonnes
acec489647
adiv5_jtagdp: Always set idcode.
2020-11-29 21:11:11 +01:00
Uwe Bonnes
9e1b7fdac0
jlink/swd_low_access: Fix data direction during response read phase.
2020-11-29 15:48:50 +01:00
Uwe Bonnes
8903026c14
jlink/swd: swd frequency is fixed, not need to set.
2020-11-29 15:48:50 +01:00
Uwe Bonnes
f45c56af83
adiv5/swdp: Check early for valid DP idcode.
2020-11-29 15:48:50 +01:00
Uwe Bonnes
3b6432912d
jlink: Catch another error with no target connected.
2020-11-29 15:48:50 +01:00
Uwe Bonnes
7df314e265
Firmware/Jlink: Fix double free when debug power-up fails ( #780 )
2020-11-29 15:48:50 +01:00
Uwe Bonnes
e1329499de
platform_adiv5_swdp_scan: Do not double free with early errors.
...
adiv5_dp_init() clean up itself if errors happen
2020-11-29 15:48:50 +01:00
Uwe Bonnes
bf548e92c0
swd: After write low_access, always append 8 clk to move data through SW-DP.
...
Especially needed when leaving the debugger or during debug unit power-up.
ARM Debug Interface Architecture Specification ADIv5.0 to ADIv5.2
tells to clock the data through SW-DP to either :
- immediate start a new transaction
- continue to drive idle cycles
- or clock at least 8 idle cycles
Implement last option to favour correctness over slight speed decrease
Implement only for adapters where we assemble the seq_out_parity in our code,
as on firmware, ftdi and jlink. Hopefully the high level adapters do it right.
Reverts 2c33cde63f
and
cde7726b87
2020-11-27 22:26:48 +01:00
Uwe Bonnes
139e5d7e22
f4discovery: Compile time option to compile with ST bootloader
...
Just to keep things active. Prepare for F72 bootloader.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
636bcee355
stlink/swlink: Remove the DFU upgrade utility.
...
Hopefully no old bootloaders are around. If otherwise, revert to last
commit before this and update the DFU bootloader.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
27ef4569ca
stm32/dfucore.c: Use libopencm3 provided defines and functions.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
9d55128ab8
cl_utils: Get voltage only once.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
e6823f39de
Hosted: Print version with "-h" and "-t" option.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
3ee31473c6
cortexm.c: LPC15xx has designer 43b and Partno 4c3
...
Thanks to JojoS!
2020-11-27 22:26:48 +01:00
Uwe Bonnes
62d9f60f03
hosted/firmware: Waits for read response as long as cortexm_wait_timeout.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
26a23dd1cb
stlinkv2: Try harder to open an AP.
...
Problem seen on STM32L0 with probably long sleep periods.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
19e1fddba2
adiv5: Remove unnescessary read.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
cda83d3084
Fix memleaks.
...
Happened e.g. when Stlink could not enter debug or when cortexm_prepare timed out.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
9ac5adfcef
adiv5: Additional decoding.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
d78d7838d3
stm32f1: Always read DBGMCU_IDCODE for t->idcode ( #770 )
...
At least STM32F042 has 0x440 as romtable partno vs 0x445 as DBGMCU_IDCODE.
Thanks to Andrey Melnikov(aam335) for pointing out!
2020-11-27 22:26:48 +01:00
Uwe Bonnes
653d486ee2
cortexm: Store CPUID in target structure.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
824a1d8abc
hosted/find_debuggers: Do not check hubs. Print class of devices unable to open.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
e68dd25813
cl_utils: Clarify -d option is BMP/firmware only and deprecate -d.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
f71e18948a
GPIO for SWD: Slow down edges on more platforms.
2020-11-27 22:26:48 +01:00
Uwe Bonnes
80154c5c7a
adiv5_swdp: Fix more memory leak.
2020-11-27 22:26:48 +01:00
Noah Pendleton
35bcb4f7c6
Switch on the lpc546xx target
...
Enable the lpc546xx target. Tested on the LPCXpresso54628 dev board,
able to flash and debug.
2020-11-24 21:32:39 +01:00
Sean Cross
e9c02296f2
target: kinetis: add S32K118
...
This adds support for the NXP S32K118. This is an automotive-grade part
that is derived from the Kinetis line, so it has a very similar
interface to other parts in the family.
Signed-off-by: Sean Cross <sean@xobs.io>
2020-11-14 13:06:23 +01:00
jbuonagurio
f18be6ef7a
Add support for Kinetis K12 and placeholders for other K-series MCUs
2020-11-07 12:44:05 +01:00
Uwe Bonnes
2c33cde63f
cortexm.c/cortexm_halt_resume: Add some clock cycles to always get CPU going ( #768 )
2020-11-01 21:53:23 +01:00
Uwe Bonnes
d75f3124b9
ftdi_bmp.c: Reapply fix from #715 : Check for libftdi 1.5
2020-11-01 12:09:27 +01:00
Stoyan Shopov
99142d1c0e
Add documentation details for building PC-hosted BMP in msys2.
2020-11-01 11:33:54 +01:00
Uwe Bonnes
1f7a716710
adiv5.c: Run cortexm_prepare on all suspected CortexM instances.
...
Gets all debug units of the second CPU of a STM32H745 visible.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
18673d9a56
adiv5: Rework DP/AP refcounting.
...
ASAN non longer reports leaks with the STM32H745.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
f76a7c4e92
adiv5: Release devices after scan.
...
Before, scanning only kept device stopped until POR or attach/detach cycle.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
73e6b540b2
command: When debug channel is available, print morse messages readable.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
776861c6a0
Makefile: Fix version.h generation for make all_platforms
...
Same fix as 0ae65cc10f
.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
80ddafc2f8
Jtag/High Level : Transfer dp->dp_jd_index with every HL command.
...
- Add REMOTE_HL_VERSION, now at 1. Fall back to hosted/low-level
when wrong version is found and give hint to user.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
59dc1b7eb4
cortex-m7: Give hint about buggy core revision.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
976c763747
jtag remote: Start fixing handling M0 (second jtag) for LPC4322 in high-level
...
- LPC11: Only print none-null unknown idcodes.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
0995fe1288
cmsis-dap: Various fixes
...
- decrease report size to 64, otherwise MIMRXT10x0-EVK crashed when
reading larger memory block
- dp_read_reg acts direct, fixing CortexM core register read.
- length of data to write with read_block.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
f15b1d7763
cl_utils: Clip opt_flash_start only when not set.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
c161521c26
cortexm: Designer ARM must be in the default path when probing.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
cdd07544d5
Cortexm: Allow pure debug on devices not yet handled for flashing
...
- Recognize STM32L552 and MIMXRT10XX
- Fix another PIDR
- Fix bad debug print string.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
3270138ec2
Revert 69e577c9243ce027b628e96881ce2416213fef43
...
What was thought to be a typo is apsel = 0xff for a dp access.
2020-10-23 09:40:15 +02:00
Uwe Bonnes
77c4f9d702
stlink: Rework README.md
...
- Document flashing BMP Firmware and reverting to ST firmware
- Consistant nameing
2020-10-19 14:13:29 +02:00
Uwe Bonnes
9cd3193a89
bmp_remote.c: Fix bug introduced with 8b929c12c9
.
2020-10-17 12:49:37 +02:00
Uwe Bonnes
0ffb4f7b18
cortexm: Fix protected SAM detection
...
- Only run cortex_prepare() if reading cidr fails
- With Atmel DSU detected, run cortexm_probe()
2020-10-17 12:49:37 +02:00
Uwe Bonnes
5bc743d221
samd: Propagate security after setting security by chip reset.
2020-10-17 12:49:37 +02:00
Uwe Bonnes
8b929c12c9
hosted/jtag: Transfer jtag_devs to firmware.
2020-10-16 20:03:03 +02:00
Uwe Bonnes
3d92b82678
jtag: Use index and not device structure for jtag_dev_write_ir and jtag_dev_shift_dr
2020-10-16 20:03:03 +02:00
Uwe Bonnes
6e2a074064
bmp_remote: Deny high level JTAG for now.
...
jtag_devs and jtag_dev_count needs to be known on th firmware side
and remote_dp->dev needs to be filled with jtag_dev_t.
2020-10-16 20:03:03 +02:00
Uwe Bonnes
0f5fb6b9a0
remote: Initialise dp_read and low_access with SWD_INIT.
...
Before "mon s" after "mon j" failed.
2020-10-16 20:03:03 +02:00
Uwe Bonnes
752d14ca3e
remote.c: Add comments.
2020-10-16 20:03:03 +02:00
Uwe Bonnes
ba26adce53
remote.h: Remove typo.
2020-10-16 20:03:03 +02:00
Uwe Bonnes
7ccf0d3e03
jtag_dev_t: Make dev, idcode and desc less generic.
...
No codechange intended.
2020-10-16 20:03:03 +02:00
Uwe Bonnes
87b546777a
nrf51: Be more verbose about the protection status.
2020-10-16 12:16:33 +02:00
Richard Meadows
4108b649c2
stm32h7: Add support for new product lines
...
Add support for:
* STM32H7B3/B0/A3 (RM0455)
* STM32H723/33/25/35/30 (RM0468)
Successfully tested with:
* STM32H7A3ZIT (RM0455)
* STM32H747XIH (check for regressions)
2020-10-10 22:09:34 +02:00
UweBonnes
817c62d7fd
Merge pull request #507 from UweBonnes/cortexm_romtable
...
Cortexm romtable
2020-10-08 10:53:17 +02:00
Uwe Bonnes
877b4be8ee
cortexm: Restrict probing by using the ap_designer.
...
More designers need to be observed and reported by users and added.
Request users to send needed data.
2020-10-07 20:12:35 +02:00
Uwe Bonnes
91d1ef8bf6
target/stm32: Use t->idcode with probe.
2020-10-07 20:12:35 +02:00
Uwe Bonnes
44bfb62715
Adiv5: Print Designer/Partno when device is not recognized
...
t->idcode is now 16 bit.
2020-10-07 20:12:35 +02:00
Uwe Bonnes
c456fc7f61
adiv5: Store AP designer and partno in the AP structure.
2020-10-07 20:12:32 +02:00
Uwe Bonnes
159196c2ad
Cortexm: Remove forced_halt.
2020-10-07 20:11:33 +02:00
Uwe Bonnes
9bb2807706
adiv5/romtable: Prepare CortexM devices to read the ROMTABLE
...
It seems, writing to DHCSR fails silent when the device is sleeping.
Reading DHCS during sleep may return nonsense.
Repeated write may at some point catch the device running and succeed.
With devices sleeping for long time and running on faster clock the
chance for a successful hotplug gets smaller.
- Try hard to halt a sleeping device
- Prepare vector catch and enable all debug units by TRACENA
- Release reset
- Apply device specific fixes
-- STM32F7: Store old value of DBGMCU_CR, enable debug in sleep in
DBGMCU before reading PIDR and restore DBGMCU on detach.
Signed-off-by: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
2020-10-07 20:11:17 +02:00
David A. Aguirre Morales
a254bc6308
Fix icdi usb error https://github.com/blacksphere/blackmagic/issues/740 https://github.com/blacksphere/blackmagic/pull/748
2020-10-07 18:08:04 +02:00
Uwe Bonnes
ceaee2a11e
hosted: Hint about BMPs in bootloader mode.
2020-10-07 17:12:22 +02:00
Gareth McMullin
dc8924a2bc
stm32h7: Don't tc_printf from flash functions ( #747 )
...
* stm32h7: Don't tc_printf from flash functions
Receving an 'O' packet while flashing confuses GDB and then
weird stuff happens.
* Replace tc_printf with DEBUG_WARN
2020-10-05 10:45:18 +02:00
Uwe Bonnes
9bba3165fb
swdptap: Turnaround immediate after a reading with parity.
...
Thanks to JojoS.
Probably mostly cosmetic, but is keeps the device from driving SWDIO
until the next commands.
2020-10-02 10:51:14 +02:00
Uwe Bonnes
4d18496a6f
hosted: Allow to disable high level commands for BMP.
...
Useful for tracking low level problems on native with hosted.
2020-10-01 15:49:21 +02:00
Uwe Bonnes
014abf6cc9
adiv5.c: Reduce number of errors if reading cidr fails.
2020-10-01 15:33:28 +02:00
Uwe Bonnes
be40d2b851
adiv5: Check Debug Base Address early
...
Reduces printout when scanning the romtable
2020-10-01 15:22:17 +02:00
Uwe Bonnes
747336e927
f4discovery: Slow done JTAG pin slew rate to avoid ringing #742
2020-10-01 15:06:16 +02:00
Eivind Alexander Bergem
38bc5bbf82
Add LPC546xx support #741 #553
2020-09-30 12:56:53 +02:00
Uwe Bonnes
2fdd94adeb
STM32F7: Add another missing Arch ID.
2020-09-24 16:20:34 +02:00
Uwe Bonnes
0ae65cc10f
src/Makefile: Fix version.h generation.
...
It seems, some git behaviour change got by unnoticed.
2020-09-22 19:02:26 +02:00
Uwe Bonnes
61d919c1ac
libftdi: Remove no longer needed workaround for travis CI.
2020-09-20 14:10:37 +02:00
Uwe Bonnes
77231e8972
serial_no: Fix error with "mon trace" #732
...
launchpad-icdi: Allow to set a serial number with make
2020-09-20 13:23:52 +02:00
Uwe Bonnes
bdb351a6ea
adiv5_swdp: On ACK_FAULT, error() and try again once #731
...
when writing CSW.
2020-09-18 20:07:32 +02:00
jxltom
a4a934f461
Add comments for hardware revision of v2.1
2020-09-17 11:54:19 +02:00
jxltom
75b5e72a00
Fix typo
2020-09-16 18:41:56 +02:00
Raghu
de01a75ca9
Fix broken link to bluepill pinout.
2020-09-15 20:58:10 +02:00
Uwe Bonnes
6d18a61b2e
hosted: Make ASAN build optional.
...
Use ASAN=1 on the make command line to activate,
2020-09-11 15:23:13 +02:00
Damien Merenne
120b3134bb
Add SAM4SD32C/B support.
2020-09-07 17:36:15 +02:00
Uwe Bonnes
8289862b55
gdb: Reset flash_mode with when erase or flash fails.
...
Thanks to Dave Marples <dave@marples.net>, extracted from #607
2020-09-04 15:17:29 +02:00
Uwe Bonnes
58281ec232
SWD Timing: Enhance SWD high time with low speed loss.
...
On F103 no high time < 80 ns and no low time < 100 ns was seen with a scope
2020-09-04 14:45:34 +02:00
Uwe Bonnes
af3480e523
hosted: Update Readme.md
2020-09-04 11:49:13 +02:00
Uwe Bonnes
6650831243
ftdi: Get turtelizer (JTAG only FT2232D dongle) going
...
FT2232D seems to dislike "Set TCK/SK Divisor" or
"Set Data Bits Low Byte" as first command on a non-first run
- Add printout when garbage is found
- Add "Disconnect TDI to TDO for Loopback" as first MPSSE command
(seemed to help!)
2020-09-04 11:49:13 +02:00
Uwe Bonnes
74b3baad1e
ftdi_bmp : Another size fix and small rearrangement.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
aeb97466b9
libftdi: Automatically switch to JTAG if SWD is not possible.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
ae8cb8ab46
ftdi_bmp: Reject writes with no data.
...
Pending transfers made the MPSSE behaviour strange and unpredictable.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
c41ab1738e
ftdi/swdptap: Use parity builtin. Fix array width.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
34d0f8a2a1
ftdi: Recognize bitbang SWDIO settings.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
6ac0a25123
ftdi: Add UM232H as probe.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
d73a6a3d29
platform/ftdi: Do not double initialize.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
f0b0639189
ftdi: Output wire debug.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
e95e5e3fba
ftdijtag: Really enable TMS/TCK/TDI driver.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
f4eed249eb
hosted/ftdi: Allow to list supported cables.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
8a2bce26f2
Hosted: Fix memory leak when platform_swdptap_init fails.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
7b497302c0
hosted/ftdi: Autodetect ftdi cables with distinguishing feature.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
a83e76bef9
libftdi: Add USBMATE.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
c78066255d
libftdi: Infrastructure to test for target voltage present.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
aff624b6e0
libftfdi: Allow to specify external resistor SWD connection.
...
More explanations in src/platforms/hosted/Readme.md
2020-09-04 11:49:13 +02:00
Uwe Bonnes
eabf45357d
libftdi: Reinitialize pins when switching JTAG/SWD.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
05534e9b49
libftdi/swdptap: Provide SWD using generic MPSSE if hardware allows.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
40ba261982
libftdi: Use asynchronous transfers if header indicate newer libftdi1.
...
This is a hack to keep travis happy. Setting up travis to use a recent
libftdi1 is a major issue.
2020-09-04 11:49:13 +02:00
Uwe Bonnes
9b6e19785e
Implement SRST for libftdi.
...
Travis GCC needs -Wno-missing-field-initializers or will otherwise warn.
2020-09-04 11:49:13 +02:00
Matthew Skolaut
dea4be2539
Add ifdef to check for libftdi 1.5 to use ftdi_tcioflush instead of ftdi_usb_purge_buffers
2020-08-21 13:10:55 +02:00
Matthew Skolaut
7e1b0321e2
Cleanup Makefiles for hosted bmp on darwin
2020-08-21 11:28:17 +02:00
Matthew Skolaut
5908fc2da1
Add serial auto-connection to darwin target
2020-08-21 11:28:17 +02:00
Uwe Bonnes
e75eb19d78
cmsis_dap: Detect CMSIS-DAP before STLINK
...
Debugger may be realized with the ST USB Vendor ID.
2020-08-16 15:20:58 +02:00
Uwe Bonnes
998a9747f8
cmsis_dap: Make some errors more prominent.
2020-08-16 15:20:58 +02:00
Uwe Bonnes
c97c4a0960
hosted: Better decoding for ap_decode_access().
2020-08-16 15:20:58 +02:00
Uwe Bonnes
badff20099
cmsis_dap.c: Fix dap_dp_read_reg.
2020-08-16 15:20:58 +02:00
David Lawrence
f65afb1588
Use correct IAP entry address for LPC84x
2020-08-14 20:00:18 +02:00
Uwe Bonnes
dd74ec8e6f
stlinkv2: Detect fail mem_read on jtag too.
2020-08-05 16:20:52 +02:00
Uwe Bonnes
805cfbdcb5
Build hosted for widows with hidapi static linked.
2020-08-03 18:59:50 +02:00
Uwe Bonnes
fca8593d92
serial_win: Find BMP comport by serial number.
2020-08-03 18:59:50 +02:00
Uwe Bonnes
3eb51ce94f
serial_win.c: Copy the enough of the device name.
2020-08-01 14:00:17 +02:00
Uwe Bonnes
11217f8a45
serial_win: GDB needs to handle DTR.
2020-08-01 14:00:17 +02:00
Uwe Bonnes
71e9d78210
adiv5.c: Add another ARCH_ID found STM32F205.
2020-08-01 14:00:17 +02:00
Uwe Bonnes
1b12e407fd
adiv5: Add missing arch identifiers for Cortex-M7 ETM.
2020-07-31 11:53:15 +02:00
Uwe Bonnes
71e5b4d3cb
hosted/stlinkv2.c: Fix bug introduced with #703
2020-07-29 13:42:07 +02:00
Uwe Bonnes
72387164eb
hosted/stlinkv2.c: Handle AP_WAIT error when switching to SWD
2020-07-29 12:22:18 +02:00
Uwe Bonnes
a392480631
hosted/stlinkv2.c: Use V2 API to read coreid.
2020-07-29 12:22:18 +02:00
Francesco Valla
696daa8352
adiv5: fix debug print of dev_type
...
Since dev_type is an 8 bit unsigned integer, use the PRIx8 macro instead
of PRIx32.
2020-07-29 11:32:24 +02:00
Uwe Bonnes
64cf30e4cd
Rework/update/add Readme.md in the platforms directories.
2020-07-29 10:32:49 +02:00
Uwe Bonnes
726d4b4496
adiv5.c: Add missing DEVTYPE and ARCHID to some existing PIDRs(#698,#699)
...
Probably more additions are needed.
2020-07-14 16:26:32 +02:00
Uwe Bonnes
52bfe538e3
cdcacm.c: Set bMaxPacketSize0 to 32 ( #693 , #697 )
...
Smaller bMaxPacketSize0 resulted in delayed enumeration when BMP firmware
is started by the STLink bootloader.
2020-07-14 15:57:03 +02:00
Uwe Bonnes
09ceaea70f
adiv5_swdp: Fix another memory leak.
2020-07-14 15:02:13 +02:00
UweBonnes
2ae62433d2
Merge pull request #690 from themadinventor/arm_v8m
...
Add ROM table support for Cortex-M33 and Cortex-M23
2020-07-13 10:56:03 +02:00
Aled Cuda
a673efc26b
Remove extra definitions of jtag structures in the STLink hosted setup to support "gcc (GCC) 10.1.0" on Archlinux
2020-07-12 23:14:19 +02:00
Fredrik Ahlberg
7ebb94d134
cortexm: Add comment on CPUID register
2020-07-12 22:54:39 +02:00
Fredrik Ahlberg
4391851f4d
adiv5: Change component descriptions from MTB to Micro Trace Buffer for consistency
2020-07-12 22:29:04 +02:00
Fredrik Ahlberg
0aadd0abce
Adiv6: Add comment on DEVTYPE and ARCHID fields with references
2020-07-12 22:27:46 +02:00
Fredrik Ahlberg
fcd945a529
cortexm: Read CPUID to identify core version
2020-07-12 12:08:22 +02:00
Fredrik Ahlberg
39a20d78ff
v8m: only check relevant bits in DHCSR when polling in cortexm_forced_halt
2020-07-12 12:07:12 +02:00
Fredrik Ahlberg
a35e9c8e5c
Adiv6: Read DEVTYPE and ARCHID to identify Cortex-M23 and Cortex-M33 debug components
2020-07-12 12:00:31 +02:00
Uwe Bonnes
661f78033a
stm32f1: Add F1 XL with dual bank handling,
2020-07-08 14:31:58 +02:00
Uwe Bonnes
fc6ca5bc06
Remote: Add procedure to test if high-level remote functions are available
...
Removes need for updated version string.
2020-07-08 14:15:35 +02:00
Uwe Bonnes
bfda64c656
stlink: Remove unused double defined variable "running_status"( #683 )
2020-07-02 19:44:31 +02:00
Uwe Bonnes
85d35b75ce
libftdi/jtagtap_tdi_tdo_seq: Remove dubious Null termination.
2020-07-02 14:56:10 +02:00
Uwe Bonnes
a4cdd6b310
hosted: Report missing USB access rights only if no debugger found.
2020-06-07 16:29:19 +02:00
Uwe Bonnes
eabd69dcdb
Adiv5: Protect DBG/SYSTEM Power-Up request with timeout too.
...
CMSIS-DAP without connected target looped infinite in that situation.
2020-06-07 13:14:32 +02:00
Uwe Bonnes
e35025d214
CMSIS_DAP: Warn when hidapi-libusb is not found.
2020-06-06 15:28:53 +02:00
Uwe Bonnes
5097a23196
jlink: Fix wrong sized array.
2020-06-06 15:28:53 +02:00
Uwe Bonnes
4ede113ca7
hydrabus: Disable DFU file generation untit somebody fixes dfu-convert.py
...
This allows "make all_platforms" to succeed on python3 only systems.
2020-06-05 16:23:28 +02:00
Uwe Bonnes
aabd07738e
cl_utils: Use start of flash in memory map as default flash start.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
425002a38f
hosted: Add -l argument to list only available debuggers and exit.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
dc3fd2eb06
Classify debug messages
...
Firmware BMP with ENABLE_DEBUG=1 will print WARN and INFO as before.
PC-Hosted BMPwill alway print to stderr. Warn is printed unconditional,
INFO, GDB, TARGET, DONGLE and WIRE will print if their appropriate bit in
cl_debuglevel is set via the -v verbose command line argument.
INFO will go to stdout with -t or -l.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
9ade8b24f7
hosted: Add Readme.md
2020-06-05 14:59:30 +02:00
Uwe Bonnes
4698a26bab
common/swdptap: Slight speed increase and better setup time for write.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
64f3dff8a8
PC-Hosted: Better debug output.
2020-06-05 14:59:30 +02:00
Valmantas Paliksa
b06c0ba8d5
bmp_remote: Use high level functions.
...
Based on #570 (OpenOCD HLA interface driver for Blackmagic), but now
usefull for bmp-remote.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
921c23eb74
serial_unix: Return instead of exit in case of error.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
ef558eebb8
CMSIS-DAP support.
...
Thanks to edbg, pyocd and openocd for code and ideas.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
4ba6afed28
Add jlink pc-hosted platform.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
efce2ae892
Do not compile jtagtap and swdptap when not needed.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
da45281696
GetTargetVoltage: Print info about voltage only when info is relevant.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
ef816e3183
hosted: add libftdi implementation, remove old implementation.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
ab7991c3a6
hosted: Add bmp_remote, remove old pc-hosted platform.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
13c3c934d2
Hosted: Add Stlink, remove old pc-stlinkv2 platform
2020-06-05 14:59:30 +02:00
Uwe Bonnes
09602a9e74
serial_unix: Simplify timeout setting.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
8fea3f6baa
pc/serial_xx: Change arguments for the open call.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
a09104c281
Build firmware executables as *.elf file
2020-06-05 14:59:30 +02:00
Uwe Bonnes
dd022fcb44
platforms/pc: Add common usb utilities.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
52739def01
Copy relevant stlink files.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
386a4bfce7
hosted: Device detection and selection.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
3290def5f8
Add empty compilable project.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
c3d509e6c0
Clean up PLATFORM_HAS_DEBUG
...
Use only for firmware platforms.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
9a46c6fd25
Allow BOARD_IDENT as function
2020-06-05 14:59:30 +02:00
Uwe Bonnes
563df2d354
Detour ADIv5 high-level functions.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
9969c984f3
detour jtag primitives.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
e34a27f72c
Detour swd primitives.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
1e10b96b03
Allow multiple scan routines.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
b0cf7d24bd
adiv5.c: Fix another leak.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
783ec377d9
adiv5: Export extract.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
eee16cf08a
platforms/tm4c/jtagtap.c: Remove unreferenced and incomplete file.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
f3790b90e5
command.c: Simplify usage of serial_no serial number string.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
966ac4036d
target.c: Check for valid flash structure.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
60f39f55b4
MSP432: Warn when hardware version not supported.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
7956fbc361
cl-utils: Print memory map when test is specified.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
b5182e09d0
cl_utils: When reading from flash to file, truncate the file.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
8db979798c
cl_utils.c: Report read/write speed.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
c5d0902d4c
cl_utils: Fix memory leak.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
815e09bb1b
cl-utils: Add more arguments
2020-06-05 14:59:30 +02:00
Uwe Bonnes
05adcd9bf5
remote.c: Compile only relevant functions.
...
Do no compile firmware functions when compiling pc-hosted.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
16967b4328
adiv5: Remove only local dp_idcode used from ADIv5_DP_t struct.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
b8b34e7b1d
adiv5: remove cfg for AP structure, cfg is only used local.
2020-06-05 14:59:30 +02:00
Stoyan Shopov
34a13723d8
Decrease the control USB pipe size on f103 blackmagic probes to 8 bytes
...
Rationale:
In USB device mode, the f103 chip provides 512 bytes
of memory for USB traffic. In the 'master' branch
of the blackmagic probe, the control endpoint pipe size
is set to 64 bytes, effectively consuming a quarter
(1 'in' endpoint, 1 'out' endpoint == 2 endpoints,
2 /* endpoints */ x 64 /* bytes per endpoint */ == 128 bytes
out of 512 /* bytes of precious usb packet memory */).
The USB standard, for full speed devices, does allow
a control endpoint size of 8 bytes.
I am not too aware of all the details of the USB standard,
but the USB standard seems to allow fragmented transactions
on the control USB pipe (endpoint 0), which libopencm3
apparently supports:
libopencm3/lib/usb/usb_control.c:usb_control_send_chunk()
I am using this change (from 64, to 8 bytes)
on a windows 10 machine, on an stlink hardware
('PROBE_HOST=stlink'). It works on my machine.
This change can potentially provide other USB endpoints
in the blackmagic firmware with more memory
2020-06-05 13:58:08 +02:00
Dömötör Gulyás
69e330849d
fix flash map for STM32G431, as it is a special case different from the STM32G47x and STM32G48x chips
2020-06-05 13:41:18 +02:00
Thomas Bénéteau
f9f928e9d6
Add support for LPC8N04
2020-06-05 12:33:51 +02:00
Mark Rages
34c0d5a1c9
When timeout is 0, `timeout_is_expired()` should return immediately.
2020-06-05 12:33:24 +02:00
Koen De Vleeschauwer
6eb1b09c1c
pc-hosted semihosting
2020-05-27 12:51:29 +02:00
Koen De Vleeschauwer
541861e978
traceswo decoding
2020-05-16 15:04:35 +02:00
Koen De Vleeschauwer
54ee00b0f6
set semihosting sys_clock time origin
2020-05-13 17:50:39 +02:00
Uwe Bonnes
499309f648
stm32f1: Tell user about STM32F10(3) clone.
2020-05-13 13:07:55 +02:00
Alexey Shvetsov
1a83bc6892
Rename variant_string in efm32 samd samx5x ( #659 )
...
* Rename variant_string
Files efm32 samd samx5x uses same function name that collides during
linking (checked with gcc10)
Signed-off-by: Alexey 'Alexxy' Shvetsov <alexxyum@gmail.com>
* Also make xxx_variant_string static
Signed-off-by: Alexey 'Alexxy' Shvetsov <alexxyum@gmail.com>
2020-05-12 17:47:04 +02:00
Alexey 'Alexxy' Shvetsov
805464db23
Fix redefinition of io function
...
Now it should work fine with any gcc version. Old one produces error
like in #657
Signed-off-by: Alexey 'Alexxy' Shvetsov <alexxyum@gmail.com>
2020-05-10 10:58:03 +02:00
Uwe Bonnes
9b939f4a3a
stm32f4: Fix option byte handling ( #654 )
...
Option bytes are not accessible with level 1 protection, so
Use FLASH_OPTCR(x)
Fix crash with "mon opt write xxxx"
Handle option manipulation better when HW Watchdog fuse is set
Allow abbreviated "mon option x<yyy>" commands
2020-05-05 12:52:32 +02:00
Sid Price
923949d5dd
Fixed variable/function name clash building on Windows
2020-05-03 15:45:31 +02:00
Koen De Vleeschauwer
9f8c7be360
semihosting
2020-05-02 12:55:29 +02:00
Vegard Storheil Eriksen
d63e870e82
cdcacm: Fix UART interface OUT endpoint MPS in descriptor.
...
3e3e450
reduced the buffer size for the UART interface OUT endpoint to
32B, but left wMaxPacketSize at 64B. This effectively configures the
hardware to receive packets up to 32B in size while telling the host it
can send larger packets. On reception of a larger packet, the usb core
treats it as an error, drops the packet and replies with a STALL
handshake.
This commit fixes the issue by updating the descriptor to match the
buffer configuration.
Fixes #538
2020-05-01 12:39:40 +02:00
Uwe Bonnes
08bb4d5775
pc-hosted: Make JTAG work.
2020-04-27 20:30:51 +02:00
Koen De Vleeschauwer
8851504a41
new semihosting commands
2020-04-23 09:43:46 +02:00
Uwe Bonnes
ada17ada23
stm32f4/7: Always use largest flashsize for device family ( #633 , #635 , #644 )
...
Do not care for the FLASHSIZE register. Leave it up to the user to abuse
flash area the ST did not announce.
2020-04-21 17:04:07 +02:00
Uwe Bonnes
164eb43f00
NRF5: Do not reset target options.
2020-04-14 19:01:43 +02:00
Uwe Bonnes
bea8436561
NRF5: Always set CORTEXM_TOPT_INHIBIT_SRST( #230 )
...
The problem also happens with NRF52840. Set CORTEXM_TOPT_INHIBIT_SRST
for all NRF5 device.
People should be more persistent!
2020-04-14 18:11:23 +02:00
mean
d1468530bd
add basic support for LPC11U68 (and maybe LPC11U68)
2020-04-06 23:36:49 +02:00
Francesco Valla
846dadcc39
lmi: add support for TM4C1294NCPDT
2020-04-03 19:42:24 +02:00
Uwe Bonnes
58a8571d5b
stlink: Print Target voltage
...
This adds about 600 bytes.
2020-04-03 16:19:20 +02:00
Francesco Valla
8a9980cd06
pc/serial_unix: bump device path buffer size to 4096 bytes
...
Since dp->d_name can be up to 255 bytes long and the 'name' buffer variable is
is a superset of it, bump the size of the latter to 4096 bytes (correspoding
to PATH_MAX on Linux systems).
2020-04-03 11:05:11 +02:00
Uwe Bonnes
b4ab9f328e
pc-hosted: Put serial handling in own files for unix and implement for windows.
...
- If host provided /dev/serial/by-id, device must not be given and
multiple devices may be selected with -s <(partial) serial number>
- On windows, device must by specifies with -d
2020-03-31 17:02:56 +02:00
Uwe Bonnes
18ae2bb50d
cl_utils.c: Include <windows.h> for windows builds that work on files.
2020-03-31 17:02:56 +02:00
Uwe Bonnes
1a0cee4e9d
pc-hosted: Clean up Makefile.inc.
2020-03-31 17:02:56 +02:00
Uwe Bonnes
bd73adf9c7
bmp/pc platforms: Deduplicate code.
2020-03-31 17:02:56 +02:00
Uwe Bonnes
9ca401497c
stm32/timing_stm32.c: Remove fixed constants and direct SCB access
2020-03-31 16:54:04 +02:00
Uwe Bonnes
c4d7232223
Export function to read out PIDR and use for samd and samx5x.
2020-03-26 19:05:57 +01:00
Uwe Bonnes
a0e42e229b
Make more things static.
...
No functional change intendend.
2020-03-26 18:44:19 +01:00
Uwe Bonnes
eca3a8dd8f
pc-stlinkv2: Make stlink_usb_get_rw_status static and allow to suppress errors
...
This helps to not overflow the console.
2020-03-26 17:56:12 +01:00
Uwe Bonnes
91d7656d86
stlink/bootloader: Really allow to detach.
...
- To reenumerate, rcc_periph_reset_pulse(RST_USB) seems enough.
- Document bootloader entry and exit behaviour of ST-LINK V2
- Document bootloader entry on ST-LINK V2-1
2020-03-26 17:15:32 +01:00
Uwe Bonnes
890b494290
pc-stlinkv2: Update README.md
2020-03-26 12:21:22 +01:00
Uwe Bonnes
effd43ce38
Harden cortexm_reset() and remove double reset( #601 )
...
Thanks to Dave Marples <dave@marples.net> for input.
- Issue only one reset. Start with SRST. Only if not seen, use SYSRESETREQ
- Wait for release of DHCSR_S_RESET_ST before issuing more commands
- Add timeout to catch reset line stuck low
- Remove AP errors
2020-03-25 11:22:14 +01:00
Uwe Bonnes
2e185ba578
BMP/PC: Allow to compile with mingw64 ( #615 )
...
__USE_MINGW_ANSI_STDIO 1 must be set befor any windows specific included.
2020-03-24 17:59:13 +01:00
Uwe Bonnes
2b76ec0ea3
dfucore: Reject erase outside the allowed range
...
An illegal erase request may get emitted as the DFU program may erase
first. Checking before flashing is not enough.
2020-03-22 16:38:54 +01:00
Uwe Bonnes
a7efe7cc14
cl-utils: Display targets found.
...
+ other small changes in DEBUG output.
2020-03-10 17:34:30 +01:00
Uwe Bonnes
65cb886bb6
Export connect_under_reset.
2020-03-10 11:44:53 +01:00
Uwe Bonnes
2065c70888
adiv5: Split PRIx64 into two PRIx32 as nanolib does not support PRIx64.
2020-03-10 10:56:42 +01:00
Uwe Bonnes
75186f7d50
ADIv5: More CoreSight device decoding:
...
- MTB-M0+ (Simple Execution Trace)
- M33: Devices need finer decoding (DEVTYPE at offset 0xfcc)
2020-03-08 22:37:59 +01:00
Uwe Bonnes
c7e7bd61b6
stlink: Do not wait for the reaction on the reset line.
...
pc-hosted will abort, if the reset line is held externally to some value.
As assert is either driven or driven open drain, we can assume assert
immediate. For deassert, logic levels differences between the debugger and
the debuggee may apply and other ways to check the result are needed, like
CORTEXM_DHCSR_S_RESET_ST.
2020-03-08 16:27:03 +01:00