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

STM32L4开机不启动

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



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

举报

6个回答
wolfgang 回答时间: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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版