Commit Graph

2041 Commits

Author SHA1 Message Date
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
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
dragonmux 9b8d2fb822 stlink: Added documentation about the new SWIM_AS_UART build option 2022-07-03 18:05:02 -07:00
Silke Hofstra a95e2e80bc stlink: Add option to turn SWIM/RST into UART RX/TX
Building for `stlink` with `SWIM_AS_UART=1` now enables the use of the
SWIM and RST ports as RX and TX on cheap ST-Link V2 clones.

This is done by using USART1 on the alternative port instead of USART2.
2022-07-03 18:05:02 -07:00
Marcin Niestroj c26115b3f7 blackpillv2: clarify how to exit bootloader mode
There is no need to press any other "key" other than NRST button. So
update documentation according to that.
2022-07-01 06:56:57 -04:00
Marcin Niestroj 86a12ddaaa blackpillv2: clarify how to enter to bootloader mode
According to [1] all PCB revisions have BOOT0 and NRST labels near
buttons. Reference those in README for ease of use.

PB2/BOOT1 has a 10k pull-down on PCB (in all revisions, according to
[1]), so there is no need to do anything on the board (like "jumpering
to GND") unless the board was modified by user. Hence don't reference
PB2/BOOT1 in the README, as it was just confusing to the user.

[1] https://github.com/WeActTC/MiniSTM32F4x1/tree/master/HDK
2022-07-01 06:56:57 -04:00
Marcin Niestroj 61c2724c9d blackpillv2: fix PROBE_HOST in Readme.md
After renaming directory with s/blackpill/blackpillv2/, Readme.md still
contained the old 'blackpill' name in PROBE_HOST. Fix that by replacing
it with 'blackpillv2'.

Fixes: 3ccb0af21c ("blackpillv2: Renamed blackpill to blackpillv2 to
  prevent ambiguity.")
2022-07-01 06:01:06 -04:00
Jonathan Giles 780ee7a2a8 Fix build error and logic ... 2022-06-28 06:31:16 -04:00
dragonmux d78f7696cc stm32/serialno: Run clang-format on the serial number code 2022-06-27 23:11:42 -07:00
dragonmux fef40b701f stm32/serialno: Fixed a typo in the 24 character serial number loop
before: 0670FF530000000000000000
after: 0670FF535567494867085055
2022-06-27 23:11:42 -07:00
Manoel Brunnen d140b4b667 stlink: Fix the LED pinout on the Nucleo boards 2022-06-27 23:09:56 -07:00
Rafael Silva 1a963b81f6 target/stm32f1: GD32E230 option write special case handling
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-06-27 18:13:52 -04:00
Rafael Silva e7a7d82b33 target/stm32f1: remove unused code snippet and superfluous preprocessor check, less pedantic wording on warning
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-06-27 18:13:52 -04:00
Rafael Silva a5ebff14bb target/stm32f1: remove redundant grouping ad for loop cleanup
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-06-27 18:13:52 -04:00
Rafael Silva 90ed4fe31a target/stm32f1: clang-format and code styling for better readability
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-06-27 18:13:52 -04:00
Rafael Silva 5666fa2a2f target/sam3x: add aditional check for valid EEFC addr
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-06-27 07:48:54 -04:00
Rafael Silva 1bca0323d9 target/sam3x: saner uninitialized variable prevention
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-06-27 07:48:54 -04:00
dragonmux 3a02fdea9d misc: Added a clang-tidy Makefile target so enforcing the formatting is easier 2022-06-26 18:55:04 -07:00
Jonathan Giles 730a795f09 Add idcode for GD32F303CG detection 2022-06-26 21:00:26 -04:00
dragonmux 09f64b0627 misc: Added a HACKING.md to provide an explanation of nomenclature and how we handle reset terminology 2022-06-26 16:51:58 -07:00
dragonmux c33d02bc19 hosted/stlink: Improved the information output and its consistency 2022-06-26 16:51:58 -07:00
dragonmux aa9c80b37d misc: Formatting consistency 2022-06-26 16:51:58 -07:00
dragonmux 2765811bbb hosted/stlink: Naming consistency for 'stlink' global object 2022-06-26 16:51:58 -07:00
dragonmux 66b2d0659a hosted: type naming consistency 2022-06-26 16:51:58 -07:00
dragonmux baf84c9eb4 launchpad-icdi: Cleaned up and fixed some C89-isms 2022-06-26 16:51:58 -07:00
dragonmux 0139a349ab hosted/FTDI: Cleaned up the error handling so the compiler can usefully tell us of errors in conditions
This also fixes an accidental assignment bug in libfti_max_frequency_set()
2022-06-26 16:51:58 -07:00
dragonmux 826840bf90 hosted/remote: Cleaned up the error handling so the compiler can usefully tell us of errors in conditions 2022-06-26 16:51:58 -07:00
dragonmux fbe804f905 hosted/ftdi: Updated the 'cables' definitions 2022-06-26 16:51:58 -07:00
dragonmux 5ec848e948 hosted/jlink: Fixed use of 'int' where 'size_t' is more appropriate 2022-06-26 16:51:58 -07:00
dragonmux 9b53fbf6ea launchpad-icdi: Fixed up and rewritten the serial number code to match what was done in #1041 2022-06-26 16:51:58 -07:00
dragonmux c271c5c979 remote: Updated the naming in the remote protocol macros 2022-06-26 16:51:58 -07:00
dragonmux adc03e47d6 hosted: Cleaned up and fixed the definitions of the fill functions for HOSTED_BMP_ONLY 2022-06-26 16:51:58 -07:00
dragonmux 94afb264e4 command: Cleaned up and improved the naming of cmd_reset and cmd_connect_reset 2022-06-26 16:51:58 -07:00
dragonmux 12fefa73c9 platforms: Cleaned up and fixed many markdown lint errors, improving the formatting of many of the platform README's 2022-06-26 16:51:58 -07:00
dragonmux 0dae6a4019 misc: Renamed connect_assert_nrst to clarify usage and align naming 2022-06-26 16:51:58 -07:00
dragonmux b226c53d13 misc: Renamed CORTEXM_TOPT_INHIBIT_NRST to clarify usage and align naming 2022-06-26 16:51:58 -07:00
dragonmux 5edf549b48 misc: Updated comments and READMEs to properly reflect pinouts and function 2022-06-26 16:51:58 -07:00
dragonmux 2eaa579965 platforms: NRST and TRST naming consistency
This aligns the nRST and nTRST pin naming with the bulk of the README's for the platforms along with the hardware
2022-06-26 16:51:58 -07:00
dragonmux a8e12d716d misc: Renamed platform_nrst_{get,set}_val to clarify naming and provide consistency 2022-06-26 16:51:58 -07:00
SId Price bc9032da06 Fix uninitialized variables in target sam3x
Exposed while building hosted with -Og option
2022-06-26 18:52:12 -04:00
dragonmux 0612f2dc79 hosted: Documented the new command line option and added it to the ZSH completions 2022-06-26 14:28:35 -07:00
dragonmux 52dcf46e61 command: Done a little cleanup of the formatting and layout 2022-06-26 14:28:35 -07:00
dragonmux 10a4c3f77e hosted: Implemented the extra logic to implement auto-scan in the CLI 2022-06-26 14:28:35 -07:00
dragonmux 2aea7238af command: Implemented the new 'auto_scan' command for the firmware 2022-06-26 14:28:35 -07:00
dragonmux ce3544b206 hosted: Removed unwanted automatic switch over to JTAG when SWD scan fails 2022-06-26 14:28:35 -07:00
dragonmux b713376ce7 hosted/cmsis_dap: Fixed the naming of the cmsis_type_e enum 2022-06-26 14:24:08 -07:00
dragonmux 07321a4114 ch32f1: Fixed another broken debug print that made assumptions about %x and %d that are wrong 2022-06-26 14:19:46 -07:00
dragonmux 680a009690 cortexm: Added additional debug information for part probing 2022-06-26 14:19:46 -07:00
dragonmux b5b2d4dc95 ch32f1: Re-ordered a couple of the operation in ch32f1_probe so it plays nicer with the STM32 parts 2022-06-26 14:19:46 -07:00
dragonmux 0368b76078 ch32f1: Further formatting and layout cleanup 2022-06-26 14:19:46 -07:00
dragonmux fbc87cc518 ch32f1: Fixed the probe routine distrubing state for other parts wrt `t->idcode`
The CH32F1 routine now reads the IDCode into a local.
If the part number matches and appears to be the chip (based on Flash locking), it only then writes the IDCode into `t->idcode`, which is at the point we can only `return true` from the probe routine anyway.
2022-06-26 14:19:46 -07:00
dragonmux 08a8988462 ch32f1: formatting cleanup to bring things closer to inline with the rest of the codebase 2022-06-26 14:19:46 -07:00
SId Price 9aba7ecce2 Define the long options structure as const. 2022-06-26 17:08:32 -04:00
SId Price 84408fef57 Remove unwanted whitespace 2022-06-26 17:08:32 -04:00
SId Price 3495207980 Further help text updates 2022-06-26 17:08:32 -04:00
SId Price 7edd4b3379 Textual corrections to help 2022-06-26 17:08:32 -04:00
SId Price 39bf17b768 Add back code lost during recent rebase 2022-06-26 17:08:32 -04:00
SId Price 7dd82418e0 Implement long options initial commit 2022-06-26 17:08:32 -04:00
dragonmux 6f38b844af stm32/serialno: Fixed a regression in 24 character serial number suport which was causing them to display all 0's 2022-06-26 14:06:18 -07:00
dragonmux 4a0e373b49 stm32/serialno: Fixed a small regression that made it in with #1041 resulting in a transposition of alpha characters in serial numbers 2022-06-26 14:06:18 -07:00
Maciej Musiał 2673e34ddd cortexm: fixed an issue with watchpoint handling and a register sanity check 2022-06-26 13:44:45 -04:00
Uwe Bonnes 1009329882 stlinkv2: Treat STLINK_SWD_AP_FAULT after STLINK_ERROR_WAIT as STLINK_ERROR_WAIT
cortexm_initial_halt() repeats the DHCSR write with high values for TRNCNT in
CSW. This is needed to catch a STM32F7 mostly in WFI. While the repeated write
is running, STLINKV3 on a Nucleo-WL55 (V3J7M2B0S0) answers first with
STLINK_SWD_AP_WAIT and on more read if write command is still running with
STLINK_SWD_AP_FAULT. At some point when the last command is finished, normal
STLINK_ERROR_OK indicates finally successful read. Treat STLINK_SWD_AP_FAULT
after STLINK_ERROR_WAIT as STLINK_ERROR_WAIT in that case. STLINK_SWD_AP_FAULT
may still be issued on other invalid accesses and should still be treated as
error in the other possible cases. Fixes #1071.
2022-06-26 12:08:23 -04:00
SId Price b1a02d4f48 Correct filenames in the rest of the files using cl_utils.h 2022-06-26 12:04:21 -04:00
SId Price 664a91b254 Fix filename in cmsis_dap.c 2022-06-26 12:04:21 -04:00
SId Price 8a86faf49d Rename cl_utils.* to cli.*, and fix references
File "serial_unix.c" edited but Linux build not done (Windows only dev environment)
2022-06-26 12:04:21 -04:00
SId Price 0ebcba458d Move all files from "pc" folder to "hosted", update Makefile.inc 2022-06-26 12:04:21 -04:00
SId Price fcae730bf8 Correct scanf format specifier
Rather than casting here, use PRIu32 - as in "%" PRIu32 ".%" PRIu32 - it's undefined behaviour and quite illegal to do the cast as, depending on platform, you'll end up with only some of the bytes in units and tenths written and which ones and what that means will depend on endianess.
2022-06-26 12:02:41 -04:00
SId Price 02d2ba98d5 Enable power control in BMPA and add required functions 2022-06-26 12:02:41 -04:00
Uwe Bonnes 80c98df2f9 stm32wxxx: CPU2 needs wake-up call and has unexpected PIDR4 in AP1
"Single" core  STM32WLE still sees AP1 but on first scan aborts gracefully
after some errors and on later runs sees AP1 as unusable. Fixes #832.

Decode the Cross trigger interface found on CPU2 on STM32WBxx.
2022-06-25 16:52:36 -04:00
Uwe Bonnes 471ba19a77 adiv5.c: Read all CIDR data in one call.
E.g on STM32WXXX AP1 with C2BOOT not set, the AP base registers have valid
values but reading them fails and turns the AP unusable. BMDA reading CIDR
with multiple calls will will loop and finally hang up BMD. Other target
devices may show similar behaviour.
Reading CIDR with a single call allows recovery from in that case and
additional spares target transactions.
2022-06-25 16:52:36 -04:00
dragonmux 14d3846663 gdb_main: Fix a formatting bug that breaks, among other things, breakpoints 2022-06-24 18:35:31 -07:00
James Turton e702afad69 rp: Clean up code a little bit 2022-06-24 20:44:00 -04:00
James Turton e67cb9f43c rp: Update rp_get_flash_length algorithm
Try to look for repeating sectors before reverting to reading the
JEDEC ID of the flash chip. This way we don't interrupt the flash
execution if a valid program is running, but can detect the flash
size if the flash memory has been erased.
2022-06-24 20:44:00 -04:00
James Turton f2cb13cf36 rp: Add rp_attach and rp_detach callbacks
Query JEDEC ID of flash chip on attach to be able to decode flash
chip size.
2022-06-24 20:44:00 -04:00
James Turton 354e37fbad rp: Tidy up some other things 2022-06-24 20:44:00 -04:00
James Turton ce273889fc rp: Refector rp_flash_write
Fix typo in debug message
2022-06-24 20:44:00 -04:00
James Turton f4261c465e rp: Refactor rp_flash_erase
Always align erase length to 4k sector size.
Check that start address and length are actually inside the flash.
2022-06-24 20:44:00 -04:00
Rafael Silva dd571467b5 target/sam: slight gpnvm command usage correctness
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-06-24 20:19:47 -04:00
dragonmux d85e9fb7a2
hosted: Un-marked hid.c as exectuable as it can't be 2022-06-15 12:56:33 -04:00
dragonmux 14d7286db1
stlink: Added a little extra whitespace to help the readability of the platform header 2022-06-15 12:56:24 -04:00
SId Price 7160bb987b Fixup preprocessor definition
Suggested by @DragonMux
2022-06-14 13:45:51 -04:00
Jonathan Giles 9f4d50a018 Change from tty.usb* to cu.usb* for more consistent behavior on OSX 2022-06-13 15:25:23 -07:00
dragonmux b4c81f6302 platforms/f072: moved the linker script and fixed the build system 2022-06-12 17:10:32 -07:00
dragonmux 3e6bd6cdf2 platforms/f072: updated the platform definition 2022-06-12 17:10:32 -07:00
Uwe Bonnes 20e09abed2 platforms/f072: Introduced a new platform for the SMT32F072
F0 needs separation of DMA Interrupts, show problems with 128 Byte USART/DMA
buffers, perhaps caused by the st_usbfs_v2_usb_driver and has no
scb_reset_core.
2022-06-12 17:10:32 -07:00
dragonmux fafe38ba19 hosted/cmsis-dap: Various CMSIS-DAP implementation correctness improvements 2022-06-12 16:35:15 -07:00
Mikaela Szekely db4b568e52 Fix compatibility with dash as /bin/sh.
Ubuntu's default /bin/sh is dash, which does not support the `&>`
redirection syntax. This commit moves version.h generation back into the
Makefile, as 8afaedd had it, but restores compatibility with
GNU Make < 4.0, which 8afaedd, broke. This also fixes building on macOS,
as macOS bundles GNU Make 3.81.
2022-06-12 16:31:00 -07:00
dragonmux 7180a5b9a2 hosted: Fixed issues finding and linking HIDAPI on MacOS 2022-06-12 16:31:00 -07:00
dragonmux 7846112a7b misc: Updated the build system to use the new version header generator script, fixing #1043 2022-06-12 16:31:00 -07:00
dragonmux 9a0e4b4f23 stm32/serialno: Cleaned up the inconsistencies in how DESIG_UNIQUE_ID_BASE is used in the serialno code 2022-06-12 16:18:39 -07:00
dragonmux 5a9131dcb2 stm32/serialno: Fixed a couple of mistakes made in the cleanup and attempted a different way to quiet the errant GCC warning 2022-06-12 16:18:39 -07:00
dragonmux 24ffef7175 stm32/serialno: Cleaned up the serial number handling code which is tripping GCC 11 up due to a compiler regression 2022-06-12 16:18:39 -07:00
dragonmux 1a316c5a2f platforms/f3: moved the linker script and fixed the build system
We need build the right libopencm3 library which is not done by default, so this adds an extra build step for it
2022-06-12 15:58:11 -07:00
dragonmux ef5cfd829f platforms/f3: updated the platform definition 2022-06-12 15:58:11 -07:00
Uwe Bonnes 55a3132d1c platforms/f3: Introduced a new platform for the STM32F3 series 2022-06-12 15:58:11 -07:00
James Turton af48a343a8 rp: Add description for SPI flash commands 2022-06-11 11:54:34 -04:00
James Turton b43b9a6545 rp: Add erase_sector to command list
The command can be used either by specifying the length only, or
the start address and the length like so:
monitor erase_sector <length>
monitor erase_sector <start_addr> <length>
If no start address is specified, it will begin erasing from the
start of the flash sector.
2022-06-11 11:54:34 -04:00
James Turton 53672f1fc3 rp: Remove CHIP_ERASE command from rp_flash_erase
There seems to be a bug in the bootrom for the rp2040 which means
that the chip erase command is not accepted. This is because the
CS pin must be released (set high) directly after sending the chip
erase command (0x60 or 0xC7) (see Winbond W25Q128JV datasheet for
details). Instead the bootrom sends the address after the command,
thus the SPI flash silently ignores the command. Instead, we must
erase each 64KB block one at a time, but thankfull the bootrom
handles this correctly for us.
2022-06-11 11:54:34 -04:00
James Turton b1694dfab9 rp: Always use maximum flash size (16MB) when defining flash region
There are some cases when the this old method for finding the flash
size will fail, such as if the flash chip has been erased with 0xFF
bytes (rather than blank 0x00 bytes). As this is unreliable,
setting the wrong flash size could cause problems when trying to
inspect memory regions which appear to be out of range.
2022-06-11 11:54:34 -04:00
James Turton 203c5149e7 rp: Add CORTEXM_TOPT_INHIBIT_SRST to target_options 2022-06-11 11:54:34 -04:00
James Turton 4ec68023af cortex-a: Fix compiling for native probe 2022-06-09 04:13:12 -04:00
dragonmux 483e51dce1 hosted/bmp_libusb: Further cleanup to the main bmp_ident string 2022-06-04 18:49:02 -07:00
dragonmux 19c2e56f13 hosted/cli: Cleaned up the information print out code so we only make one call for the whole thing 2022-06-04 18:49:02 -07:00
dragonmux af0d597fb0 hosted/bmp_libusb: Cleaned up the bmp_ident code further 2022-06-04 18:49:02 -07:00
dragonmux 958a6d1a20 hosted: Switched the `bmp_ident` output and printing method from stderr to stdout 2022-06-04 18:49:02 -07:00
dragonmux 74d6c676bb hosted: Rewrote the main usage help text
Rewritten with better descriptions of what options do,
cleaner option groupings and infomraation on option mutual exclusivity
2022-06-04 18:49:02 -07:00
Piotr Esden-Tempski 3ccb0af21c blackpillv2: Renamed blackpill to blackpillv2 to prevent ambiguity.
There is also such a thing as blackpill, that uses stm32f1 instead of
stm32f4. At some point we might get support for the original blackpill
and it will force us to change the name then.
2022-06-04 01:31:27 -04:00
Piotr Esden-Tempski e8fc418f47 blackpill: Added missing newline at the end of the platform.c file. 2022-06-04 01:31:27 -04:00
Piotr Esden-Tempski d55bfd8948 Added BlackPillV2 platform.
This was extracted from f4 platform to allow for easier build testing of
supported platforms.
2022-06-04 01:31:27 -04:00
Piotr Esden-Tempski fcdd93e008 Removed BlackPillV2 platform variant from the f4 discovery.
Combined platforms make it hard to do build testing, it is better to
have duplicate code and be able test all variants.
2022-06-04 01:31:27 -04:00
Piotr Esden-Tempski 2624960422 96b_carbon: Updated the IRQ priority comment. 2022-06-03 20:35:51 -07:00
Piotr Esden-Tempski 1861ccd155 96b_carbon: Corrected the linker script. 2022-06-03 20:35:51 -07:00
Piotr Esden-Tempski d91112e0d6 96b_carbon: Updated so that it compiles in the current codebase. 2022-06-03 20:35:51 -07:00
Piotr Esden-Tempski 9730ae1429 build: Corrected the all_platform build target.
The target was building but not including the BMDA binary, as the
build system does not expect a binary that does not end with `.bin`.
Additionally this corrects the BMDA Makefile.inc that was missing the
`all` and `host_clean` targets.
2022-06-03 22:42:05 -04:00
Piotr Esden-Tempski f97047b5f5 build: Added all_platforms target to toplevel Makefile
The src level all_platforms target now also checks for locm3 existence
as well as triggers build of the needed locm3 libraries.
2022-06-03 20:40:35 -04:00
cyber-murmel 6656284728 added RTS and DTR to UART interface 2022-06-03 18:22:08 -04:00
Mikaela Szekely 7dc01e96e8 Complete the version string migration from 5e3cade, fixing HOSTED_BMP_ONLY 2022-06-03 14:42:18 -07:00
Dag Ågren f6edb54395 Fix RP2040 memory sizes. 2022-06-01 11:41:58 -04:00
dragonmux 039bf14761
rtt: Cleanup and fixes for the RTT over serial support as per #954 2022-05-31 22:24:59 -04:00
dragonmux 2914be1a67
cortexa: Fix the new Watchpoint support causing a no-build 2022-05-31 22:03:21 -04:00
Gareth McMullin 0b7dd00c77 cortexa: Indicate watchpoint as stop reason if there is only one. 2022-05-31 21:58:51 -04:00
Gareth McMullin b5ef9e5bcf Implement watchpoints on Cortex-A 2022-05-31 21:58:51 -04:00
Rafael Silva 1aadcf2678 target/samx7x: handle tcm reconfiguration
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-05-31 21:48:54 -04:00
Rafael Silva dcc450a494 target/sam3x: rework gpnvm command
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-05-31 21:48:54 -04:00
Rafael Silva cf6ce32371 target: split mem_map_free into ram_map_free and flash_map_free
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-05-31 21:48:54 -04:00
Rafael Silva 8462f5e0d4 target/samx7x: handle tcm config on probe
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-05-31 21:48:54 -04:00
Rafael Silva 508b8d90cc target/sam3x: name changes to reflect multiple supported families
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-05-31 21:48:54 -04:00
Rafael Silva 430d306511 target: add samx7x probe method
adds support for SAME70, SAMS70, SAMV71 and SAMV70

Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-05-31 21:48:54 -04:00
Uwe Bonnes 233a83a702 hosted/ftdi: Add more adaptors - ESP-Prog, Tigard, Hifive1 and ARM-USB-TINY-H 2022-05-31 21:37:38 -04:00
Uwe Bonnes d2ed681921 hosted/ftdi: Fix detect devices w/o genuine description but with given cable 2022-05-31 21:37:20 -04:00
Uwe Bonnes c80f311cb4 pc/serial_unix: (hosted) Abort on unexpected problems. 2022-05-31 21:37:20 -04:00
dragonmux 2d4d6aa65a ch32f1: Fixed the assumption that uint32_t is an `unsigned int` 2022-05-31 21:37:02 -04:00
dragonmux 94a0f1587d ch32f1: Cleaned up some of the formatting 2022-05-31 21:37:02 -04:00
Jonas Jelten 8afaedda37 update include/version.h only when content changes 2022-05-31 21:36:25 -04:00
Koen De Vleeschauwer 0a0f5a9dd7 rtt 2022-05-31 21:15:41 -04:00
Daniel Thompson 738ac96e57 Add 96Boards Carbon as a probe host
The carbon contains two SoCs, an STM32 (host) and an nRF51 (BLE). The
STM32 implements the probe and allows the board to reprogram its own
radio firmware!
2022-05-31 20:59:17 -04:00
Piotr Esden-Tempski 5e3cadec20 Updated Copyright and Vendor strings to Black Magic Debug.
The project is not part of Black Sphere Technologies any more. It was
renamed to Black Magic Debug instead.
2022-05-30 15:09:55 -07:00
Piotr Esden-Tempski 84311b3888 docs: Corrected org in links to blackmagic-debug 2022-05-30 14:32:36 -07:00
dragonmux 29dc94c3d6 hosted: with mubes help, fixes some issues with how we talk CMSIS-DAP 2022-05-17 15:46:33 -07:00
dragonmux c4869a5473 hosted/stlinkv2: Cleaned up the new error messages as they weren't outputting nicely 2022-04-16 18:22:14 -04:00
dragonmux a27661cd0b hosted/platform: Formatting consistency improvements 2022-04-16 18:22:14 -04:00
dragonmux ba8ed132a8 hosted/stlinkv2: Fix !found causing hosted to continue on anyway, and improved the error reporting from the device finder loop 2022-04-16 18:22:14 -04:00
dragonmux 4287f1ba0e hosted/stlinkv2: Rewrote the serial number readering logic to not violate the USB spec and properly handle libusb errors 2022-04-16 18:22:14 -04:00
dragonmux 94e9281404 hosted/bmp_libusb: Rewrote the string reader logic to not violate the USB spec and properly handle libusb errors 2022-04-16 18:22:14 -04:00
dragonmux c7eba0a439 hosted/bmp_libusb: Fixed some signed/unsigned issues and UB in send_recv 2022-04-16 18:22:14 -04:00
dragonmux c5dbf851f6 hosted/bmp_libusb: Formatting cleanup 2022-04-16 18:22:14 -04:00
Michal Moskal 6b465d6a77 Temporarily enable DBG clock in stm32g0_detach(); fixes #1003 2022-04-12 05:39:14 -04:00
mean e535f53981 remove static vars 2022-04-10 23:40:44 -04:00
mean 844ca65a8f cosmetic 2022-04-10 23:40:44 -04:00
mean 17dca6f791 tabify 2022-04-10 23:40:44 -04:00
mean 733cf12663 cleanup 2022-04-10 23:40:44 -04:00
mean 17d7dca9ae build ch32 in its own file 2022-04-10 23:40:44 -04:00
mean 7c120ecb58 put ch32f1 in its own file 2022-04-10 23:40:44 -04:00
mean 04eb33e039 rename to comply to naming scheme 2022-04-10 23:40:44 -04:00
mean e12939582c revert function clones_probe 2022-04-10 23:40:44 -04:00
mean 83e3d9c135 disable verification 2022-04-10 23:40:44 -04:00
mean a3feae60aa cleanup tabs 2022-04-10 23:40:44 -04:00
mean fb216a2a98 tabify 2022-04-10 23:40:44 -04:00
mean 9b23265dde add support for ch32 flash write, it is a bit hackish 2022-04-10 23:40:44 -04:00
mean 90d15e6633 add probe for ch32 + make room for other clones 2022-04-10 23:40:44 -04:00
dragonmux be83c2861e
gdb_packet: Formatting cleanup 2022-03-31 14:11:38 -04:00
dragonmux e424859ecb
gdb_main: Formatting cleanup 2022-03-31 14:03:29 -04:00
dragonmux 804a1a4f43
stm32f4: Attach logic cleanup by making sure we only set the extra bits needed when writing DBGMCU_CR 2022-03-31 13:46:29 -04:00
Uwe Bonnes eed1cc81ff STM32F4: Move DBGMCU_handling to target specific code. Apply for F4 too. 2022-03-31 13:43:52 -04:00
Piotr Esden-Tempski b59ca5142a pc hosted: Don't try to report memory usage.
When building on a pc gcc does not have that parameter and clang fails
with an error. This caused a build regression on Mac.
2022-03-29 16:45:08 -07:00
dragonmux a0c77e216d adiv5_swdp: Changed the low-level access code to retry till timeout (partial revert of 61efe26)
Proper initialisation of the ack value also fixes a potential use-before-init UB
2022-03-29 15:33:23 -07:00
dragonmux d9ef3ff147 adiv5_swdp: Formatting consistency cleanup 2022-03-29 15:33:23 -07:00
dragonmux bba2bfdcf4 advi5: Raise the access timeouts as 20ms is too low in some cases 2022-03-29 15:33:23 -07:00
mean cedd9f9ac4 follow function naming scheme 2022-03-22 10:10:33 -04:00
mean 9007c40954 revert temp patch on platform.h 2022-03-22 10:10:33 -04:00
mean 8b52bbd9a9 fix unused var / naming 2022-03-22 10:10:33 -04:00
mean b82ee6bc90 prototype for gdb_putpacket2 2022-03-22 10:10:33 -04:00
mean 8fb3b7b1a8 reuse exception to avoid using the stack 2022-03-22 10:10:33 -04:00
mean 82c41cb739 add putpacket2 to send two sub messages merged as one 2022-03-22 10:10:33 -04:00
Mike Ditto 48c6db1963 Remove duplicate definition of USBUSART_DMA_TX_ISR 2022-03-22 10:02:52 -04:00
Piotr Esden-Tempski e82d4f2eda native: Fixes an hw version issue with some older BMP.
The BMP with hardware version 4 and newer, use option bytes instead of
physical GPIO to encode the hardware version. In some older BMP there is
a chance that the user option byte is set to 255 (0x00FF pattern). This
can throw off the hardware version detection routine.
2022-03-15 23:45:32 -07:00
Piotr Esden-Tempski bcba3ee4a9 native: Fixed hw6 USBUSART support. 2022-03-15 23:45:32 -07:00
Piotr Esden-Tempski 06f24d3269 native: Added blocks to the ISR templates. 2022-03-15 23:45:32 -07:00
Piotr Esden-Tempski bb761e4b38 native: Initial addition of hw 6 support. 2022-03-15 23:45:32 -07:00
Piotr Esden-Tempski 2d63021344 native: Improved pinout legend comment block. 2022-03-15 23:45:32 -07:00
Piotr Esden-Tempski e7982d594e native: Added HW5 AUX interface definitions. 2022-03-15 23:45:32 -07:00
Piotr Esden-Tempski 655014ac9c native: hw rev 5 has the usb vbus sense pin on PA15.
We had to move the pin to free up the SPI SCLK pin.
2022-03-15 23:45:32 -07:00
Piotr Esden-Tempski 9ffa923bc1 native: Update hwversion detection for hw rev 4 and newer.
The hw rev 4 and 5 both have the version stored in the Data1 user option
byte. This frees up the hw rev strapping pins for other uses, ie swtrace
decoding using USART1 RX, and additional peripherals on the SPI bus,
like bulk flash storage and displays.
2022-03-15 23:45:32 -07:00
Fabrice Prost-Boucle 488df7e6f7 sscanf cleanup in GDB Z packet handling function.
Tested working with arm-none-eabi-gcc 10.2.1
2022-03-15 13:18:00 -07:00
Piotr Esden-Tempski e0619ca7d5 Added a linker flag to output memory usage. 2022-03-15 11:41:31 -07:00
dragonmux 4fe8fd8944 samd: Fixed the hosted build as the code from #987 assumed unsigned long was 32-bit 2022-03-14 21:38:45 -07:00
dragonmux e271c16f6c Removal of MFR descriptions as requested in #978 2022-03-14 21:37:44 -07:00
dragonmux c30e165c1c crc32: Fix the launchpad-icdi build as that was broken 2022-03-14 21:37:44 -07:00
dragonmux 3bb8c2bf19 jtag_scan: Cleaned up the ones array to use a more correct syntax 2022-03-14 21:37:44 -07:00
dragonmux 75e786da11 jtag_devs: Added a few more parts based on 0170aff and cleaned up the description wording for the existing ones 2022-03-14 21:37:44 -07:00
dragonmux 23534ab174 target: Cleanup in target_new() for the check_error callback 2022-03-14 21:37:44 -07:00
dragonmux 361dc9c234 Revert "adiv5_swdp_scan: If SWD scan fails, try a JTAG scan."
This reverts commit 3df692ecb2.
2022-03-14 21:37:44 -07:00
dragonmux 54f577a970 hosted/dap: Partial revert of 5c8e277, taking into account that division may not be available on platforms 'hosted' might see itself built 2022-03-14 21:37:44 -07:00
dragonmux d1c9d94174 jtag_scan: Remove the now redundant IDCode parameter from the handlers 2022-03-14 21:37:44 -07:00
dragonmux 27c143a3a3 jtag_scan: Properly fixed the wrong IDCode getting to the handlers 2022-03-14 21:37:44 -07:00
dragonmux 7d2afcff06 Revert "jtag: Make jtag_devs argument to jtag_handler."
This reverts commit 6308506276.
2022-03-14 21:37:44 -07:00