设置SWJ_CFG[2:0] 变成了001的时候就释放了了JNTRST引脚 这样的话 在jtag仿真的时候 就用不到jtag...
stm32实现记忆台灯的方法如下。1、配置SWJCFG这个位为相应的模式。2、配置AFIOPMAPR寄存器。3、将010写入SWJCFG这个寄存器就将IO口的功能映射IO口上。4、通过ODR寄存器改变输出的信号就可以控制led灯了。
通过设置复用重映射和调试I/O配置寄存器(AFIO_MAPR) 的SWJ_CFG[2:0]位,可以改变上述重映像配置。 1、硬件描述 把LED灯与SWJ-DP引脚相连。 2、固件描述 提供的GPIO驱动通过一系列的函数支持所有的GPIO 特性。 首先,SWJ-DP被禁用,SWJ-DP引脚配置为输出推挽式。5个LED连接到PA13(JTMS/SWDIO),PA14(JTCK/SWDC...
1、使能AFIO这个功能的时钟 2、配置SWJ_CFG这个位为相应的模式 这个寄存器是在APB2这个时钟上,只需要将第0位置为1就可以使能这个寄存器了, 2、配置AFIOP_MAPR寄存器 因为在作IO口的功能时还需要用到调试功能,所以在这里将010写入SWJ_CFG这个寄存器就将IO口的功能映射IO口上了 3.配置工作模式 寄存器和STM32F4的...
图3.2.3.2 SWJ_CFG位段设置关系 在这里我们把JTAG和SW口全部禁用了,设置AFIO->MAPR [26:24]为100,如下: AFIO->MAPR&=0XF8FFFFFF; //清除MAPR的[26:24] AFIO->MAPR|=0X04000000; //关闭JTAG 以上在设置MAPR的[26:24]位的时候,我们先把这几位清空,然后在置位这几个位。这样,才不会影响之前对AF...
为了利用串行调试接口来释放一些普通I/O口,用户软件必须在复位后设置SWJ_CFG=010,从而释放PA15, PB3和PB4用做普通I/O口。 在调试时,调试器进行以下操作: 在系统复位时,所有SWJ引脚被分配为专用引脚(JTAG-DP + SW-DP)。 在系统复位状态下,调试器发送指定JTAG序列,从JTAG-DP切换到SW-DP。
其中SWJ_CFG[2:0](AFIO->MAPR[26:24])是与JTAG相关的配置寄存器位,这几位的具体设置以及其对应的描述如下: 图3.2.3.2 SWJ_CFG位段设置关系 在这里我们把JTAG和SW口全部禁用了,设置AFIO->MAPR [26:24]为100,如下: AFIO->MAPR&=0XF8FFFFFF; //清除MAPR的[26:24] ...
为了利用串行调试接口来释放一些普通I/O口,用户软件必须在复位后设置SWJ_CFG=010,从而释放PA15, PB3和PB4用做普通I/O口。 在调试时,调试器进行以下操作: 在系统复位时,所有SWJ引脚被分配为专用引脚(JTAG-DP + SW-DP)。 在系统复位状态下,调试器发送指定JTAG序列,从JTAG-DP切换到SW-DP。
但是stm32复位后,JTAG与SW默认同时开启的,即所有的JTAG端口均被系统保留,软件设置GPIO是不起作用的,所以导致JNTRST一直为高电平,JTDO一直为低电平,ST的文档里说明,如果要释放多余的JTAG端口,需设置SWJ_CFG[2:0]为010,关闭JTAG-DP,启用SW-DP 并且开启端口复用的始终,在代码上体现是这样的: //打开复用的时钟 RCC...
6利用串行接口并释放不用的调试脚作为普通I/O口为了利用串行调试接口来释放一些普通I/O口,用户软件必须在复位后设置SWJ_CFG=010,从而释放PA15, PB3和PB4用做普通I/O口。在调试时,调试器进行以下操作:在系统复位时,所有SWJ引脚被分配为专用引脚(JTAG-DP + SW-DP)。在系统复位状态下,调试器发送指定JTAG序列,...