WeActStudio / WeActStudio.MiniSTM32F4x1

MiniF4-STM32F401CEU6/STM32F411CEU6 Product Literature
685 stars 153 forks source link

CMSIS-DAP wishlist #48

Open ALTracer opened 4 months ago

ALTracer commented 4 months ago

Hello and thank you for those wonderful minimal boards. I have bought at least four of F411CE (+ w25q64) by now.

  1. https://github.com/WeActStudio/WeActStudio.MiniSTM32F4x1/blob/d25a90e7bdcee32aaddefcbc841a0f0a547b2072/SDK/CMSIS-DAP/README.md?plain=1#L60 While this command is okay for flashing, dfu-util -a "@Internal Flash /0x08000000/04*016Kg,01*064Kg,03*128Kg" -s 0x08000000 -D CMSIS-DAP_WeActStudio.bin I have successfully used a different form and had it exit into the application immediately after reflashing: (CC @linuxtim) dfu-util -d 0483:df11 --alt 0 -s 0x08000000:leave -D CMSIS-DAP_WeActStudio.bin Or even flash your firmware using a Blackmagic Debug Firmware compatible board (connect under reset, because this DAP apparenly unmaps its SWJ-DP pins).
  2. Why is the shipped binary presenting a fixed serial number of 0001A0000000 despite F401CC and F411CE have unique serial numbers at ST DESig UID_BASE 0x1FFF7A10? This makes it impossible to plug two such debuggers (or more) and address them from desktop software programs. You even refer to it in your project in GetSTM32MCUID() but USB callbacks should be configured to read, compute and return that value.
  3. Why is the shipped binary only supporting HID transport but not Bulk vendor-specific transport? This is especially slow on Full-Speed devices like F401/F411. ARM CMSIS-DAP reference implementation may support both options.
  4. Why is the shipped binary only supporting SWD, but not JTAG? Two extra pins is easy enough to configure and manage. This prohibits debug of JTAG-only targets, like RISC-V, and reprogramming FPGAs.
  5. Why do you implement System Reset as a SWD sequence to AIRCR SYSRESETREQ, and not as a GPIO open-drain pull low? Most gdbservers can do a soft reset write already, but they can't tell the adapter to pull its nSRST pin low otherwise. This is important for debugging some of the targets.
  6. Why is the shipped binary missing a Virtual COM port secondary interface? Most debug firmware solutions provide a UART-USB channel to communicate with the debugged device. Is it related to the 1+3 endpoints limitation of DWC2 OTGFS in F401/F411?
  7. Can you please convert the Keil project into something I could import in, say, Eclipse MCU CDT? Or I should recreate an STM32CubeIDE project for this?

c251:f001 Keil Software, Inc. WeAct CMSIS-DAP

Info : CMSIS-DAP: SWD supported
Info : CMSIS-DAP: Atomic commands supported
Info : CMSIS-DAP: Test domain timer supported
Info : CMSIS-DAP: SWO streaming trace supported
Info : CMSIS-DAP: FW Version = 2.0.0
Info : CMSIS-DAP: Interface Initialised (SWD)
Black Magic Debug App v1.10.0-898-g4e482088
 for Black Magic Probe, ST-Link v2 and v3, CMSIS-DAP, J-Link and FTDI (MPSSE)
Using c251:f001 0001A0000000 CMSIS-DAP by ARM
 WeAct CMSIS-DAP ---
Using hid transfer
CMSIS-DAP v2.0.0, Capabilities: 71 (SWD, Atomic commands)
Adaptor supports DAP SWD sequences
## => Board Name | Unique ID
-- -- ----------------------
 0 => CMSIS-DAP by ARM WeAct CMSIS-DAP | 0001A0000000