OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 108|回复: 4

求助:STM32F429的上电启动时间

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2020-9-10
在线时间
8 小时
发表于 2024-5-11 15:12:50 | 显示全部楼层 |阅读模式
20金钱
使用STM32F429IGT6核心板,用最简单的程序,上电后在配置时钟之后,立刻设置一个IO口为1,然后用示波器观察nRST和端口信号。
现在发现是:冷启动时,nRST升高140ms后,IO口拉高。
但是如果是将nRST拉低,热重启,则两者基本无差别,几乎同时拉高。
一开始想,是不是冷启动时,时钟震荡稳定需要时间,于是在Sys_Clock_Set(u32 plln,u32 pllm,u32 pllp,u32 pllq)函数中,有while的地方,加了一个重试计数,等启动稳定后,再通过串口将这个数字发给上位机。
测试发现,这个数字也基本相同。


现在就是不知道该怎么降低这个140ms的时间,求大神指点!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

83

帖子

0

精华

高级会员

Rank: 4

积分
780
金钱
780
注册时间
2020-6-12
在线时间
282 小时
发表于 2024-5-12 18:52:16 | 显示全部楼层
可以看看nRST上拉和芯片用的是同一个电源么
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2020-9-10
在线时间
8 小时
 楼主| 发表于 2024-5-13 08:44:32 | 显示全部楼层
rektito 发表于 2024-5-12 18:52
可以看看nRST上拉和芯片用的是同一个电源么

多谢回复提醒,电源是同一个,因为只是为了测试开机时间,用的是一个最小系统板,上面只有一个电源,公用的。
用示波器看,3.3V上电和nRST变高,大概是4ms的时间,所以应该和复位部分阻容值等也没关系。
现在感觉这个时间是在进入main函数之前的消耗,就是没有弄清楚具体做什么耗费了100多ms时间?
回复

使用道具 举报

1

主题

83

帖子

0

精华

高级会员

Rank: 4

积分
780
金钱
780
注册时间
2020-6-12
在线时间
282 小时
发表于 2024-5-13 21:35:05 | 显示全部楼层
sun98062 发表于 2024-5-13 08:44
多谢回复提醒,电源是同一个,因为只是为了测试开机时间,用的是一个最小系统板,上面只有一个电源,公用 ...

1.如果考虑时钟震荡的话, 可以使用内部RC时钟测试。  2.其次,这个sys看起来不像是官方的标准库的函数, 可以用官方生成工具cubemx生成的代码测试。  3.还有就是看看硬件设计的地方, vcap的两个电容一定要加, 不加就会异常。 4.代码编译的时候可以选一下效率优化。 5.至于为什么reset之后比较快 是没好想法 正常零热启动 应该都是1ms以内最慢。
回复

使用道具 举报

2

主题

416

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3536
金钱
3536
注册时间
2018-5-14
在线时间
797 小时
发表于 2024-5-14 16:33:28 | 显示全部楼层
sun98062 发表于 2024-5-13 08:44
多谢回复提醒,电源是同一个,因为只是为了测试开机时间,用的是一个最小系统板,上面只有一个电源,公用 ...

怀疑是芯片冷启动,由出厂固化的代码引导到resetHandle函数,热启动时,你按下reset键上电,出厂代码也在运行,然后由于reset按键有效,不跳转到resetHandle函数,等你放开reset,进入resetHandle中断函数里。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-29 05:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表