Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1228153
  • 博文数量: 479
  • 博客积分: 12240
  • 博客等级: 上将
  • 技术积分: 4999
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-24 17:12
文章分类

全部博文(479)

文章存档

2014年(1)

2013年(1)

2012年(1)

2011年(95)

2010年(177)

2009年(167)

2008年(16)

2007年(21)

分类: LINUX

2011-08-27 10:56:44


drivers/mtd/nand/nand_util.c

  1. 472 int nand_write_skip_bad(nand_info_t *nand, loff_t offset, size_t *length_i,
  2. 473 u_char *buffer)
  3. 474 {
  4. 475     int rval;
  5. 476      //size_t left_to_write = *length;
  6. 477     size_t len_incl_bad;
  7. 478     u_char *p_buffer = buffer;
  8. 479
  9. 480 #if 1 //ABING Fixed NOT align filesize
  10. 481
  11. 482     size_t *length;
  12. 483     size_t page_size = nand->writesize;
  13. 484     size_t page_num = *length_i/page_size;
  14. 485     size_t n = *length_i;
  15. 486     size_t left_to_write;
  16. 487
  17. 488     if (*length_i % (page_size) != 0) {
  18. 489         printf("Not align, modified\n");
  19. 490         n = (page_num + 1) * page_size;
  20. 491     }
  21. 492
  22. 493     length = &n;
  23. 494     left_to_write = n;
  24. 495 #endif
  25. 496
  26. 497     /* Reject writes, which are not page aligned */
  27. 498     if ((offset & (nand->writesize - 1)) != 0 ||
  28. 499        (*length & (nand->writesize - 1)) != 0) {
  29. 500             printf ("Attempt to write non page aligned data\n");
  30. 501             return -EINVAL;
  31. 502     }

其实还可以用更简单的办法,就是如果长度不对齐,则将长度或上页大小即可:
  1. 497 if (*length % (page_size) != 0) {
  2. 498     left_to_write = *length | nand->writesize;
  3. left_to_write += 1;
  4. 499 }
用这种方法无需改动函数原型的参数名称,也更简洁。










(function(w, d, g, J) { var e = J.stringify || J.encode; d[g] = d[g] || {}; d[g]['showValidImages'] = d[g]['showValidImages'] || function() { w.postMessage(e({'msg': {'g': g, 'm':'s'}}), location.href); } })(window, document, '__huaban', JSON); (function(w, d, g, J) { var e = J.stringify || J.encode; d[g] = d[g] || {}; d[g]['showValidImages'] = d[g]['showValidImages'] || function() { w.postMessage(e({'msg': {'g': g, 'm':'s'}}), location.href); } })(window, document, '__huaban', JSON);
阅读(2803) | 评论(0) | 转发(0) |
0

上一篇:microcom用法

下一篇:ubuntu下搭建tftp服务器

给主人留下些什么吧!~~