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

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, 下载次数: 2)

评分

参与人数 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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版