Commit Graph

18 Commits

Author SHA1 Message Date
Gwenhael Goavec-Merou 9b1c568659 all/everything/world: removed using namespace std to be able to compile in c++17 with windows 2026-03-18 15:28:34 +01:00
Yao Zi a1ea0c98fc cmsisDAP: Avoid memcpy() on possibly overlapping buffer
I observed strange cmsisDAP behavior when building openFPGALoader with
Clang/musl in release mode: CmsisDAP:display_info() shows the correct
hardware capability that supports JTAG,

	...
	firmware version : 0254
	hardware capabilities : 13
	SWO trace buffer size : NA
	...

but the detection of JTAG fails in the constructor with a strange
response sequence,

	Hardware cap 00 01 00
	JTAG init failed with: JTAG is not supported by the probe

With some digging, it's found that the CmsisDAP::xfer() method without
an instruction parameter may be called by the constructor with a rx_buff
pointer overlapping with _ll_buffer, for which memmove() instead of
memcpy() should be used. The behavior of memcpy() is undefined when dst
and src overlap.

Fixes: 53c5d35da6 ("add cmsis dap (hid) support")
Signed-off-by: Yao Zi <ziyao@disroot.org>
2025-06-28 11:53:25 +00:00
Gwenhael Goavec-Merou 59b56bcc95 all jtag cable: no more hardcoding tdi bit with writeTMS 2023-10-29 06:41:39 +01:00
Alexey Starikovskiy 9e91c31e31 Fixes for PVS errors 2023-09-01 22:30:24 +03:00
Alexey Starikovskiy 1908ccd83b make output buffer const 2023-08-29 19:51:41 +03:00
Gwenhael Goavec-Merou 4bf4b94bbb cables: verbose type coherency 2023-07-30 08:39:15 +02:00
Gwenhael Goavec-Merou 48126cf84c src/xx: cable implementation: rework to use cable_t directly 2022-10-15 16:17:32 +02:00
Gwenhael Goavec-Merou 27309d4931 cmsisDAP: allows to select interface number 2022-08-29 21:00:32 +02:00
Benjamin Koch 80cf8edc31 cmsisDAP: fix crash in case hid device cannot be opened 2022-07-02 17:03:31 +02:00
Gwenhael Goavec-Merou 952084cd1d all jtag interface: don't convert verbosity level to bool 2021-11-11 17:42:51 +01:00
Gwenhael Goavec-Merou fb6a3b9f03 all cables: writeTMS len int -> uint32_t 2021-11-06 10:31:00 +01:00
Gwenhael Goavec-Merou 4b3755f368 cmsisDAP: fix buffer length 2021-10-13 07:16:30 +02:00
Gwenhael Goavec-Merou de88698b0c cmsisDAP: close device and context after use/ when fail 2021-10-13 06:46:05 +02:00
Gwenhael Goavec-Merou 2d26b9d485 cmsisDAP: typo 2021-10-12 16:38:03 +02:00
Gwenhael Goavec-Merou 6a4d24cf7a cmsisDAP: send disconnect after use 2021-10-12 07:52:38 +02:00
Gwenhael Goavec-Merou 8f95303daf move to APACHE-2.0 license 2021-06-26 15:24:07 +02:00
Vegard Storheil Eriksen 5e11b3cb67 cmsisDAP: Remove product string check. 2021-06-22 23:59:57 +02:00
Gwenhael Goavec-Merou 53c5d35da6 add cmsis dap (hid) support 2021-06-19 17:30:23 +02:00