历史上的今天
返回首页

历史上的今天

今天是:2025年06月25日(星期三)

正在发生

2021年06月25日 | STM32 JTAG复用相关方法

2021-06-25 来源:eefocus

STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能。有时我们为了充分利用MCU I/O口的资源,会把这些端口设置为普通I/O口。具体方法如下:


GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);


// 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP)


GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);


// 改变指定管脚的映射 GPIO_Remap_SWJ_JTAGDisable ,JTAG-DP 禁用 + SW-DP 使能


GPIO_Configuration();


// 配置使用的GPIO口


然后在GPIO_Configuration()中添加如下代码:


//74HC595端口定义


GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14;


GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;


GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;


GPIO_Init(GPIOB, &GPIO_InitStructure);


//TLV5610端口定义


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);


下面是关了JTAG防真后重新设置启用JTAG


STM32在程序中禁用JTAG功能后不能进行仿真会出现不能进行JTAG仿真的现象。


在程序中,通常禁止JTAG的函数如下所示:


//改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全失能(JTAG+SW-DP)


GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);


//改变指定管脚的映射 GPIO_Remap_SWJ_JTAGDisable JTAG-DP 失能 + SW-DP使能


GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);


当设置了以上语句后,当运行了这两个语句后,JTAG仿真就与目标失去去联系。


解决办法有:


1、设置启动模式为ISP模式(BOOT0=1、BOOT1=0)或设置启动模式为RAM运行模式(BOOT0=1、BOOT1=1)。 将开发板断电后重新上电,此时就因不是在用户程序模式,因此就不会执行禁用JTAG的语句,JTAG功能也就可以正常使用。


2、设置启动模式为ISP模式(BOOT0=1、BOOT1=0),用ISP程序将STM32的FLASH擦除,之后就可恢复JTAG功能。


3、如果你的仿真器支持SWD仿真模式,如IAR下用JLINK、MDK下用ULINK2。 直接将仿真器的模式设为SWD模,就可以不受这个禁止JTAG功能的影响了。


推荐阅读

史海拾趣

Cyrix Corp公司的发展小趣事

在成功推出数学协处理器后,Cyrix于1992年推出了其第一款CPU——486SLC和486DLC。这两款产品旨在与英特尔的486SX和486DX竞争,并因其引脚兼容性和低廉的价格而广受制造商欢迎。尽管其性能略逊于英特尔的同类产品,但Cyrix凭借价格优势在市场上占据了一席之地。

国盛科技(BOCHEN)公司的发展小趣事

国盛科技(BOCHEN)的前身是成都国正电子有限责任公司,由周正军先生于1999年创立,初期便致力于电子元器件的制造。面对当时行业内的技术壁垒和专利限制,国盛科技坚持以创新驱动,不断加大研发投入,逐渐在电子元器件领域站稳脚跟。这一时期,公司通过引进和培养核心技术人员,逐步建立起一支具备国内一流研发水平的团队,为后续的快速发展奠定了坚实基础。

DURATOOL公司的发展小趣事

随着全球经济的不断发展,DURATOOL公司意识到单一市场已无法满足其长远发展需求。因此,公司制定了一系列国际化战略,积极开拓海外市场。通过与国外知名企业的合作,DURATOOL公司成功将其产品线扩展到全球多个国家和地区。同时,公司还积极参加国际展会和技术交流活动,提升品牌知名度和影响力。这些举措不仅为DURATOOL公司带来了丰厚的经济回报,也为其在国际市场上树立了良好的企业形象。

Directed Energy Inc公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的关键。Directed Energy Inc深知这一点,因此始终将品质保障作为公司的核心竞争力之一。公司建立了严格的质量管理体系,从原材料采购到生产制造、再到产品检验和售后服务,每一个环节都严格把控,确保产品的高品质。这种对品质的执着追求赢得了客户的广泛信赖和好评,为公司赢得了更多的市场份额。

Bce Sud公司的发展小趣事

随着公司规模的扩大和市场份额的提升,Bce Sud开始实施国际化战略。公司先后在多个国家和地区设立了研发中心和销售网络,进一步扩大了市场份额。通过与国际知名企业的合作与交流,Bce Sud不断提升自身的技术水平和国际竞争力。

FILTRONETICS Inc公司的发展小趣事

为了确保产品质量,FILTRONETICS始终将质量管理放在首位。公司建立了完善的质量管理体系,从原材料采购、生产制造到产品检测、售后服务等各个环节都严格把关。同时,公司还引入了先进的检测设备和技术手段,对产品进行全方位的质量检测和控制。这些措施不仅确保了产品的稳定性和可靠性,也提升了公司的品牌形象和市场声誉。

问答坊 | AI 解惑

关于DSP学习我说几句

接触DSP也快一年了,从刚开始及其不适宜,到现在真正喜欢上了这个系列的芯片 我原先用的是AVR,然后到STM32,进入公司之后开始用TI C2000系列DSP直到现在,我下面也就结合TI的DSP来说 关于DSP和普通51 AVR还有STM32的区别 DSP是为运算而生的芯片 ...…

查看全部问答>

Wince5.0 中对JAVASCRIPT支持的问题?

最近在做一个条码系统,用到数据采集群,我用的是SYMBOL MC3000, 开了一个小应用程序,但是在调试的时候,发现wince5.0 似乎对JAVASCRIPT的支持不太够。 我在网页中设置了一个按钮, 用到onclick=\"window.close()\", 在普通PC中使用是正常的,但 ...…

查看全部问答>

创意无处不在——DIY 柠檬电池发电的做法之一

喜欢折腾原电池的朋友无处不在,今天介绍的这位,用柠檬做为电解质,制作了一个手电筒。制作过程比较详细,所以推荐出来给大家。 电极材料用的是铜和锌(镀锌的铁钉),通过几组原电池串联,成功点亮了一个LED。 整个设备的示意图如下: 制 ...…

查看全部问答>

关于STM32移植fatfs0.07e的问题

前几天移植了fatfs 0.06版 并且可以用来放sd卡里的pcm编码的wav文件了,但是这个版本的只支持8+3的短文件名,所以又下载了0.07E的版   用7e版的时候 问题来了 它定义 path 用的是 xchar(int)型 ,我的文件名 该如何写呢,我按照 ...…

查看全部问答>

EP868新增支持STM8L101系列和STM8L15x系列

响应客户需求,今日起EP868可支持意法半导体的超低功耗8位单片机STM8L101系列和STM8L15x系列。 总算可以打发等待良久的客户了,呵呵。 值得注意的是,STm8L101和STM8L15x系列的读保护设置,是很特别的,一个是0xaa使能读保护,加密单片机; ...…

查看全部问答>

菜鸟急求助

求msp430g2553的串口官方例程,感激不尽…

查看全部问答>

我的易电源学习心得

最近在调试自己的系统,发现自己做的开关电源部分还是不够理想,所以来学习参观一下!…

查看全部问答>

linux多线程编程之同步与互斥实例讲解

作者:武汉华嵌教学部讲师   张老师         一、 为什么要用多线程技术?        1.       避免阻塞,大家知道,单个进程只有一个主线程,当主线程阻塞的时候,整个进 ...…

查看全部问答>

ADC复用问题

想既测温服又测电压值,可是只有一个ADCMEM,我应该怎么操作求大虾相助!…

查看全部问答>

差分放大电路输出电阻问题。。。

差分放大电路,在计算差模输出电阻的时候,为什么双端输出的时候是2*Rc,单端输出的时候是Rc,想了很久都没有弄明白其中的道理,求大神指点一下。。。不胜感激。…

查看全部问答>