打印
[STM32F4]

内部Flash写入的时候能不能跑程序?会不会卡死?

[复制链接]
526|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
童雨竹|  楼主 | 2025-5-7 07:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用Flash写数据,感觉程序卡顿一两秒,是Flash接口锁住了总线吗?

使用特权

评论回复
沙发
Clyde011| | 2025-5-7 07:33 | 只看该作者
尝试先写缓存,空闲再烧。

使用特权

评论回复
板凳
公羊子丹| | 2025-5-7 07:34 | 只看该作者
Flash写入时CPU是会阻塞的。

使用特权

评论回复
地板
周半梅| | 2025-5-7 07:35 | 只看该作者
有些型号可以边写边跑RAM段程序。

使用特权

评论回复
5
帛灿灿| | 2025-5-7 07:36 | 只看该作者
用EEPROM仿真区会不会好点?

使用特权

评论回复
6
童雨竹|  楼主 | 2025-5-7 07:37 | 只看该作者
你有跑中断吗?会不会也被锁了?

使用特权

评论回复
7
万图| | 2025-5-7 07:37 | 只看该作者
看下程序是不是直接写主Flash区了?

使用特权

评论回复
8
Wordsworth| | 2025-5-7 07:38 | 只看该作者
我是DMA写RAM然后定期写Flash。

使用特权

评论回复
9
Bblythe| | 2025-5-7 07:39 | 只看该作者
Flash擦写一次要几毫秒的。

使用特权

评论回复
10
Pulitzer| | 2025-5-7 07:40 | 只看该作者
会不会写频繁把Flash写坏了?

使用特权

评论回复
11
Uriah| | 2025-5-7 07:41 | 只看该作者
你在跑FreeRTOS没?可能调度出问题。

使用特权

评论回复
12
夜阑风雨| | 2025-5-12 15:30 | 只看该作者
    在STM32F4内部Flash写入时程序仍可运行,但会出现卡顿现象,原因是Flash接口锁住了总线

使用特权

评论回复
13
别乱了阵脚| | 2025-5-12 15:53 | 只看该作者
   CAN总线上的每个节点都有一定负载效应,支线过长会使这些负载效应累积,加重总线负载,影响通信速率和稳定性,尤其在高速通信时更为明显。

使用特权

评论回复
14
暖了夏天蓝了海| | 2025-5-12 16:00 | 只看该作者
    在STM32F4中,执行Flash的写入或擦除操作时,任何对Flash的读操作都会导致总线阻塞。这是因为Flash的编程/擦除控制器(FPEC)在操作期间会独占总线,阻止其他访问请求,直到操作完成。

使用特权

评论回复
15
淡漠安然| | 2025-5-12 16:30 | 只看该作者
   由于程序代码存储在Flash中,总线被锁时CPU无法从Flash读取指令,导致程序执行暂停,表现为卡顿。

使用特权

评论回复
16
远山寻你| | 2025-5-12 17:00 | 只看该作者
   一般来说你可以去掉终端电阻试试,也许会好使

使用特权

评论回复
17
夜阑风雨| | 2025-5-12 17:30 | 只看该作者
    若总线两端未正确接入120Ω终端电阻,或多个节点错误接入终端电阻,会引起总线波形畸变,导致通信异常。

使用特权

评论回复
18
光辉梦境| | 2025-5-12 17:30 | 只看该作者
    在Flash操作期间,若发生中断,CPU需等待总线解锁后才能响应中断服务例程,导致中断响应延迟,进一步加剧卡顿。

使用特权

评论回复
19
江河千里| | 2025-5-12 18:00 | 只看该作者
需用万用表测量CANH和CANL之间的总线电阻,确保大约为60Ω(两个120Ω并联)。同时检查每个CAN转TTL芯片是否内置终端电阻,若有则应去除,避免重复接入。

使用特权

评论回复
20
江河千里| | 2025-5-12 18:00 | 只看该作者
优化Flash操作频率,减少不必要的Flash写入,合并多次小数据写入为一次大数据写入,降低总线占用时间。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

108

主题

5183

帖子

2

粉丝