• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

对STM32的flash写一个字节需要多长时间

河马在哪里 2019-04-24 浏览量:3085
怎么评估这个实际的时间
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 其实单个字节写入的时间是很好计算的,只需要解锁后写入数据,计算这个时间就可以了,但是多个字节的写入就不一样了,涉及到解锁后还要寻址,这个相对来说时间会长很多,统计总时间除以你的字节数就是单个字节写入的平均时间了
    • 发布于 2019-04-29
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:6
  • 可以利用在线硬件仿真,在写数据前后设置断点,前后时间一减就出来了;也可以利用定时器时间戳来实现,道理一样

    • 发布于2019-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 你可以写一个测试代码

    1擦出flash

    2开启定时器计数,

    3写入一个字节

    4停止计数

    5读取计数,换算成时间

    注意测试时候不要用其他中断,可以多写几个数计算写平均值

    • 发布于2019-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个数据手册上面有,编程40-60us,擦除20-40ms。不是具体的一个数值,实测的意义不大,还是应该以手册给的数据范围为准。
    • 发布于2019-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般是按读写一个页来说的,STM32的Flash一般是按页来操作的,不是按字节,所以,测量时,最好是写一个比较大的数据,使用IO反转的方式测量时间

    大约是在30us左右

    • 发布于2019-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般对flash来说,写数据分两种情况

    1. 是已经初始化后写,

    2. 是敷写,就是已有数据,需要用新数据改写

    因为flash特性,2比1 的时间多很多(要页操作,对一个页面内的数据都要经过 读取出来,擦除页面,改写个别位置,重新写入)。

    所以对flash来说,最好有一定的管理方案,方便更新个别变量值。

    • 发布于2019-04-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 看怎么写,因为写flash涉及到将器件的flash解锁,然后写入,然后要再上锁,执行上下锁的时间也要算进去,所以连续写很多个字节,然后平均一个字节的时间,与只写一个字节的时间,是不一样的,后者要长

    然后计时可以用一个定时器,或者用MDK-ARM自带的那个看程序运行时间的功能

    • 发布于2019-04-26
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

对STM32的flash写一个字节需要多长时间