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

【STM32L4】禁用 nJTRST 但不中断 JTAG

[复制链接]
maxtch 提问时间:2020-3-30 16:11 /
如题,我的目标板有一片 STM32L432KBU6。现在在开发过程中想要禁用掉 nJTRST 把 PB4 用作 GPIO,但又不想因此中断四线制 JTAG。这该怎么办?
限制条件:
  • 我不用 HAL 和 Cube,所有操作完全直接捅寄存器。
  • 这个 JTAG 是和别的芯片共用的,因此不可以改用 SWD。(STM32 的 TDI 接着别的芯片的 TDO,而 TMS 和 TCK 是多片芯片共享的。我有好几只自制 JTAG 调试器,均统一使用 ARM CoreSight 调试接口,因此不用担心接口兼容性。)


背景:
我之前是做过类似的设计的:STM32F103C8T6 + XC2C32A CPLD 共用一个 JTAG 接口。STM32F1 可以通过 AFIO->MAPR 去禁用掉 nJTRST 而不影响 JTAG 调试接口和 Xilinx iMPACT 通过 JTAG 烧录 CPLD。现在的问题是 STM32L432KBU6 取消了 AFIO 改作 SYSCFG,但 SYSCFG 里面也没有找到对应的寄存器,而直接修修改 GPIOB->AFIO[0] 寄存器把 PB4 从 AFIO 0 改成 AFIO 5(SPI1)会中断 JTAG 调试。如何解决?
收藏 评论4 发布时间:2020-3-30 16:11

举报

4个回答
mylovemcu 回答时间:2020-3-30 16:27:10
200108.png

是这个寄存器  (忽略红线)

配置成第二种模式就可以了

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

maxtch 回答时间:2020-3-30 17:51:43
mylovemcu 发表于 2020-3-30 16:27
是这个寄存器  (忽略红线)

配置成第二种模式就可以了

STM32F103 这个我是知道的。STM32L432 没有这个寄存器。您是不是目标芯片型号看错了?
mylovemcu 回答时间:2020-3-31 08:23:51
maxtch 发表于 2020-3-30 17:51
STM32F103 这个我是知道的。STM32L432 没有这个寄存器。您是不是目标芯片型号看错了? ...

抱歉  确实看错了  
这个芯片没用过
刚找了一下  L4的芯片没有这个寄存器  上电默认功能就是用做调试口的  属于引脚复用  要做普通口就直接把这个引脚配置成普通模式就可以了  手册上是这么写的  你试一下
maxtch 回答时间:2020-4-1 00:53:18
mylovemcu 发表于 2020-3-31 08:23
抱歉  确实看错了  
这个芯片没用过
刚找了一下  L4的芯片没有这个寄存器  上电默认功能就是用做调试口的 ...

现在的问题就是直接配置,然后在写入 GPIOB->MODER 或 GPIOB->AFRL 的瞬间 JTAG 中断。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版