本篇目录:
- 1、STM32如何脱离JTAG运行程序
- 2、stm32的问题如下。跪求解释,一定采纳
- 3、如何将STM32的调试口设置为普通IO口
- 4、...为什么不成功呢?,看资料上显示,开启sw,关闭jtag就可以啊
- 5、有什么办法不让stm32一开始不启动jtag模式模式吗?
STM32如何脱离JTAG运行程序
1、保留SWD调试口,其它JTAG口可以释放出来作为GPIO.对于STM32F1系列,有个专门的释放操作。涉及到SWJ_CFG[1:0] 位 在AFIO_MAPR 寄存器进行配置,关闭相应管脚的debug调试功能后,可另外配置为GPIO或模拟输入。
2、在STM32CUBEMX图形界面下,PINOUT/SYS/DEBUG/ 选择disable 即可。
3、复位的瞬间SWD和JTAG是可以用的,不然ST-link或者j-link是无法写入程序的。 或者用串口下载的方式刷掉程序。
stm32的问题如下。跪求解释,一定采纳
key=4对应的引脚没有正确配置为输入模式或者没有使能时钟。key=4对应的引脚没有正确连接到电源或者地线,导致电平状态不稳定。key=4对应的引脚在程序中没有正确读取或者判断其电平状态。
这么跟你说吧,stm32有些管脚他上电默认的功能不是通用GPIO,比如JTAG与SWJ调试管脚,所以,如果你想使用这几个管脚作为通用IO的话,就必须将JTAG与SWJ功能关闭,顺便说一句不要忘记开启AFIO时钟。
void assert_failed(u8* file, u32 line); 这句宏定义在STM32所有头文件里面都会出现,这是断言机制。
“u32 *pao3”中变量类型不是u32,而是u32*。表示变量名pao3所在地址存放的是一个地址值,如果是u32,则表示只是存放的一个32位的整形数据。
SPI1_ReadWrite 这个函数你没有定义,而又就在程序的某个地方调用了这个函数,会出现这个错误。可以在enc28j60.c文件里,通过搜索的方式找到你用这个函数的地方。
如何将STM32的调试口设置为普通IO口
1、打开STM32CubeMX工具,打开需要设置的工程。选择GPIO,在GPIO右侧的Pin设置窗口,将p1_2的模式设置为GPIO_MODE_INPUT。同时,将p1_2的推挽输出设置为GPIO_NOPULL。
2、stm32的调试接口SWD要配置下载器才可以既有下载功能又有io功能。比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度。
3、不可以的。除非你用的时候再次重新初始化成IO一下。
4、AFIO,ENABLE);你这个时钟开的是复用端口。你应该改成 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);很多管脚都有普通功能和复用的功能,你把复用的开起来当然不能当做普通IO口用。下面的推挽输出也要改。
5、STM32的nRST引脚在内部连接到了复位部分,而没有与GPIO总线连接,所以无法作为通用IO口使用。
...为什么不成功呢?,看资料上显示,开启sw,关闭jtag就可以啊
1、你这个时钟开的是复用端口。你应该改成 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);很多管脚都有普通功能和复用的功能,你把复用的开起来当然不能当做普通IO口用。下面的推挽输出也要改。
2、设置--蓝牙--点击右上角?符号--查看连不上设备的指导文案蓝牙设备是否处于已配对模式下 请参考蓝牙设备说明书操作,确保设备处于可配对状态,并重新配对设备。
3、显卡驱动版本过高(一般就是过高引起的,我查了这么多资料,基本都是不知不觉中更新驱动造成的)。
4、通过重映射禁用JTAG功能,使其成为普通的IO管脚,但是由于同事的不小心将SWJ禁用了,这也就禁用了所有调试功能,这下完了,再也不能愉快的玩耍了。
5、确认电源 a. 确认电源线的连接,插座是否如下图所示插好。如果延长线上有主电源开关,请确保它是开着的状态。
6、在笔者的实际维修生涯中,造成宕机的硬体故障最常见就是:CPU散热器出问题,CPU过热所致。 检测方法:检测这个故障的方法也很简单,首先将电脑平放在地上后,开启电脑,观察CPU散热器扇叶是否在旋转,如果扇叶完全不转,故障确认。
有什么办法不让stm32一开始不启动jtag模式模式吗?
保留SWD调试口,其它JTAG口可以释放出来作为GPIO.对于STM32F1系列,有个专门的释放操作。涉及到SWJ_CFG[1:0] 位 在AFIO_MAPR 寄存器进行配置,关闭相应管脚的debug调试功能后,可另外配置为GPIO或模拟输入。
设置启动模式为ISP模式(BOOT0=BOOT1=0),用ISP程序将STM32的FLASH擦除,之后就可恢复JTAG功能。如果你的仿真器支持SWD仿真模式,如IAR下用JLINK、MDK下用ULINK2。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);你这个时钟开的是复用端口。
调整BOOT0/BOOT1的设置,把启动模式改变为从内部SRAM启动,再结合手工硬件复位。
如果SPI和JTAG没有重叠端口,那就没必要关掉jtag。
你值的ISP是串口ISP么?STM32一般用JLINK烧写,接口是JTAG,没有的话,串口也能烧,这两种方式的BOOT0和BOOT1配置不同,但是运行起来都是一样的。
到此,以上就是小编对于stm32 jtag的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。