你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L4开机不启动

[复制链接]
PaulRambo 提问时间:2018-4-28 10:25 /
大家好!我最近遇到一个奇怪现象。测试2块板子,出现了相同状态,没敢继续测了。
电路板已经测试过几个月,一直正常运行,这两天在测试IAP跳转的时候改动了时钟配置,增加了一条HAL_RCC_DeInit();,重新烧写到CPU之后,启动,情况还好,再次启动就不行了。我量了复位脚,果然不正常。波形如下,大家帮我看下怎么回事??



1524881965253.jpg
收藏 评论6 发布时间:2018-4-28 10:25

举报

6个回答
wolfgang2015 回答时间:2018-4-28 10:27:03
HAL_RCC_DeInit() 函数就是去RCC初始化。
需要重新初始化RCC....

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

回答时间:2018-4-28 10:35:25
楼主可能是因为代码的问题,测试以前正常的程序,如果没有问题。就按照楼上的方法测试。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

PaulRambo 回答时间:2018-4-28 10:41:27
安 发表于 2018-4-28 10:35
楼主可能是因为代码的问题,测试以前正常的程序,如果没有问题。就按照楼上的方法测试。 ...

我测试了以前的代码,也测试了单独串口输出的代码,全部都无法运行了。就像是硬件被烧毁了一样。但是我把整个FLASH都擦除,然后烧写到80000000的时候,又可以运行。
回答时间:2018-4-28 10:47:26
HAL_RCC_DeInit();是在IAP里面加的,你换IAP程序了吗?
PaulRambo 回答时间:2018-4-28 13:11:21
安 发表于 2018-4-28 10:47
HAL_RCC_DeInit();是在IAP里面加的,你换IAP程序了吗?

HAL_RCC_DeInit();是加在了Bootloader里面的,APP里面有时钟配置程序。同样的程序(Bootloader和APP)拷贝到其他板子上面我也测试过了,能正常运行。目前发现3个芯片会出现这种情况,而且在我烧写Flash的时候出现了写保护错误。这个很难再碰到。每次碰到这个错误就会再也无法正常使用了。

另外还有一个情况,我的APP有时候无法跳转,运行完Bootloader之后,就卡住了。然后重启一下,重新上电,又能够运行。
代码太复杂就没有贴。
回答时间:2018-4-28 14:11:37
这个在APP重新初始化时钟即可。按照这样的测试,猜测还是因为时钟停止工作后,导致程序不运行。看一下HAL_RCC_DeInit()以后,是不是所有的晶振(内部和外部的)都不工作了,这样的话芯片就不能正常工作了。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版