Commit Graph

297 Commits

Author SHA1 Message Date
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 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 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 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 0dae6a4019 misc: Renamed connect_assert_nrst to clarify usage and align naming 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
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 10a4c3f77e hosted: Implemented the extra logic to implement auto-scan in the CLI 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
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
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
SId Price 7160bb987b Fixup preprocessor definition
Suggested by @DragonMux
2022-06-14 13:45:51 -04:00
dragonmux fafe38ba19 hosted/cmsis-dap: Various CMSIS-DAP implementation correctness improvements 2022-06-12 16:35:15 -07:00
dragonmux 7180a5b9a2 hosted: Fixed issues finding and linking HIDAPI on MacOS 2022-06-12 16:31:00 -07:00
dragonmux 483e51dce1 hosted/bmp_libusb: Further cleanup to the main bmp_ident string 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 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
Mikaela Szekely 7dc01e96e8 Complete the version string migration from 5e3cade, fixing HOSTED_BMP_ONLY 2022-06-03 14:42:18 -07: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
Koen De Vleeschauwer 0a0f5a9dd7 rtt 2022-05-31 21:15:41 -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
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 7d2afcff06 Revert "jtag: Make jtag_devs argument to jtag_handler."
This reverts commit 6308506276.
2022-03-14 21:37:44 -07:00
dragonmux 02d9a1d3cf Revert "jtag_scan: Rework chain detection"
This reverts commit 2d4a503135.
2022-03-14 21:37:44 -07:00
Uwe Bonnes 6a9b2b8224 hosted/ftdi: Fix bad length calculation in MPSSE case of swdptap_seq_in() 2022-01-25 11:40:55 -05:00
Uwe Bonnes 266fe17461 bmp_libusb: Restrict scope of variable 2022-01-25 11:40:55 -05:00
Uwe Bonnes e3804183f7 bmp_libusb: Fix crash with FTDI devices as outdated variable was used.
Triggered by 7b1eb6e6e3.
2022-01-25 11:40:55 -05:00
Uwe Bonnes b1ed55a18f hosted/firmware/jtag: Fix unhandled exception introduced with da15cc3cb7.
Write in endianess independant way.
2022-01-22 23:46:52 -08:00
Uwe Bonnes 98e3858f7c bmp_libusb: Exclude Wireless class too. 2021-11-23 20:54:59 +01:00
Koen De Vleeschauwer bb4151377f type of ‘assert’ defaults to ‘int’ 2021-11-22 19:51:10 +01:00
Uwe Bonnes 1d0e45bdbb cmsis_dap: Transfersize of block commands needs to cope with word.
Checkme: Dragonprobe bulk hangs on transfers with 15 words.
2021-11-02 18:17:12 +01:00
Uwe Bonnes 8970160f1d cmsis_dap: Timeout and start of error handling for bulk transfers. 2021-11-02 18:17:12 +01:00
Uwe Bonnes 2bc2db1140 cmsis_da: Add timeout to bulk commands. 2021-11-02 18:17:12 +01:00
Uwe Bonnes a4caec29b9 dap_swdptap_seq_out: Write only needed data
Dragonprobe (origin/cmsisdap-fixes, 211031) hanged on additional byes in the
SWJ_Sequence request.
2021-11-02 18:17:03 +01:00
Uwe Bonnes 07b4e5726e CMSIS-DAP: Run time detect DAP_SWD_SEQUENCE
Some dongles in the making like orbtrace may not yet support.
2021-10-31 12:55:41 +01:00
Uwe Bonnes 88e44d1c12 cmsis: use exception in wait_word(). 2021-10-31 12:55:41 +01:00
Uwe Bonnes a1d4649795 SWD: Use dp_low_write to allow multidrop scan. 2021-10-31 12:55:41 +01:00
Uwe Bonnes 4f36c1ddf8 Remove dp_low_read() and use exception protected dp_read() 2021-10-31 12:55:41 +01:00
Uwe Bonnes f9d343af3e cmsis: AP reads are posted. Read from RDBUFF. 2021-10-31 12:55:41 +01:00
Uwe Bonnes d4ae308f9f cmsis: implement srst_set_val() 2021-10-31 12:55:41 +01:00
Uwe Bonnes 166eb3ee3e cmsis_dap: Always transfer 65 bytes with hid_read|write()
CMSIS-DAP Dragonprobe works on some devices. E.g. it does not work
on NUCLEO-F103
2021-10-31 12:55:41 +01:00
Uwe Bonnes b343ebe06f cmsis-dap/linux: Link against libhidapi-hidraw
libhidapi-libusb detaches a kernel module but does not reattach again.
This may wrack interaction with other programs using hidapi.
2021-10-31 12:55:41 +01:00
Uwe Bonnes 761e0230d4 cmsis-dap: Print messages when transfers fail.
Expect signal integrity errors when using jumper cables. Often probes switch
the SWJ GPIO with highest speed, resulting in possible reflections. Additional
ground wires may help. If there is isolation between probe and targets,
additional ground wires are a must or ground shift will wrack the transfer!
2021-10-31 12:55:41 +01:00
Uwe Bonnes 39fbffd3d2 stlinkv2: Fix low access to AP registers. 2021-10-31 12:55:41 +01:00
Uwe Bonnes c13778139f adiv5/hosted: Export the BMP_TYPE in DP. 2021-10-31 12:55:41 +01:00
Uwe Bonnes 485105221e dap: Always work on a copy of the buffer when calling dbg_dap_cmd() in a loop
A better solution would use seperate buffers for dbg_dap_cmd. But as WAIT is
already handled in DAP, cahnces are low that loop re-entry is needed.
2021-10-31 12:55:41 +01:00
Uwe Bonnes 397fbd5749 cmsis: Only cmsis internal use must differentiate between HID and Bulk access
Missing DAP_SWD_SEQUENCE may eventually need a distinction visible from
outside later.
2021-10-31 12:55:41 +01:00
Uwe Bonnes 7b1eb6e6e3 bmp_libusb: reset type on every device. 2021-10-31 12:53:47 +01:00
Uwe Bonnes 80064c18a9 bmp_libusb: Fix CMSIS-DAP related memory leak. 2021-10-31 11:13:34 +01:00
Uwe Bonnes c4b6b42dcf stlinkv2: Read targetid on DPv2 devices. 2021-10-31 11:13:34 +01:00
Uwe Bonnes e7e1bfdb53 mpsse: Fix using 60 MHz clock on fast devices. 2021-10-30 13:55:57 +02:00
Uwe Bonnes 99a5fdb6f8 bmp_remote: Better error propagation.
Negative values from platform_buffer_read are errors too!
2021-10-30 13:55:57 +02:00
Uwe Bonnes f28f05952f stlink: Add another STLINK-V3 ID. 2021-10-30 13:55:57 +02:00
Uwe Bonnes e1a928beb1 Fixes to compile with gcc11 #925
Target code changes are pure for formal correctness and not tested!
2021-10-10 15:59:57 +02:00
fabalthazar e2d3161442 Removed -S message as debugger selection option since it is used for reading bytes 2021-10-09 21:38:48 +02:00
fabalthazar 59282b6f66 Fixed typography 2021-10-09 21:18:52 +02:00
fabalthazar 3f54fba986 HOSTED_BMP_ONLY=0 by default on Linux.
The user is warned about missing dependencies.
2021-10-09 21:14:52 +02:00
Vegard Storheil Eriksen 7ccbdd98c0 hosted/dap: Copy command buffer in wait/retry loop.
The same buffer is used for both command and response, causing part of
the command to be overwritten before it’s retried. Solve this by saving
and restoring a copy of the command before retrying.
2021-10-05 23:21:07 +02:00
Uwe Bonnes 356325f563 ftdi_bmp: Fix bit select. 2021-09-22 15:16:20 +02:00
Uwe Bonnes 79066c950f bmp_libusb: Remove duplicated libusb_init.
Thanks to Red Liu for noticing
2021-09-22 15:16:20 +02:00