dragonmux
886c790b25
serialno: Refactored the serial number code, cleaning up its API and localising implementation details
2022-08-12 22:25:52 -07:00
dragonmux
259077a87d
common: Moved the USB initialisation code into usb.c
2022-08-12 22:25:52 -07:00
dragonmux
ada59291c2
common: Broke the USB descriptors out to their own header
2022-08-12 22:25:52 -07:00
dragonmux
d6f8a343a2
platform: Fixed the order of operations with the physical UART init vs the USB stack init
2022-08-12 22:25:52 -07:00
dragonmux
82bca86806
platform: Renamed cdcacm_init -> blackmagic_usb_init
2022-08-12 22:25:52 -07:00
dragonmux
105f6a3dce
common: Begun splitting the USB code into more sensibly named implementation files
2022-08-12 22:25:52 -07:00
dragonmux
3606784663
hosted/cmsis_dap: Add a dummy read to the end of dap_mem_write_sized() so we always wait on the write to ensure it's complete before any DP access can occur
2022-08-08 14:45:38 -07:00
dragonmux
4c544bad28
adiv5: Add a dummy read to the end of firmware_mem_write_sized() so we always wait on the write to ensure it's complete before any DP access can occur
2022-08-08 14:45:38 -07:00
dragonmux
7107d14bbc
sfdp: Moved the read debugging into the implementation
2022-08-08 14:43:29 -07:00
dragonmux
1556db88de
rp: Made use of the extra information we pull back from the SFDP data in rp_flash_erase
2022-08-08 14:43:29 -07:00
dragonmux
09b044e351
rp: Cleanup in the Flash write/erase routines
2022-08-08 14:43:29 -07:00
dragonmux
e69a79cecf
rp: Types cleanup for the Flash erase/write routines
2022-08-08 14:43:29 -07:00
dragonmux
4630353be4
rp: Created a Flash container type for the SPI-specific configuration bits
2022-08-08 14:43:29 -07:00
dragonmux
d883fd0cdc
rp: Refactored the SPI Flash parameter and size readout into rp_add_flash()
2022-08-08 14:43:29 -07:00
dragonmux
8e99e8ec4d
rp: Added some debugging to the SFDP read routine to aid with SFDP failures
2022-08-08 14:43:29 -07:00
dragonmux
298299d85b
rp: Cleaned up some variable naming in the ROM function table reader
2022-08-08 14:43:29 -07:00
dragonmux
9681475ab5
rp: Made use of the SFDP routines to extract the necessary Flash parameters
2022-08-08 14:43:29 -07:00
dragonmux
253d0cc1d9
rp: Entirely rewrote the SPI Flash read routine so we can implement SFDP support
2022-08-08 14:43:29 -07:00
dragonmux
6559c46ce9
sfdp: Implemented a structure for the JEDEC ID data
2022-08-08 14:43:29 -07:00
dragonmux
969c7c6c14
rp: Naming cleanup for the memory region base addresses and sizes
2022-08-08 14:43:29 -07:00
dragonmux
ff30b66b3a
rp: Cleaned up the RP register definitions for the SPI Flash and the chip select line control routine
2022-08-08 14:43:29 -07:00
dragonmux
2058725dd8
rp: Cleaned up and rewrote the ROM function table readout code to be more understandable and transparent
...
This saves 20 bytes of Flash
2022-08-08 14:43:29 -07:00
dragonmux
a372cfd787
rp: Fixed the private structure naming and made a typedef for it
2022-08-08 14:43:29 -07:00
dragonmux
11b43a7c66
rp: Refactored the ROM table tags using a helper macro
2022-08-08 14:43:29 -07:00
dragonmux
f2b0d3030c
rp: Fixed the UB _-prefixed naming of the ROM routines
2022-08-08 14:43:29 -07:00
dragonmux
8d772d048b
rp: Cleaned up ROM table function table readout
2022-08-08 14:43:29 -07:00
dragonmux
8382b0aa7d
rp: Magic numbers cleanup using top of file definitions
2022-08-08 14:43:29 -07:00
dragonmux
96259d11c8
sfdp: Implemented the logic needed to read the headers and basic parameter table
2022-08-08 14:43:29 -07:00
dragonmux
d9c7c8bc13
sfdp: Implemented types and helpers for the basic parameter table
2022-08-08 14:43:29 -07:00
dragonmux
c6133a8cae
sfdp: Begun implementing the machinary needed to read and parse out SFDP headers from SPI Flash
2022-08-08 14:43:29 -07:00
dragonmux
64c0b8a298
target_internal: typedef'd the target_flash structure to make use nicer
2022-08-08 14:43:29 -07:00
Rafael Silva
802c5fb87c
hosted/jlink: fix bad line reset cmd building
...
extra memset set bits that were not set before code cleanup
2022-08-08 12:30:34 -04:00
dragonmux
1b8dd3a5d9
target: Made target_flash_for_addr() available as a target internal
2022-08-07 20:16:04 -07:00
Piotr ESden-Tempski
253a12f014
native: Enable uart on HW >=V3 when debugging.
...
We were disabling the UART on all Hardware V1 and newer, as V1 and V2
had the SWD pins connected to the UART pins. Since V3 this is not the
case any more so we can keep the UART enabled when an SWD debugger is
connected to the BMP.
2022-08-07 22:59:23 -04:00
dragonmux
7cacdab98e
hosted: Cleaned up the CFLAGS and LDFLAGS building to use pkg-config to find libusb1 and corrected the pkg-config presence check
2022-08-07 13:42:32 -07:00
dragonmux
3dadd64f9b
samd: Made all the defined constants unsigned
2022-08-07 13:38:42 -07:00
dragonmux
da2c4f24b0
samd: Done a little reformatting of the defined constants
2022-08-07 13:38:42 -07:00
dragonmux
5ade9143a6
samd: Removed piles of needless command handler casts
2022-08-07 13:38:42 -07:00
dragonmux
0be6c1bc72
samd: Corrected the DID family mask
2022-08-07 13:38:42 -07:00
dragonmux
d9e14645da
samd: Fixed a couple of clang-tidy warnings
2022-08-07 13:38:42 -07:00
dragonmux
aff2f4e428
hosted/cli: Made sure the command line options structure is initialised with opt_mode = BMP_MODE_DEBUG before args parsing
2022-08-07 13:37:09 -07:00
Sean Cross
c89fd19632
adiv5_jtagdp: remove double-parens on if statement
...
Some parens were doubled-up, which can cause warnings on certain
platforms. Remove the double-parens in order to fix this warning.
Signed-off-by: Sean Cross <sean@xobs.io>
2022-08-07 11:10:05 -04:00
Sean Cross
aeab1bae03
adiv5: use PRIxNN specifiers for debug printfs
...
This fixes a few printf-style warnings that slipped through due to the
fact that they're only enabled on debug builds. This enables building
this file on an Xtensa platform where -Werror and -Wformat is enabled by
default.
Signed-off-by: Sean Cross <sean@xobs.io>
2022-08-07 11:10:05 -04:00
SId Price
d41bb2a7f0
Fix Windows build due to lack of alloca.h
2022-08-06 18:35:01 -04:00
Rafael Silva
0075abacbf
jlink_adiv5_swdp: remove duplicated logic on swdp low access
2022-08-06 18:02:30 -04:00
Rafael Silva
4f01ffe56c
misc: change return type of scan routines to size_t
2022-08-06 18:02:30 -04:00
Rafael Silva
7db6c71095
platform: set power flag to const
2022-08-06 18:02:30 -04:00
Rafael Silva
322af2506b
hosted/platform: make platform identifier nicer to read
2022-08-06 18:02:30 -04:00
Rafael Silva
3a673225b7
hosted/stlink: make swd scan function more consisted with other probes
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-08-06 18:02:30 -04:00
Rafael Silva
ce6477886f
target/adi: unify DPIDR TARGETID handling in adiv5_dp_init
...
this makes the assumption that DPs will be v1 or higher, for SWD-DP scans this is
guaranteed, but on JTAG-SCANS it may not be true, DPv0 does not have DPIDR
implemented and reads are UNPREDICTABLE
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-08-06 18:02:30 -04:00
Rafael Silva
c04b98435a
adiv5_jtagdp: code format
2022-08-06 18:02:30 -04:00
Rafael Silva
0fbb6921b9
jlink_adiv5_swdp: code cleanup
2022-08-06 18:02:30 -04:00
Rafael Silva
564114df13
platform: code format and style
2022-08-06 18:02:30 -04:00
Rafael Silva
a1f0d28913
platform: check calloc result
2022-08-06 18:02:30 -04:00
Rafael Silva
81890b1fe9
target/adi: clarify TARGETSEL mask and offset
2022-08-06 18:02:30 -04:00
Rafael Silva
20d4109c56
target/stm32h7: fix ids
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-08-06 13:46:53 -04:00
Rafael Silva
87cabb78e5
target/cortexm: print t->part_id not ap->partno in unknown device warning
...
this is the id used to probe, which may or may not be the same
2022-08-05 13:47:09 +01:00
gatin00b
180ceabae3
fix: Correct grammatical error
2022-08-03 19:30:27 -07:00
Rafael Silva
ae23cb879e
hosted/jlink: add warning when ignoring unkown pids
2022-08-01 23:04:28 +01:00
Rafael Silva
eb8b930841
hosted/jlink: add pid 0x1015 as a valid J-Link debugger
2022-08-01 23:04:28 +01:00
Rafael Silva
46fd32da5c
hosted/jlink: fix vid-pid transposition error
2022-08-01 23:04:28 +01:00
dragonmux
0077d31be3
rp: Make the function naming scheme uniform
2022-07-31 16:23:31 -07:00
dragonmux
6288d5884d
rp: Fixed another clang-tidy warning
2022-07-31 16:23:31 -07:00
dragonmux
7266e3cf54
rp: More code re-ordering to make the order of definitions make more sense
2022-07-31 16:23:31 -07:00
dragonmux
982d1ac847
rp: atoi() -> strtoul() to fix the clang-tidy warning and improve robustness and correctness
2022-07-31 16:23:31 -07:00
dragonmux
efb2e99408
rp: re-grouped the target-specific commands to the bottom of the implementation
2022-07-31 16:23:31 -07:00
dragonmux
ae982cae6b
rp: Begun re-ordering the code to make it more like other targets
2022-07-31 16:23:31 -07:00
dragonmux
9015013195
rp: static correctness for several of the RP2040 routines
2022-07-31 16:23:31 -07:00
dragonmux
f429898adb
rp: Removed rp_detach as the function serves no purpose
2022-07-31 16:23:31 -07:00
grumat
df513ebda8
Added support for AT32F403A/407/415.
2022-07-31 12:21:26 +01:00
Rafael Silva
f435bd2136
target/adi: rework handling of TARGETID
...
add missing fetching of targetid in jlink probes
clarify how targetid is being read
handle idcode as debug_port_id
use targetid when available to identify device in probe routine
2022-07-31 12:09:07 +01:00
Rafael Silva
ad65f4a7c7
target/adi: remove superfluous ap_ prefix from ap variable
2022-07-31 12:09:07 +01:00
Rafael Silva
8238d3c020
target: rename target idcode
2022-07-31 12:09:07 +01:00
Rafael Silva
8e06539eb5
target/lp17xx: remove unnecessary check
...
this actually just checked that is was a DP designed by arm for probably a cortex M3 or M4
we already check for M3 afterwards, not very useful
2022-07-31 11:16:36 +01:00
Rafael Silva
07b8d9c285
target/efm32: remove unnecessary check
2022-07-31 11:16:36 +01:00
Rafael Silva
1286faff64
target/adi: correct raspberry jep code, cleanup dpidr/targetid code handling
2022-07-31 11:16:36 +01:00
Rafael Silva
58025feec2
target/adi: rename missleading idcode variable
2022-07-31 11:16:36 +01:00
Rafael Silva
a9229a869b
target/semihosting: move semihosting defines to its own header
2022-07-31 11:16:36 +01:00
Rafael Silva
73f3910f62
misc: code format & cleanup
2022-07-31 11:16:36 +01:00
Uwe Bonnes
460bd1e477
stm32/gdb_if: Use _WFI when nothing to do.
2022-07-30 21:45:51 -07:00
fabalthazar
02261b900e
Do not reply OK forever if USB port closed
2022-07-30 19:03:14 -07:00
fabalthazar
74b4b863c1
Do not turn IDLE LED off when port closed and target already detached
2022-07-30 19:03:14 -07:00
dragonmux
e6075d4bd3
ch32f1: Static correctness for for ch32f1_buffer_clear
2022-07-30 18:05:42 -07:00
dragonmux
7e7bc3789c
ch32f1: Fixed the return type for ch32f1_flash_lock
2022-07-30 18:05:42 -07:00
dragonmux
f548473f28
ch32f1: Fixed the return type for ch32f1_flash_unlock
2022-07-30 18:05:42 -07:00
dragonmux
9d43ade05c
cortexm: Fixed the probing for LMI devices (both Cortex-M3 and Cortex-M4)
...
Other routines that were firing in front of lmi_probe were putting the devices into bad state and causing a plethora of issues
2022-07-30 18:04:07 -07:00
dragonmux
a561e71fc3
lmi: Refactored out the device IDs as defines
2022-07-30 18:04:07 -07:00
dragonmux
c6b833665b
lmi: Cleaned up in lm3s_probe()
2022-07-30 18:04:07 -07:00
dragonmux
289aad6792
lmi: Added support for the LM3S8962
2022-07-30 18:04:07 -07:00
dragonmux
f3f7253f00
lmi Added support for LM3S5732
2022-07-30 18:04:07 -07:00
dragonmux
20b973daa0
lmi: Corrected the LM3S3748 RAM and Flash regions as they were mis-sized
2022-07-30 18:04:07 -07:00
dragonmux
738b6c650f
lmi: Refactored the probe code as it handles multiple device families and the structure should reflect that
2022-07-30 18:04:07 -07:00
dragonmux
75773631cb
cortexm: Fixed a clang-tidy warning in the PROBE macro
2022-07-30 18:04:07 -07:00
dragonmux
08207b9af9
lmi: Added some more robustness to the probe routine
2022-07-30 18:04:07 -07:00
dragonmux
d3c80f8b32
jtag_scan: Reordered jtag_dev_t to fix a clang-tidy warning about excessive padding
2022-07-30 18:00:08 -07:00
dragonmux
a4ee80edfe
jtag_scan: Cleaned up and reworked jtag_dev_shift_dr()
2022-07-30 18:00:08 -07:00
dragonmux
2eb19d4eb7
jtag_scan: Cleaned up and reworked jtag_dev_write_ir()
2022-07-30 18:00:08 -07:00
dragonmux
14dafdbf92
jtag_scan: Finished cleaning up in jtag_scan()
2022-07-30 18:00:08 -07:00
dragonmux
181e84cb0c
jtag_scan: Adjusted the parameter and result types for jtag_scan(), jtag_add_device(), and related functions
2022-07-30 18:00:08 -07:00
dragonmux
36db97a57c
jtag_scan: Cleaned up and reworked the BMDA integration and scan debugging information
2022-07-30 18:00:08 -07:00