yaffs第二篇——yaffs中的核心结构体

yaffs第二篇——yaffs中的核心结构体

ID:42152903

大小:164.78 KB

页数:8页

时间:2019-09-09

yaffs第二篇——yaffs中的核心结构体_第1页
yaffs第二篇——yaffs中的核心结构体_第2页
yaffs第二篇——yaffs中的核心结构体_第3页
yaffs第二篇——yaffs中的核心结构体_第4页
yaffs第二篇——yaffs中的核心结构体_第5页
资源描述:

《yaffs第二篇——yaffs中的核心结构体》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一个比较大的工程,最最核心的往往是数据结构体的定义,这是我最近一段时间啃yaffs啃出来的体会,一个复杂的函数往往是因为里面包含了各类结构体,结构体成员函数之间的不断转换,因此想要理解好一个大型的软件,一定要深刻的理解它的核心结构体。话说有一天和trio一起吃饭,trio老师谈到他看代码的习惯,说往往是先不看.c文件,先把头文件仔细读一遍,这点真是深刻啊!我的理解核心数据就像整个代码的经络一样,别看这个程序有多少多少万行代码,它本质上就是在对这些结构体进行操作。废话少说,我们来看一下yaffs的核心结构体。Yaffs的主要的结构体在yaffs_guts.h这个文件中,核心

2、的接头体有:structyaffs_DeviceStructstructyaffs_ObjectStructStructyaffs_ObjectHeader//Structyaffs_blockinfoStructyaffs_spareStructyaffs_tags//Structyaffs_chunkcache当然还有其他很多结;的区分来说明这些结;匈体构体需篡骤我准备从物理卜和逻紀卜结构体名字生(物理,作用Structyaffsfs_Hand!e逻辑)yaffs_DeviceStruct还有一个比较重要的结构体在yaffs_fs.h这个文件中yaffs_sparey

3、affs_ObjectHeader物理,逻辑yaffs.ObjectStructMyaffsfsHandle逻辑yaffs_tags是描述了整个挂载的设备(大小,起始地址,谡写操作的函数簣等)描述了nandflash每一页后的]6个字节存在于nandflash上,这是物理特性,它的内容是描述了一个文件信息,这是逻辑特性描述了一个文件的具体信息描述了访问文件的信息,读写特性,文件偏移童,文件的yaffs_c^jec[stryct它其实是yaffs[spa「e的一部分,yaffs利用tags审的丙容对yaffs进行组织是可以通过遍历整个yaffs的结构,读取spare区和ob

4、jectheadier来得到yaffs屮因此可以这么來说实际和nandflash的硬件相关的结构体有三个,其他的结构体都是只是为了维护yaffs的组织日录而査内存出羽成的。所以,yaffsJW个Fl录是口J以通过遍历整个yarts的刁的所有逻辑结构。这割分工作是在yaffs.mount这个函数來实现的,这个我们以后会继续讲到。一下面我们來详细讲解每个结构体:y予<7w<7wI...

5、Tw

6、neablesothatwecanreduce//reservedblocksonNORandRAM・nBytesPerChunk;//Shouldbeapowerof2>=512nChunksPerBlock;//doesnotneedtobeapowerof2startBlock;endBlock;//FlagtodecidewhetherornottouseNANDECC//If<=0,thenshortopcachingisdisabled,else//thenumberofshortopcaches(don'tusetoomany).void^genericDe

7、vice;//Pointertodevicecontext//Onanmtdthisholdsthemtdpointer.//以下是nandflash的操作函数,这些是直接和硬件相关,需要我们根据不同的处理器进行特定的处理,包括读,写,擦除,初始化int(*writeChunkToNAND)(structyaffs_DeviceStruct*dev,intchunklnNAND,const_u8*data,yaffs_Spare*spare);int(*readChunkFromNAND)(structyaffs_Device

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。