OpenEdv-开源电子网

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

串口助手发送文件到STM32中如何写到内部flash中

[复制链接]

29

主题

162

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1243
金钱
1243
注册时间
2018-4-25
在线时间
185 小时
发表于 2018-10-10 10:39:02 | 显示全部楼层 |阅读模式
请问下STM32如何实现一边串口接收数据一边写到内部flash中去呢?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2018-10-10 10:56:37 | 显示全部楼层
可以考虑使用双缓冲区机制,在内部RAM或者外部SRAM中开一个和flash写入最小单位相同大小的数据,当串口来数据的时候,先填一个缓冲区A,当该缓冲区满的时候,接下来的数据将现暂存在另外一个缓冲区B中,此时将A中的数据一次性写入到内部FLASH中,这需要一定的写入时间;写完成以后就等待缓冲区B填满;当B满的时候执行相同的操作,将接下来的数据先暂存到缓冲区A中,然后将B中的数据写入到FLASH。

不过这样可能有个问题就是,如果一次性写入的数据也就是缓冲区的大小比较小,或者是串口的数据速率比较快,可能会发生写入FLASH的操作还没有完成但是另外一个缓冲区也满、并且数据还在传,没处存放的情况。可以考虑扩大单个缓冲区的大小。
十六进制带我飞。
回复 支持 反对

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11539
金钱
11539
注册时间
2014-4-1
在线时间
1314 小时
发表于 2018-10-10 11:10:05 | 显示全部楼层

先学会写flash操作。



回复 支持 反对

使用道具 举报

29

主题

162

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1243
金钱
1243
注册时间
2018-4-25
在线时间
185 小时
 楼主| 发表于 2018-10-10 11:35:09 | 显示全部楼层
DreamWaterPro 发表于 2018-10-10 10:56
可以考虑使用双缓冲区机制,在内部RAM或者外部SRAM中开一个和flash写入最小单位相同大小的数据,当串口来数 ...

谢谢        
回复 支持 反对

使用道具 举报

29

主题

162

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1243
金钱
1243
注册时间
2018-4-25
在线时间
185 小时
 楼主| 发表于 2018-10-10 11:35:41 | 显示全部楼层
xuande 发表于 2018-10-10 11:10
先学会写flash操作。

谢谢                 
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2020-5-4
在线时间
8 小时
发表于 2020-5-11 11:39:57 | 显示全部楼层
楼主最终是怎么实现的?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-29 04:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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