STM32 ~ JTAG、SWD和串口下载的问题】的更多相关文章

最近有一个项目用到STM32,为了使PCB布线方便一些所以改了一些引脚,占用了JTAG接口的PA15和PB3,所以要禁用一下JTAG,下载采用SWD模式.这样在实际操作中做出一些总结(方法网上都有.这里只是总结记录一下): 1:GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE); 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP) 2:GPIO_PinRemapConfig(GPIO_Rem…
最近有一个项目用到STM32,为了使PCB布线方便一些所以改了一些引脚,占用了JTAG接口的PA15和PB3,所以要禁用一下JTAG,下载采用SWD模式.这样在实际操作中做出一些总结(方法网上都有.这里只是总结记录一下,如果是STM32F4系列就不用: 1:GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE); 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP) 2:GPIO_PinRemap…
一.JTAG模式 这种模式一般有10pin的.14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的.值得注意的是,不同的IC公司会自己定义自家产品专属的Jtag头,来下载或调试程序. Test Clock Input (TCK) -----强制要求1:TCK在IEEE1149.1标准里是强制要求的.TCK为TAP的操作提供了一个独立的.基本的时钟信号,TAP的所有操作都是通过这个时钟信号来驱动的. Test Mode Selection Input (TMS)…
处女座,为了板子走线美观,拉线方便,在项目量产前,还更改了原来外设的IO口,埋头苦干一天,移植ok,发现PB3一直不听使唤,好,加班检查代码,检查初始化,时钟,IO对应,然后试PCB板,是否短路,断路等等等,试遍了,纹丝不动,拉不高也拉不低...这是为什么呢,百度一下,才发现,PB3是JTAG口之一,需要把IO重映射为普通IO口使用,于是看着大大神们的帖子,回答,代码中,加入了以下两句话: RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);…
在做串口实验时,一直搞不明白一键下载是怎么回事,于是自己就去捉摸CH340G这块芯片,那么这里我将详细的讲解一下这块芯片怎么与stm32配合使用的. 1.由CH340G芯片资料可以知道这两个引脚的功能都为输出 RTS#:信号输出,初始状态为高电平,表示芯片接收数据已经准备就绪,下载程序时会变成低电平. DTR#:信号输出,初始状态为高电平,下载程序时会变成低电平(但是,是在RTS变为低电平之后才为低). 2.stm32BOOT 根据BOOT参考资料的配置可知 可以先把BOOT1直接接地,单独控制…
stm32的swd接口的烧写协议是否公开的呢? 需要用一台好的示波器来抓才能有足够的存储深度,保证你能够过滤掉那个该死的50clock. 按照Arm的手册,每次转换发送方都需要一个TNR---但是我观察JLINK的波形却没有那个该死的TNR. 手册中说异步SWD需要,同步不需要----或者相反,但是我没有找到关于同步异步的描述. 姑且不管他,反正目前忽略掉TNR就能够读到该死IDR. 另外JLINK的复位时序很奇怪,大致是 70clk High,0xe79e(注意,SWD是LSB First),…
1.概述 上一篇文章<STM32使用DMA接收串口数据>讲解了如何使用DMA接收数据,使用DMA外设和串口外设,使用的中断是串口空闲中断.本篇文章主要讲解使用DMA发送数据,不会讲解基础的串口和DMA知识,直接上代码,如果有同学对DMA和串口都不熟悉,建议看一下上篇文章<STM32使用DMA接收串口数据>. 使用DMA发送数据,首先我们要确认使用的串口有没有DMA. 我们使用USART1串口外设,从数据手册中可以查到,USART1的发送和接收都是支持DMA的,使用的是DMA2. 接…
工作环境: WIN7 64位 IAR 版本: 8.10.3 (8.10.3.10338) ZStack-CC2530-2.3.1-1.4.0协议栈,下载地址:http://download.csdn.net/detail/loveliyun/4143607 为了节约板子的空间,在上面放一个大的仿真接口不被允许,这种情况下,可以使用串口下载, 批量生成时,则可以先将SBL的bootloader程序下载进入FLASH的bootloader区(0x0000-0x2000),然后在使用串口烧录我们用户自…
stm32学习笔记----双串口同时打开时的printf()问题 最近因为要使用串口2外接PN532芯片实现通信,另一方面,要使用串口1来将一些提示信息输出到上位机,于是重定义了printf(),使其将打印的信息重定向至串口1.但是当在程序中调用printf()时,却发现上位机无论如何都接收不到信息,而且printf()之后的语句也不再执行,想必程序在printf()函数里面死掉了吧.当时觉得很纳闷,因为单独只使用一个串口时,printf()是没有问题的.往下说之前,先贴一下双串口的配置和pri…
源:STM8不用手动复位进入自带Bootloader方法(串口下载) STM8不用手动复位进入自带Bootloader方法(串口下载)除非STM8片子的空的,如果复位运行的是自带Bootloader,而且要通过串口下载程序的话,必须在1s内点击上位机,要不然就运行用户程序了. 这一步很麻烦,所以想把它给省掉. 后来发现上位机Flash Loader Demonstrator在启动画面点击Next后,会先从串口的DTR.RTS输出一个大概100多毫秒的脉冲,TTL电平就是负脉冲了,之后才会和单片机…