Indeed, I faked the path names of the openOCD command, because the path name contained information, I did not want to show publically. But I did not fake the output of my test program. I edited the code part, pasted the output of the new version below the old one and marked it as "Edit 2"
--- ** [tickets:#335] OpenOCD does not recognize POSIX absolute path names on mingw** **Status:** new **Milestone:** 0.11.0 **Labels:** mingw mingw64 msys2 **Created:** Mon Feb 07, 2022 07:54 AM UTC by themole **Last Updated:** Wed Mar 02, 2022 10:02 AM UTC **Owner:** nobody OpenOCD seems to misinterpret absolute path names on Windows running with MSYS2 and mingw64. I also asked for help on [stackoverflow](https://stackoverflow.com/questions/70840794/openocd-on-msys2-mingw64), where you could possibly find more details. Here is the excerpt from the Q&A on Stackoverflow: I traced down the problem to the point, where the absolute path to the stlink.cfg is somehow misinterpreted. While all command line tools can find the file `/c/somepath/RIOT/dist/tools/openocd/adapters/stlink.cfg`, openocd does not. OpenOCD is the mingw64 version residing in `/mingw64/bin/openocd`. The command in question, executed by RIOTs Makefiles is: ~~~ sh -c "openocd \ -c 'set stlink_version 2;source /c/somepath/RIOT/dist/tools/openocd/adapters/stlink.cfg' \ -c 'transport select hla_swd' \ -f '/c/somepath/RIOT/boards/common/stm32/dist/stm32f4.cfg' \ -c 'tcl_port 0' \ -c 'telnet_port 0' \ -c 'gdb_port 0' \ -c 'init' \ -c 'targets' \ -c 'reset halt' \ -c 'flash write_image erase \"/c/somepath/RIOT/hello_world/bin/stm32f429i-disco/helloworld.elf\" 0 ' \ -c 'verify_image "/c/somepath/RIOT/hello_world/bin/stm32f429i-disco/helloworld.elf" 0' \ -c 'reset run' \ -c 'shutdown'" ~~~ and also when I just execute: ~~~ openocd -d -c 'set stlink_version 2;source /c/somepath/RIOT/dist/tools/openocd/adapters/stlink.cfg' ~~~ Same error occurs: ~~~ Open On-Chip Debugger 0.11.0 Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html User : 13 2 options.c:63 configuration_output_handler(): debug_level: 3 [...] User : 24 3 command.c:694 command_run_line(): couldn't read file "/c/somepath/RIOT/dist/tools/openocd/adapters/stlink.cfg": No such file or directory ~~~ But when I execute: ~~~ openocd -d -c 'set stlink_version 2;source c:/somepath/RIOT/dist/tools/openocd/adapters/stlink.cfg' ~~~ it seems to work. A simple `cat /c/somepath/RIOT/dist/tools/openocd/adapters/stlink.cfg` shows the correct content of the file, the same when I prepend `c:/` instead of `/c/`. I tried to dig into openocd's code, but since thissomehow involves the interpreter, there is no chance for me to dig deep enough. --- Sent from sourceforge.net because openocd-devel@lists.sourceforge.net is subscribed to https://sourceforge.net/p/openocd/tickets/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/openocd/admin/tickets/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.