问题描述
- stm32启动问题,启动后如果不连接jlink等调试工具会怎样?
-
rt
如果只让stm32跑在最小系统上的时候,需要些什么外围?程序烧录完之后不用jlink等调试工具时怎么让程序跑起来?
解决方案
设置好启动模式就OK!
STM32这颗Cortex-M3控制器,与其他许多ARM一样,提供了BOOT0和BOOT1两个管脚用于启动选择。
BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。
BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。(用于串口ISP)
BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。
在芯片上电复位时,BOOT0和BOOT1两个管脚的状态将决定芯片从何处启动。
解决方案二:
STM32最小系统原理图
解决方案三:
但是我昨天试的时候boot0=1;boot1=0之后可以成功下载程序,但是我的程序在boot0=0,boot1=0时不跑,我不知道我的最小系统还有什么地方有缺陷
最小系统中最重要的几个引脚是什么呢?除了boot0,boot1,还有晶振,复位,及各种正负电源外,其他我都让其悬空,但是他还是不跑程序,我检测到有
jlink调试复用功能的引脚都是高电平(2v左右电压),其余都是高阻态,从始至终一直都是,我有在程序中配置时钟,初始化jtag功能的引脚重映射到对应io口,关闭了jtag功能,开启并初始化了gpioa,并将所有io推挽输出0/1,交替输出,但是pa口电平从未变过,一直高阻态,我这边没有开发版,就一个转接板,线都是我用杜邦线插排针上的,没有jlink等调试工具,只有ch340,求助求助,,,
我想知道我的代码有没有问题,如果没有问题,一定就是我的最小系统有问题,那么最小系统中一定要注意的是那几个引脚,分别怎么置位。。
求大神不吝赐教,,,
解决方案四:
什么最小系统? 如果你用JLINK debug 模式可以跑起来,程序烧入FLASH 从FLASH启动那就没有什么问题。 直接拔掉JLINK, 芯片复位上电就好了,
flash 启动 BOOT1=x BOOT0=0。你确定烧录程序没有问题
解决方案五:
什么最小系统? 如果你用JLINK debug 模式可以跑起来,程序烧入FLASH 从FLASH启动那就没有什么问题。 直接拔掉JLINK, 芯片复位上电就好了,
flash 启动 BOOT1=x BOOT0=0。你确定烧录程序没有问题