斯普朗特 发表于 2015-12-22 11:08:56

将数据存入flash的时间问题(IAP的使用)

我在做一个IAP的bootloader程序,因为APP程序巨大,不能暂存到SRAM里面,一开始准备在串口中接收到1k数据后再存入flash,结果发现丢了数据,想着估计是存入时间太长,我就换成来一个数据存一个,结果发现接收的数据还是不对,请问有人试验过这方面的么? 串口遍边接收边存入是可行的么?
如果不能边接收边存储的话,那大一点的程序是这么下载到一硬件上的呢?


moyanming2013 发表于 2015-12-22 12:12:13

按照你的flash可写的删区大小进行边读边写。

xmshao 发表于 2015-12-22 12:17:31

ST官方每个系列都有基于UART的IAP历程及说明文件,你可以参考使用。

斯普朗特 发表于 2015-12-22 14:42:03

xmshao 发表于 2015-12-22 12:17
ST官方每个系列都有基于UART的IAP历程及说明文件,你可以参考使用。

十分感谢,居然有官方资料

dsjsjf 发表于 2015-12-22 15:36:30

学习学习

anger0925 发表于 2015-12-22 18:00:17

st官放有uart和以太网的IAP例程

xmshao 发表于 2015-12-22 19:58:56

官方资料很多很丰富的。

斯普朗特 发表于 2015-12-23 13:30:55

我测试出来了,在flash的操作中,擦除占据了太多时间,我就讲擦除放到了程序开始进行,上位机先发送文件的大小,以此判断需要擦除的页数,先进行了擦除后在开始接收数据,在串口中没得到2个字节 就存入一次,我用了10K大小的程序实验了下,可以实现。感谢大家了

jayi1109 发表于 2017-8-3 10:42:47

下载学习了,谢谢
页: [1]
查看完整版本: 将数据存入flash的时间问题(IAP的使用)