STM32/STM8技术william hill官网
直播中

王莉

7年用户 302经验值
私信 关注
[问答]

请问eclipse+ac6插件如何调试stm32?

用eclipse+ac6插件,下载的是eclipse neo版,然后点击安装新软件,输入http://test.ac6-tools.com/Eclips ... tem-workbench.site/这个网址,就可安装ac6插件了,不过挺大的,有300多兆吧,而且速度很慢。
工程是用cubeMX生成SW4STM32工程,然后用eclipse导入过来。
编译是按的ctrl+b,生成了.bin和.elf文件。
然后通过串口将.bin文件烧录到板子上,可以运行。
stlink的话,右击工程,有个target选项,再选program chip,貌似就可以stlink下载了。但我这画的板子stlink下载很不稳定。之前用mdk调试时,就经常出现检测不到目标,有时候降低SW速度就可以了。现在在eclipse里没找到设置速度的参数,也不知道该如何运行调试功能?
另,eclipse工程下,右击工程,那些,debug,run等工程点的话就报错了,不知道为什么。

求教:eclipse下,如何用stlink调试stm32,能否修改stlink连接速度?

回帖(5)

王莉

2018-12-19 08:59:01
一开始用flashloader烧录.bin文件到单片机后,没有正确运行,不知道该如何调试,纠结了一下午。后来想到前两天在william hill官网 看到的网友反馈的最新版cubeMX有bug,屏蔽掉晶振配置里的RCC_OSCILLATORTYPE_HSI没事了。
下载了个暗色背景的主题,看上去感觉比MDK下舒服多了。
就是对这个软件不熟悉,很多东西都不敢随便动。希望有经验的朋友能分享下使用心得,能出个教程那就更好了。
举报

王莉

2018-12-19 09:06:29
现在用stlink和板子连接后,右击工程,选择'target'->'program chip...'得到如下错误提示:

11:09:34 **** Programing project 4DA_V1_0_1 on chip ****
"C:\Users\Any.DESKTOP-QGAHK5P\.p2\pool\plugins\fr.ac6.mcu.externaltools.openocd.win32_1.12.0.201611241417\tools\openocd\bin\openocd.exe" -f 4DA_V1_0_1.cfg -s "E:\Eclipse workspace\SW4STM32\4DA_V1_0_1" -s "C:\Users\Any.DESKTOP-QGAHK5P\.p2\pool\plugins\fr.ac6.mcu.debug_1.11.2.201612060912\resources\openocd\scripts" -c "program Debug/4DA_V1_0_1.elf verify exit"
Open On-Chip Debugger 0.10.0-dev-00273-g394abef (2016-11-24-15:15)
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
adapter_nsrst_delay: 100
srst_only separate srst_nogate srst_open_drain connect_assert_srst
srst_only separate srst_nogate srst_open_drain connect_assert_srst
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
Error: libu***_open() failed with LIBUSB_ERROR_NOT_SUPPORTED
Info : STLINK v2 JTAG v27 API v2 M v15 VID 0x0483 PID 0x374B
Info : using stlink api v2
Info : Target voltage: 0.000000
Error: target voltage may be too low for reliable debugging
Info : STM32F103VBTx.cpu: hardware has 6 breakpoints, 4 watchpoints
Error: timed out while waiting for target halted
TARGET: STM32F103VBTx.cpu - Not halted
in procedure 'program'
in procedure 'reset' called at file "embedded:startup.tcl", line 478
in procedure 'ocd_bouncer'

** Unable to reset target **
shutdown command invoked


11:09:35 Build Finished (took 1s.169ms)
举报

王莉

2018-12-19 09:17:06
printf函数参考群里一位朋友提供的,增加
int _write(int fd, char *ptr, int len)
{
    HAL_UART_Transmit(&huart1, (uint8_t*) ptr, len, 0xFFFF);
    return len;
}

int _read(int fd, char *ptr, int len)
{
    *ptr = 0x00;    //Flush the character buffer
    HAL_UART_Receive(&huart1, (uint8_t*) ptr, 1, 0xFFFF);
    return 1;
}
这两个函数即可。和MDK下不一样。

STLINK连接不上,网上搜索了下,可能是因为是只连接了GND,SWCLK,SWDIO三根线的原因,不过我尝试增加了NRST连接,问题依旧。
看ac6william hill官网 上,有人说debug设置下的脚本,用local script,而且要修改下。
举报

王莉

2018-12-19 09:32:11
无nrtst连接的情况下stlink调试的问题解决了:
debug configrations里的debuger标签页,最后的script部分,选择use local script,选择的是cubeMx建的工程下的和工程同名的.cfg文件,并且这个文件用记事本打开后需要修改最后一行。
原为:reset_config srst_only srst_nogate
修改为:reset_config none
下载时,最好选上reset after program
举报

刘芳

2018-12-19 09:49:56
在工程上面右键,然后选择Run as或者Debug as 这两个下面都有相应的Configuration选项,任意选择其一即可。
然后到如下画面,(我选择的是Run as 下面的)然后参照下面的截图即可设置 STLINK的模式和速度步骤1

步骤2

步骤3

步骤4
举报

更多回帖

发帖
×
20
完善资料,
赚取积分