Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

System Workbench for STM32


Cannot see I/O Registers in Debug mode

Hi.
Windows I/O Registers: I can’t see nothing. There is only an error message “No CMSIS-SVD schema for this target”

MCU Utils 1.1.0.201703061529 fr.ac6.feature.mcu.utils.feature.group Ac6

target file:




MapleMini_stm32f103CBT
stm32f103cbtx
SWD
ST-LinkV2



Until the last update worked perfectly. Also does not work when creating a clean project

Ok, one problem solved.

About “OpenOCD does not work when specifying an external configuration file”, is it also not working if you recreate the board ?

Can you give more details, which OS ?
Can you give the SW4STM32 version that was working before the update ?
Was it working in previous v1.13.1 version ?


Hi.
OS : Linux oleg 4.8.0-42-generic #45~16.04.1-Ubuntu SMP Thu Mar 9 14:10:58 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
yes. OpenOCD does not work when specifying an external configuration file.
Before the update OpenOCD work witch external configuration file (my debuger not use hardware reset).
this file run on openocd 0.9.0 (2015-09-02-10:42) and does not work when I run the program along the path
“ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.openocd.linux64_1.13.0.201701121612/tools/openocd/bin/openocd” :
manual run:
~/ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.openocd.linux64_1.13.0.201701121612/tools/openocd/bin/openocd -f MapleMini_stm32f103CBT.cfg
Open On-Chip Debugger 0.10.0-dev-00274-g2ee83e0 (2017-01-12-17:06)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.htmlQuestion
MapleMini_stm32f103CBT.cfg:4: Error: Can’t find interface/stlink-v2.cfg
in procedure ‘script’
at file “embedded:startup.tcl”, line 60
at file “MapleMini_stm32f103CBT.cfg”, line 4

Hi,

To find the cfg of stlink, you should add a -s option with the path of the scripts dir (in mcu.debug plugin).

Then, it might not work because you have no reset connected, so you may remove the reset config line in target/stm32f1x.cfg file in mcu.debug plugin.

Rgds,
Laurent


Thank you.
If possible, make an option in the Debug menu to disable the hardware reset line and add additional options to the OpenOCD configuration file.
Changing the target file / stm32f1x.cfg file in the mcu.debug plugin does not work.
Now I configured this:
I’m using ChibiOS.

Debug Configuration -> Debuger:
1) OpenOCD Options: -c “reset_config none” -c “$_TARGETNAME configure -rtos ChibiOS”
2) Script: manual script and specifying a device and debug interface

Log OpenOCD:

Open On-Chip Debugger 0.10.0-dev-00275-gd486ac2-dirty (2017-03-06-15:13)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 1000 kHz
srst_only separate srst_nogate srst_open_drain connect_assert_srst
srst_only separate srst_nogate srst_open_drain connect_assert_srst
none separate
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
Info : STLINK v2 JTAG v27 API v2 SWIM v6 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 6.475232
Error: BUG: can’t assert SRST
Info : STM32F103CBTx.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : accepting ‘gdb’ connection on tcp/3333
Error: TRST/SRST error
STM32F103CBTx.cpu: target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08000160 msp: 0x20000400
Info : device id = 0x20036410
Info : flash size = 128kbytes
Info : Successfully loaded memory map of ChibiOS/RT target running version 4.0.0
STM32F103CBTx.cpu: target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08000160 msp: 0x20000400
STM32F103CBTx.cpu: target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08000160 msp: 0x20000400
STM32F103CBTx.cpu: target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000003a msp: 0x20000400
Warn : keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (3495). Workaround: increase “set remotetimeout” in GDB
STM32F103CBTx.cpu: target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08000160 msp: 0x20000400

Under these conditions, debugging will work without connecting a reset pin


There is another remark: I disabled the line in the file

# reset_config srst_only srst_nogate connect_assert_srst

In the output of openOCD, there are two lines:

srst_only separate srst_nogate srst_open_drain connect_deassert_srst
none separate


If do not just disable the line in the configuration file, replace it with

# reset_config srst_only srst_nogate connect_assert_srst
reset_config none


In the output of openOCD, there are three lines:

none separate
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
none separate


My impression: the configuration string “reset_config srst_only srst_nogate connect_assert_srst” is implicitly included after the configuration file is processed. And then the command line options already having a higher priority overlap with this option

Hi Oleg,

You’re right, it seems there is an issue on SW4STM32 latest version (1.14.0) for “use local script” cfg file.
If the board cfg is in project workspace, it won’t be executed. That is the case for custom board created during a new project.
The workaround is either to copy the cfg elsewhere and to reselect it by browse button or to use the “manual spec” mode for the cfg as you did.

And as you said too, for the boards that don’t have reset line connected from STlink, you can add the -c “reset_config none” in openocd options in debug config launch (debugger tab).

There is a development ongoing to select the reset mode and that will generate the right cfg file.

Thanks for your remarks,
Laurent