Commit Graph

878 Commits

Author SHA1 Message Date
dragonmux f02304dfdb hosted/remote_jtagtap: Implemented support for jtagtap_cycle 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
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
Rafael Silva 013b2dee60 target/adiv5: further cleanup 2022-07-25 18:28:57 +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 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 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 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
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 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
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 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
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
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 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 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
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
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
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
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
dragonmux 7180a5b9a2 hosted: Fixed issues finding and linking HIDAPI on MacOS 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
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
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
dragonmux 039bf14761
rtt: Cleanup and fixes for the RTT over serial support as per #954 2022-05-31 22:24:59 -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
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
mean 9007c40954 revert temp patch on platform.h 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
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 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
Nicolas Schodet ca9d8cd0ae scripts: fix dfu-convert.py for Python 3 and drop Python 2 support 2022-02-13 15:31:12 -08:00
Paul Mulders ed156076a2 swlink README: correct SWO/RX2 header location for blue pill 2022-01-30 11:48:12 +01: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 3f28e728e9 cdcacm: Lower usage of magic numbers. 2021-12-18 21:44:18 -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
fabalthazar b4ac52d1f5 Hosted monitor command allowed as preliminary command 2021-11-15 21:20:38 +01:00
fabalthazar 71b67beb98 Fix: assert flashing succeeded or failed (hosted) once the last buffer has been written 2021-11-15 21:19:08 +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 f4117aa1b4 cdcacm: Use the USB strings. 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 7274f55ff4 Fixed return value of hosted blackmagic in erase mode 2021-10-09 21:17:58 +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
Jeff Lutgen f69f29a660 f4discovery/blackpill: fix usbusart 2021-10-01 00:10:03 +02:00
Uwe Bonnes 554e34517e Better reporting when monitor command fails. 2021-09-22 21:41:43 +02:00
Thiadmer Riemersma 64f756d627 Test voltage on VREF before enabling target power (mon tpwr), to avoid potential power conflict. 2021-09-22 20:45:18 +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
Uwe Bonnes da15cc3cb7 remote_jtagtap: Fix memory corruption in jtagtap_tdi_tdo_seq 2021-09-22 15:16:20 +02:00
Uwe Bonnes a93e57e112 ftdi: Fixed wrong direction report in DEBUG. 2021-09-22 15:16:20 +02:00
Andy Makovec 01583560cd hosted: Update Readme.md to use HOSTED_BMP_ONLY 2021-09-16 11:02:31 +02:00
Uwe Bonnes ff79108f66 cl_utils: Increase worksize for increased speed.
H743 reads 2 MB in ~23 vs 27 seconds
2021-09-07 10:57:17 +02:00
Uwe Bonnes a76a559656 pc/platform_delay: Wait ms and not us! 2021-09-07 10:57:17 +02:00