你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

f103在失能JTAG开启SW的时开启UART1的重映射功能无法下载调试

[复制链接]
uu799 提问时间:2017-9-10 21:42 /
开发平台:STM32F103RE,
编译环境:MDK5.22 WIN10家庭版 STLINK2.1 SW模式
固件库:HAL库

问题:__HAL_AFIO_REMAP_SWJ_NOJTAG()和__HAL_AFIO_REMAP_USART1_ENABLE()同时使用,使用stlink2.1 sw无法下载和调试。。。。

现象:在调试串口1时,硬件板子使用的是PB6 PB7,所以就需要将串口1重映射到PB6 PB7,在程序中调用__HAL_AFIO_REMAP_USART1_ENABLE(),串口1页正常工作了。除此之外,板子还是使用到PB3口,所以不得不关闭JTAG口,但是这个情况下,我们还是想使用SW进行调试。所以程序中调用了__HAL_AFIO_REMAP_SWJ_NOJTAG()宏,PB3也能正常工作。但是问题就来了,在送STLINK2.1进行下载时,会提示无法找到目标,也就是找不到芯片。

1. 我们将__HAL_AFIO_REMAP_SWJ_NOJTAG()宏关闭后,但是保留__HAL_AFIO_REMAP_USART1_ENABLE()宏,串口1正常工作,又可以下载调试了
2. 我们将__HAL_AFIO_REMAP_USART1_ENABLE()宏关闭后,但是保留__HAL_AFIO_REMAP_SWJ_NOJTAG()宏,PB3正常工作,又可以下载调试了


去看了一下底层__HAL_AFIO_REMAP_SWJ_NOJTAG()和__HAL_AFIO_REMAP_USART1_ENABLE()是不会相互影响的。


请问这个现象是芯片的BUG?还是HAL库的BUG?还是说同时开启是没有问题的,只是我的程序有哪里没有注意到,有其他逻辑错误或者使用错误导致这种现象的。

收藏 2 评论4 发布时间:2017-9-10 21:42

举报

4个回答
wenyangzeng 回答时间:2018-2-14 09:45:40
本帖最后由 wenyangzeng 于 2018-2-14 09:58 编辑

根据实际测试:下载调试使用SWD模式,无需PB3参与,可以正常下载调试:

无标题.png

SWD.rar (8.11 MB, 下载次数: 0)

评分

参与人数 1蝴蝶豆 +5 收起 理由
zero99 + 5 新年快乐

查看全部评分

无薪税绵 回答时间:2018-2-14 10:40:27
当使用 __HAL_AFIO_REMAP_SWJ_NOJTAG()函数后,
应该重新配置一下相关的GPIO 口

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);  

注意:不要忘记在RCC_Configuration()中开启AFIO时钟,

//AFIO时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

还有,当执行了 __HAL_AFIO_REMAP_USART1_ENABLE()函数后,
单步调试,跟踪一下,SWG_CFG 寄存器,是否被修改了。

评分

参与人数 1蝴蝶豆 +5 收起 理由
zero99 + 5 新年快乐

查看全部评分

zhao.zhao 回答时间:2018-2-14 10:41:49
楼上正解,并且在MDK的设置里的"DEBUG"中的“setting”内,直接使用SWD模式调试,注意不要选“JTAG”模式,PB3就可以和常规的IO引脚一样正常使用了。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3 新年快乐

查看全部评分

x5y4z3 回答时间:2018-2-14 14:31:07
又学到了一招,受益匪浅!...

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版