你的位置:首页 > 软件开发 > 操作系统 > dsfdfdd

dsfdfdd

发布时间:2015-05-25 12:00:07
1 介绍 目的:解决数据如何从A搬到B,一般是整体搬移,或者是分块搬移,比如现实中搬运的数据超过limt时,就做一个动作,否则,不做2 现实应用 1 按照一定的扇区搬运,防止出错,节省内存资源等2 当数据大于某个limt时,就发送一次握手,防止前面板重启3 设计 ...

1 介绍

目的:解决数据如何从A搬到B,一般是整体搬移,或者是分块搬移,比如现实中搬运的数据超过limt时,就做一个动作,否则,不做

2 现实应用

1 按照一定的扇区搬运,防止出错,节省内存资源等

2 当数据大于某个limt时,就发送一次握手,防止前面板重启

3 设计思路

len 数据总量

sector_size 块大小

writecount 写大小

1 逐次逼近法

定义limit

每次搬运数据writecount = len > g_sector_size ? g_sector_size:len;

总结:算法效率较高,程序简洁。

2 除法和求余的运用

用"/"来求出总量包含多少块,"%"算出余数

4 实现过程

1 逐次逼近法

while(len > 0)

{

write_size = len > sector_size ? sector_size:len

spi_flash_write(flash,src_buffer,write_size,des_buffer)

len -=write_size;

des_buffer += write_size;

src_buffer += write_size;

}

2 除法求余结合法

//

int recy = len/sector_size;

if(recy)

{

for(i = 0; i < recy; i++){

spi_flash_write(flash,src_buffer,sector_size,des_buffer);

des_buffer += sector_size;

src_buffer += sector_size;

}        

}

spi_flash_write(flash,src_buffer,len%sector_size,des_buffer);

src_buffer += len%sector_size;

  

  

  

  

  

  

  

  


 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:dsfdfdd

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录