Chinaunix首页 | 论坛 | 博客
  • 博客访问: 974363
  • 博文数量: 214
  • 博客积分: 10173
  • 博客等级: 上将
  • 技术积分: 1867
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-18 13:48
文章分类

全部博文(214)

文章存档

2012年(1)

2010年(13)

2009年(5)

2008年(98)

2007年(97)

分类: LINUX

2010-12-01 18:03:56

编译make2yaffsimage

最近弄yaffs,但是CVS上下的无法编译make2yaffsimage,提示yaffs_PackTags2()函数传入的参数不对,看源代码发现,传入的参数少一个,google了一下,解决了问题,详见以下patch:
diff --git a/utils/mkyaffs2image.c b/utils/mkyaffs2image.c
index 9939658..5b6c0c6 100644
--- a/utils/mkyaffs2image.c
+++ b/utils/mkyaffs2image.c
@@ -182,7 +182,7 @@ static int write_chunk(__u8 *data, __u32 objId, __u32 chunkId, __u32 nBytes)
 
  nPages++;
 
- yaffs_PackTags2(&pt,&t);
+ yaffs_PackTags2_no_dev(&pt,&t);
 
 // return write(outFile,&pt,sizeof(yaffs_PackedTags2));
  return write(outFile,&pt,spareSize);
diff --git a/yaffs_packedtags2.c b/yaffs_packedtags2.c
index e33e8a3..e8d94dc 100644
--- a/yaffs_packedtags2.c
+++ b/yaffs_packedtags2.c
@@ -107,6 +107,15 @@ void yaffs_PackTags2(yaffs_Device *dev, yaffs_PackedTags2 *pt, const yaffs_Exten
  &pt->ecc);
 }
 
+void yaffs_PackTags2_no_dev(yaffs_PackedTags2 *pt, const yaffs_ExtendedTags *t){
+
+        yaffs_PackTags2TagsPart(&pt->t, t);
+        yaffs_ECCCalculateOther((unsigned char *)&pt->t,
+                                        sizeof(yaffs_PackedTags2TagsPart),
+                                        &pt->ecc);
+}
+
+
 
 void yaffs_UnpackTags2TagsPart(yaffs_ExtendedTags *t,
  yaffs_PackedTags2TagsPart *ptt)
diff --git a/yaffs_packedtags2.h b/yaffs_packedtags2.h
index d90c6cb..fb1d49b 100644
--- a/yaffs_packedtags2.h
+++ b/yaffs_packedtags2.h
@@ -37,6 +37,8 @@ typedef struct {
 void yaffs_PackTags2(yaffs_Device *dev, yaffs_PackedTags2 *pt, const yaffs_ExtendedTags *t);
 void yaffs_UnpackTags2(yaffs_Device *dev, yaffs_ExtendedTags *t, yaffs_PackedTags2 *pt);
 
+void yaffs_PackTags2_no_dev(yaffs_PackedTags2 *pt, const yaffs_ExtendedTags *t);
+
 /* Only the tags part (no ECC for use with inband tags */
 void yaffs_PackTags2TagsPart(yaffs_PackedTags2TagsPart *pt, const yaffs_ExtendedTags *t);
 void yaffs_UnpackTags2TagsPart(yaffs_ExtendedTags *t, yaffs_PackedTags2TagsPart *pt);

阅读(1279) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~