stm32上电跑boot吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32上电跑boot吗相关的知识,希望对你有一定的参考价值。
参考技术A stm32上电跑boot如下你最好是量一下你单片机上的 boot0和boot1管脚的电平是否正确,这种情况一般都是因为boot0电平不对导致的,我想你用jatag连接上仿真的时候肯定是没有问题的,仿真正常的.%80是boot不对.
BOOT0,BOOT1说的是系统上电启动后,程序从哪里加载,运行,是单片机问题Jlink是JTAG接口,是内核的问题,JTAG口是单片机的内核,也就是CPU来控制操作的,不受BOOT0,BOOT1的影响。
STM32F767IGT6上电多次重启问题查找与解决
1.重启现象描述
STM32F767IGT6在烧写SylixOS成功后,重新上电会出现多次重启的现象,初次定位可能是看门狗或者是系统运行过程中内存溢出导致的重启。
2.重启问题查找
为了解决多次重启问题,查找STM32 M7的芯片手册中,得知STM32 M7有两种看门狗:
第一种:独立看门狗(IWDG),此独立看门狗外设可用于检测并解决由软件错误导致的故障,并在计数器达到给定的超时值时触发系统复位。
第二种:系统窗口看门狗(WWDG),系统窗口看门狗通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。
查看两种看门狗的配置信息的得知在系统没有初始化的情况下,看门狗是默认关闭的(也可以通过器件选项位使能“硬件看门狗”功能,上电时将自动使能看门狗,在这里没有实现)。
通过st-link Utility工具读取板卡的寄存器的值也可以看出看门狗没有被开启。
如图 2-1 使能IWDG所示。
图 2-1 开启IWDG
读取IWDG_KR寄存器得知IWDG未开启,IWDG_KR寄存器地址为0x40003000, 如图 2-2 IWDG_KR的值所示。
图 2-2 IWDG_KR的值
如图 2-3 使能WWDG,图 2-4 WWDG_CR寄存器所示。
图 2-3 使能WWDG
图 2-4 WWDG_CR寄存器
读取WWDG_CR寄存器的WDGA得知WWDG未开启,WWDG_CR寄存器地址为0x40002c00,如图 2-5 WWDG_CR的值所示。
图 2-5 WWDG_CR的值
从芯片手册中得知,有以下5种情况时会发生系统复位:
1. NRST 引脚低电平(外部复位);
2. 窗口看门狗计数结束(WWDG 复位);
3. 独立看门狗计数结束(IWDG 复位);
4. 软件复位(SW 复位);
5. 低功耗管理复位 ;
如图 2-6 系统复位所示。
图 2-6 系统复位
软件可以通过查看RCC_CSR寄存器来确定是什么原因导致复位。如图 2-7 RCC_CSR寄存器所示。
图 2-7 RCC_CSR寄存器
位 31 LPWRRSTF: 低功耗复位标志 。
位 30 WWDGRSTF:窗口看门狗复位标志 (Window watchdog reset flag)
位 29 IWDGRSTF: 独立看门狗复位标志 (Independent watchdog reset flag)
位 28 SFTRSTF: 软件复位标志 (Software reset flag)
位 27 PORRSTF: POR/PDR 复位标志 (POR/PDR reset flag)
位 26 PINRSTF: 引脚复位标志 (PIN reset flag)
位 25 BORRSTF: BOR 复位标志 (BOR reset flag)
位 24 RMVF: 清除复位标志 (Remove reset flag)
读取RCC_CSR可得知系统复位原因,RCC_CSR寄存器的地址为0x40023874,如图 2-8 RCC_CSR寄存器的值所示。
图 2-8 RCC_CSR寄存器的值
从图 2-8中可知系统复位原因是引脚复位引起的。
3.重启问题的解决
咨询供应商得知,当上电时如果USB_232属于连接状态,则会引发多次引脚复位,此问题属于硬件问题,无法通过软件解决。解决方法不通过USB_232(USB转串口)作为串口。
本文出自 “逍遥蓝云的家” 博客,请务必保留此出处http://xiaoyaolanyun.blog.51cto.com/2586643/1948900
以上是关于stm32上电跑boot吗的主要内容,如果未能解决你的问题,请参考以下文章