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
dragonmux
f0566979b0
kinetis: Fixed the flash write command generation for K64 devices
2022-07-11 17:12:23 -07:00
dragonmux
6f273cadd8
kinetis: Try to be safer about our FCCOB writes so the Flash controller's less likely to get mad
2022-07-11 17:12:23 -07:00
Rafael Silva
0c18fcefe3
kinetis: macro organization and clearer function naming
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-09 15:55:37 -07:00
dragonmux
18a49ac853
kinetis: Run clang-format on the code
2022-07-09 15:45:06 -07:00
dragonmux
72e4f4d2b2
kinetis: Refactored out some common code from kinetis_probe for the S32K14 lineup
2022-07-09 15:45:06 -07:00
dragonmux
fee6f28915
kinetis: General formatting and readability cleanup
2022-07-09 15:45:06 -07:00