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
dragonmux
8bf601a368
jtag_scan: Continued reworking jtag_scan() and switched jtag_dev_count to a uint32_t as it can't be negative
2022-07-30 18:00:08 -07:00
dragonmux
190c45b450
jtag_scan: Reworked IR length and device count scanning when irlens is not given
2022-07-30 18:00:08 -07:00
dragonmux
9f35763199
jtag_scan: Reworked and cleaned up how scan works when irlens is specified
2022-07-30 18:00:08 -07:00
dragonmux
b258730499
jtag_scan: Turned the JTAG conformance hard errors into warnings
2022-07-30 18:00:08 -07:00
dragonmux
c488a15982
command: Improved the messages emitted out of the Trace/SWO command
2022-07-30 17:47:53 -07:00
dragonmux
fb579e5929
command: Added some output for cmd_morse when there is no message set
2022-07-30 17:47:53 -07:00
dragonmux
e013b48139
command: Cleaned up cmd_debug_bmp
2022-07-30 17:47:53 -07:00
dragonmux
a467568325
command: Cleaned up in cmd_traceswo
2022-07-30 17:47:53 -07:00
dragonmux
65c58998b4
command: Cleaned up and refactored cmd_rtt
2022-07-30 17:47:53 -07:00
dragonmux
39611b8b4f
command: Cleaned up in cmd_target_power
2022-07-30 17:47:53 -07:00
dragonmux
e8610d9ca2
command: Fixed a clang-tidy warning in cmd_halt_timeout
2022-07-30 17:47:53 -07:00
dragonmux
bffd3d3d14
command: Cleaned up cmd_connect_reset
2022-07-30 17:47:53 -07:00
dragonmux
567fc631f0
command: Refactored display_target()
2022-07-30 17:47:53 -07:00
dragonmux
50457bac13
command: Cleaned up in cmd_frequency and added some robustness
2022-07-30 17:47:53 -07:00
dragonmux
35f071c22e
command: Cleaned up in cmd_jtag_scan
2022-07-30 17:47:53 -07:00
dragonmux
5d0e36e668
command: Cleaned up and refactored cmd_help
2022-07-30 17:47:53 -07:00
dragonmux
f33744aa6a
command: Fixed a pile of type confusion in the command function arguments
2022-07-30 17:47:53 -07:00
dragonmux
823634e609
command: Refactored and cleaned up command_process
2022-07-30 17:47:53 -07:00
dragonmux
68a6a7b85e
command: Run clang-format across the code
2022-07-30 17:47:53 -07:00
dragonmux
f85265438c
command: Cleaned up parse_enable_or_disable
2022-07-30 17:47:53 -07:00
dragonmux
c2ce4430c8
command: Implemented a new command for performing intentional TDI-low resets
2022-07-30 16:59:38 -07:00
dragonmux
84c004281d
lpc11xx: Further cleanup in lpc11xx_add_flash
2022-07-30 16:59:38 -07:00
dragonmux
af86d50bc2
lpc11xx: Moved the readuid command to where it makes more sense
2022-07-30 16:59:38 -07:00
dragonmux
3d1933a5a0
lpc11xx: Run clang-format across the code
2022-07-30 16:59:38 -07:00
dragonmux
a9fff1e8a6
adiv5: Tidied up in adiv5_component_probe()
2022-07-30 16:43:43 -07:00
dragonmux
ce37d4e833
adiv5: Fix some nomenclature in adiv5_dp_init()
2022-07-30 16:43:43 -07:00
dragonmux
733d8ddc19
adiv5: Fix the invalid AP handling loop so that we don't stop early and bail out before time.
...
This improves target detection reliability.
2022-07-30 16:43:43 -07:00
dragonmux
1ea9641ada
hosted/remote_jtagtap: Refactored remote_jtagtap_init and cleaned up
2022-07-30 16:26:04 -07:00
dragonmux
02b979d382
jtagtap: Added support for configurable TAP idle cycles ready for RISC-V support
2022-07-30 16:26:04 -07:00
dragonmux
0f0435a7c1
hosted/remote_jtagtap: Fixed the debug error string in jtagtap_tdi_tdo_seq
2022-07-30 16:26:04 -07:00
dragonmux
d0faab957a
hosted/remote_jtagtap: Refactored jtagtap_reset and cleaned up
2022-07-30 16:26:04 -07:00
dragonmux
5876c7674b
hosted/remote_jtagtap: Refactored jtagtap_tms_seq and cleaned up
2022-07-30 16:26:04 -07:00
dragonmux
267dabacb1
hosted/remote_jtagtap: Refactored jtagtap_tdi_tdo_seq and cleaned up
2022-07-30 16:26:04 -07:00
dragonmux
8177e3c723
hosted/remote_jtagtap: Refactored jtagtap_cycle and cleaned up
2022-07-30 16:26:04 -07:00
dragonmux
088eb6f01b
hosted/remote_jtagtap: Refactored jtagtap_next and cleaned up
2022-07-30 16:26:04 -07:00
dragonmux
7b5121c970
hosted/remote_jtagtap: reformatted with clang-format
2022-07-30 16:26:04 -07:00
dragonmux
f02304dfdb
hosted/remote_jtagtap: Implemented support for jtagtap_cycle
2022-07-30 16:26:04 -07:00
dragonmux
2bfd84d1b2
remote: Implemented support for using the new jtagtap_cycle call
2022-07-30 16:26:04 -07:00
dragonmux
1b39173780
remote: Fixed several clang-tidy warnings caused by bad (reserved) function naming
2022-07-30 16:26:04 -07:00
dragonmux
deadf9a78d
jtagtap: Implemented jtagtap_cycle for running extra clock cycles on the bus when needed
2022-07-30 16:26:04 -07:00
grumat
5e9a974c42
Fixed compatibility issues with CH32F1 target driver and other STM32F103 clones.
2022-07-30 09:57:28 +01:00
ylm
84ffdd3b21
fix: Add nop instruction for timing purpose
...
Adding a nop instruction in the no_delay TMS sequence routine fixes timing on the f4discovery platform
2022-07-30 02:49:56 +01:00
ylm
4d64edad7a
fix: Use standard macros for debug message formating
2022-07-29 21:22:17 +01:00
dragonmux
57fec4d0b6
adiv5: Cleaned up a couple of the debug prints
2022-07-29 21:22:17 +01:00
Rafael Silva
7c14b62419
target: fix probing for lpc1343
2022-07-26 05:14:30 +01:00
Rafael Silva
bf30580330
target/adiv5: add missing include in hosted build
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-26 05:08:10 +01:00
Rafael Silva
8b5206fb8d
target: add weak aliasing to allow disabling targets
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-26 05:08:10 +01:00
dragonmux
6f81cb6a68
adiv5: Removed an extraneous pair of perens as they suppress desirable warnings
2022-07-25 18:28:57 +01:00
dragonmux
3592658a26
adiv5: Cleaned up the loop in adiv5_ap_read_id
2022-07-25 18:28:57 +01:00
dragonmux
bb3e74062e
adiv5: Fixed the naming of a timeout in cortexm_prepare
2022-07-25 18:28:57 +01:00
Rafael Silva
013b2dee60
target/adiv5: further cleanup
2022-07-25 18:28:57 +01:00
Rafael Silva
0942d7047a
target/adiv5: saner designer code handling and cleanup
...
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-07-25 18:28:57 +01:00
Rafael Silva
ce3d80528e
command: clarify hex format
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-25 18:28:57 +01:00
Rafael Silva
d1fa50336e
target/adiv5: clang format/tidy
2022-07-25 18:28:57 +01:00
dragonmux
37efd257e8
gdb_main: Fixed a small DEBUG_GDB regression for vFlashErase and vFlashWrite debugging
2022-07-20 23:03:31 -07:00
dragonmux
e2f07b359a
gdb_main: Implemented a notification to GDB that the "process" has exited when the user runs a new bus scan while attached to a target
2022-07-20 21:37:16 -07:00
dragonmux
c0b5f89148
gdb_packet: Implement notification packets
2022-07-20 21:37:16 -07:00
dragonmux
5ae5ffb7c3
gdb_main: Add some output in the scan commands to indicate when still attached that you aren't after the command, despite what GDB thinks
2022-07-20 21:37:16 -07:00
dragonmux
b47ee11537
gdb_main: Implemented qfThreadInfo and qsThreadInfo for GDB 11+
2022-07-20 21:37:16 -07:00
dragonmux
4ba77a60ca
gdb_main: Implemented vKill as it's required for GDB 11+
2022-07-20 21:37:16 -07:00
dragonmux
2378e8614e
gdb_main: Cleaned up the naming in the 'g' and 'G' packet handlers
2022-07-20 21:37:16 -07:00
dragonmux
bc5cca7a8b
hex_utils: Cleaned up and fixed the type confusion that was going on
2022-07-20 21:37:16 -07:00
dragonmux
adff7651b6
gdb_main: Reply to vAttach with TID 1 because GDB 11 and 12 are terminally broken otherwise
2022-07-20 21:37:16 -07:00
dragonmux
0c8ebc693d
gdb_main: Implemented support for qC queries
2022-07-20 21:37:16 -07:00
dragonmux
00c09b4156
gdb_main: More type confusion fixes and cleanup
2022-07-20 21:37:16 -07:00
dragonmux
75d7dd32d1
gdb_main: Implemented H[m|M|g|G|c] packet support
2022-07-20 21:37:16 -07:00
dragonmux
f448368d39
gdb_packet: Done a spring pass on the types situation and cleaned things up
2022-07-20 21:37:16 -07:00
Sean Cross
a83e024eea
general: check _DEFAULT_SOURCE and _GNU_SOURCE
...
The _DEFAULT_SOURCE and _GNU_SOURCE defines must exist in order to
enable certian glibc features. Therefore, it is common to define these
either in header files or on the command line.
Some platforms define these in their system headers. For example,
ESP-IDF defines this in their `features.h` file. This results in
a clash when blackmagic is compiled.
Check that these defines do not already exist prior to defining them.
Signed-off-by: Sean Cross <sean@xobs.io>
2022-07-20 05:18:42 +01:00
dragonmux
c530bd077b
misc: Switched to using C11
2022-07-18 20:59:15 -07:00
dragonmux
52e5357e99
swdptap: Refactored swdptap_seq_out_parity and cleaned up
2022-07-18 18:57:10 -07:00
dragonmux
da1038313f
swdptap: Refactored swdptap_seq_out and cleaned up
2022-07-18 18:57:10 -07:00
dragonmux
29baa2725c
swdptap: Further cleanup to the seq_in functions
2022-07-18 18:57:10 -07:00
dragonmux
caaf7837a5
swdptap: Made the cycle code a little easier to reason about
...
This doesn't actually change the resulting binary size, so worth doing
2022-07-18 18:57:10 -07:00
dragonmux
c267327975
swdptap: Refactored swdptap_seq_in_parity and cleaned up
2022-07-18 18:57:10 -07:00
dragonmux
6f0bdf5f32
swdptap: Refactored swdptap_seq_in and cleaned up
2022-07-18 18:57:10 -07:00
dragonmux
92c7a11cd2
swdptap: Cleaned up swdptap_turnaround
2022-07-18 18:57:10 -07:00
dragonmux
10d30821e5
swdptap: Cleaned up the naming and and signatures of the SWDP implementation functions
2022-07-18 18:57:10 -07:00
dragonmux
1a362db5ab
hosted/cmsis_dap: Naming cleanup
2022-07-18 18:57:10 -07:00
dragonmux
a8c2082adf
jtagtap: Const-correctness
2022-07-18 18:57:10 -07:00
dragonmux
9a21ef043f
hosted/ftdi_bmp: Cleaned up and fixed the signature for libftdi_buffer_write
2022-07-18 18:57:10 -07:00
dragonmux
d1c24b4fec
jtagtap: Cleaned up and fixed the signatures for the JTAG TAP implementation functions
2022-07-18 18:57:10 -07:00
dragonmux
46958ba404
dap: Cleaned up the naming and signature of the JTAG TAP DAP functions
2022-07-18 18:57:10 -07:00
dragonmux
96cdd17974
remote: Cleaned up the REMOTE_NEXT state
2022-07-18 18:57:10 -07:00
dragonmux
bdae0b2ded
jtagtap: Refactored jtagtap_tdi_seq, cleaning up and fixing naming
2022-07-18 18:57:10 -07:00
dragonmux
131165701c
jtagtap: Fixed more of the naming for parameters to the JTAG TAP functions
2022-07-18 18:57:10 -07:00
dragonmux
124b3c79d7
jtagtap: Refactored jtagtap_tdi_tdo_seq and cleaned up
2022-07-18 18:57:10 -07:00
dragonmux
1671b97f61
jtagtap: Reworked jtagtap_tms_seq(), saving 8 bytes and simplifying things
2022-07-18 18:57:10 -07:00
dragonmux
303fa15171
jtagtap: Reformatted and begun cleaning up the JTAG TAP primitives implementation
2022-07-18 18:57:10 -07:00
dragonmux
a6f2b52d9b
jtagtap: Reformatted and cleaned up in the header
2022-07-18 18:57:10 -07:00
dragonmux
7b1c4a5565
hosted/cli: Remove the `-d`/`--device` deprecation warning
...
This option is still useful to many users and there isn't a particular reason for it to be marked deprecated
2022-07-18 17:13:52 -07:00
dragonmux
85d24e8289
target: Implemented a command to allow erasing Flash ranges on any target
2022-07-18 17:12:13 -07:00
dragonmux
52cad38fac
hosted/dap: Cleaned up some of the link reset pointer maths
2022-07-18 17:10:23 -07:00
dragonmux
8e8ad7dbd4
hosted/cmsis_dap: Removed one-bit SWD read while SWIO is undriven + pulled up which can cause issues with certain CMSIS-DAP adaptors
...
Many thanks to @mubes for finding this and suggesting a fix
2022-07-18 17:10:23 -07:00
Giovanni Santana
1b8e522e87
nrf51: Add command to enable flash protection
...
Add braces for the while loop
2022-07-15 16:57:52 +01:00
Giovanni Santana
6ae846ae24
target/nrf51: Add command to enable flash protection
...
Add command `mon protect_flash` to enable flash read/write protection
2022-07-15 16:57:52 +01:00
Piotr Esden-Tempski
e19c2a7298
BMDA: Make the pkg-config checks work on older gnu make versions.
...
The .SHELLSTATUS variable was added in GNU Make 4.2. Mac OS for example
ships with 3.81.
2022-07-15 12:40:09 +01:00
Piotr Esden-Tempski
d0c45cf095
BMDA: Using tabs outside of a target indent causes issues.
...
It is safer to only use spaces to indent make statements outside of
targets as each line that executes any shell code will fail if it is
indented with tabs.
2022-07-15 12:40:09 +01:00
Jonathan Giles
a3d3a2326f
Add include path so that libusb headers found on OSX.
2022-07-15 02:19:03 +01:00
dragonmux
94b62ff924
target: Fixed several clang-tidy warnings which improve readability of the code
2022-07-14 16:19:43 -07:00
dragonmux
bdf4dc8731
nrf51: Fixed mass erase after run then user interrupt (Ctrl + C) not working
2022-07-14 14:19:14 -07:00
dragonmux
5607eac812
cortexm: Cleaned up formatting, types and const-correctness in cortexm_attach
2022-07-14 14:19:14 -07:00
Rafael Silva
069f05ea4b
target/efm32: stop hiding data in driver string
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-14 13:11:19 +01:00
Rafael Silva
096927b0b8
target/efm32: bootloader lock word handling fix
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-14 13:11:19 +01:00
Rafael Silva
c2589bc39f
target/efm32: mass erase correctness
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-14 13:11:19 +01:00
Rafael Silva
00dd7f145f
target/efm32: code cleanup
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-14 13:11:19 +01:00
Rafael Silva
42d36d9d10
target/efm32: general formatting/style cleanup
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-14 13:11:19 +01:00
Piotr Esden-Tempski
018fc517a1
stm32f4: Fixes erase_mass command return error.
...
The final erase_mass command check is looking for the EOP (End of
OPeration) bit to be set. This bit is only set when the EOP interrupts
(EOPIE = 1) are enabled. We are not enabling those on the target so this
bit will never get set. As we are monitoring the BSY flag to make sure
the erase_mass operation is still ongoing and finished it is enough if
we just check the error flags.
2022-07-13 20:57:09 -07:00
dragonmux
ae81d1635f
hosted/cmsis_dap: Enhanced the hid_open failure output on Linux to help users narrow down the issue faster
2022-07-13 19:37:35 -07:00
dragonmux
0d2fb6ab79
hosted/cmsis_dap: Broken up the dap_init function into multiple parts so they're easier to understand
2022-07-13 19:37:35 -07:00
dragonmux
ec5ac64bdc
hosted/cmsis_dap: Done a first pass at rewriting the HID serial number logic to be unicode-safe
2022-07-13 19:37:35 -07:00
dragonmux
50ff4a2dbe
hosted/dap: Fixed the definiiton of dap_info, adding const-correctness
2022-07-13 19:37:35 -07:00
dragonmux
2f9d280e2a
hosted/dap: Cleanup and named all the enums defined in dap.h
2022-07-13 19:37:35 -07:00
dragonmux
1765d2afbc
hosted/dap: Reformatted the header with clang-format
2022-07-13 19:37:35 -07:00
dragonmux
83191bb87d
hosted: Made ASAN globally available, not only on Linux.
2022-07-13 19:37:35 -07:00
dragonmux
4bea5cfe81
hosted/cmsis_dap: Added a call to hid_error() when hid_open fails
2022-07-13 19:37:35 -07:00
dragonmux
000b05e1eb
hosted: Updated the build system documentation
2022-07-13 19:37:35 -07:00
dragonmux
a43fe4f5bf
hosted: Reformatted Makefile.inc to make it easier to read
2022-07-13 19:37:35 -07:00
dragonmux
a0b20bba84
hosted: Fixed the ASAN build configuration as it's wrong when using Clang as the compiler
2022-07-13 19:37:35 -07:00
dragonmux
4e50b22775
hosted: Removed the custom HIDAPI implementation for windows
...
The HIDAPI library provides a perfectly cogent implementation that includes statically linkable objects.
Their implementation is more correct and more up to date than this, so use it.
2022-07-13 19:37:35 -07:00
dragonmux
6d7c6c5daf
lmi: Added progress dots for mass erase to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
d64992ade8
rp: Cleanup in how we define some of the Flash constants
2022-07-13 19:34:57 -07:00
dragonmux
ce94169099
stm32l0: Added some links to the reference manuals
2022-07-13 19:34:57 -07:00
dragonmux
a22d6e5056
stm32l0: Run clang-format across the code
2022-07-13 19:34:57 -07:00
dragonmux
b84f883aeb
lmi: Implemented mass erase
2022-07-13 19:34:57 -07:00
dragonmux
90b7362162
stm32l4: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
787d66fe95
stm32h7: Switched to the unified mass erase command, breaking up the implementation cleanly and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
980a1f140c
stm32g0: Switched to the unified mass erase command, breaking out the bank erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
d82ad89715
stm32f4: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
2f0d35de19
samx5x: Bracket and GDB message cleanup
2022-07-13 19:34:57 -07:00
dragonmux
591f05d7e5
samd: Cleanup and fixed a notification TODO
2022-07-13 19:34:57 -07:00
dragonmux
94d5c0576b
samd/samx5x: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
e9b75ba4bc
rp: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
ffd358824f
nrf51: Switched to the unified mass erase command for the recovery target and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
57d8e8f5d9
nrf51: braces cleanup in nrf51_flash_erase
2022-07-13 19:34:57 -07:00
dragonmux
ee694fcb75
nrf51: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
8130b62bcf
lpc546xx: Switched to the unified mass erase command for the recovery target and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
9af2d2a413
lpc: Clean up part of the lpc_iap_call command wait loop
2022-07-13 19:34:57 -07:00
dragonmux
56ecbb3b89
lpc43xx: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
6f57cdf6ba
lpc17xx: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
ae1cb56ce0
kinetis: Switched to the unified mass erase command for the recovery target and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
9d46d0c5c6
target: Refactored out the progress printer to reduce Flash usage
2022-07-13 19:34:57 -07:00
dragonmux
b8ca831cfb
efm32: Switched to the unified mass erase command for the recovery target and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
c1758088cd
efm32: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
17c04d585e
stm32f1: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
c2d72b4825
kinetis: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
c35f65c6c0
target: Implemented a global target mass erase command
2022-07-13 19:34:57 -07:00
dragonmux
30e2106e40
target: Make the buffers used to program a target's Flash better bounded in lifetime and memory usage
2022-07-13 19:08:31 -07:00
Anti Sullin
3e9913e88b
Implement semihosting debug output redirection to usb-uart port.
2022-07-13 18:49:20 -07:00
Piotr Esden-Tempski
c7b54d2eaa
BMP V2.3: Fix outdated ADC reads.
...
We are using GD32F103 on the BMP V2.3 hardware. The GD32F103 has an
errata for the ADC where the end of conversion (EOC) bit is not reset
when reading the ADC result. This resulted in us not waiting for the new
value to be acquired and reading an old value instead. The solution for
that is resetting the EOC bit manually after reading the ADC result, so
that on the next acquisision we wait for the conversion to finish.
This patch also increases the sampling time as the GD32 have lower ADC
impedance than the STM32 and this should help us read a more accuarate
target voltage.
2022-07-14 01:54:43 +01:00
dragonmux
4bc68409f8
kinetis: Clean up how kl_gen_flash_done builds the command buffers to send to ensure the security byte is OK
2022-07-11 17:12:23 -07:00