yaffs_guts(一)

1. 计算所给Block所在位图

static __inline __u8 *yaffs_BlockBits(yaffs_Device *dev, int blk)
{
return dev->chunkBits + (dev->chunkBitmapStride * (blk - dev->internalStartBlock));
}

//chunkbits和chunkBitmapStride是两个很有意思的东西,正是它们组成了整个nandflash的位图架构,对于一块有32页的nandflash,这里的chunkBitmapStride是4,而chunkbits是8位的,这样刚好4*8=32,也就是每一个位对应了nandflash中一个page,当然在系统挂载初始化的时候会为每一个块都分配,也就是说在首地址是chunkbits中的每一个位都对应了nandflash的一页,当然一个地址对应8页。

系统在设备描述结构yaffs_Device中维护着一张位图,该位图的每一位都代表着Flash上的一个chunk的状态。yaffs_SetChunkBit()将刚分配得到的chunk在位图中的对应位置1,表明该块已被使用。更新一些统计量后,就可以返回了。

2. 将所给chunk的前chunkBitmapStride个字节清零

static __inline__ void yaffs_ClearChunkBits(yaffs_Device *dev,int blk)
{
__u8 *blkBits = yaffs_BlockBits(dev,blk);
 memset(blkBits,0,dev->chunkBitmapStride);
}

原文发布于微信公众号 - 瓜大三哥(xiguazai_tortoise)

原文发表时间:2016-05-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

C语言怎么学习?以C语言模拟登录为例,学C语言该当如此方可成

好了不用看了,看直了也不会有妹子,看题了: C语言编写代码实现,模拟用户登录------看着是不是很简单?,是不是很轻松?,是不是就有这样的代码? (小编随便百...

41790
来自专栏python学习指南

Python爬虫(二十)_动态爬取影评信息

本案例介绍从JavaScript中采集加载的数据。更多内容请参考:Python学习指南 #-*- coding:utf-8 -*- import req...

41390
来自专栏炉边夜话

免费的午餐已经结束,你准备好了吗?

2005年3月,C++大师Herb Sutter在Dr.Dobb’s Journal上发表了一篇名为《免费的午餐已经结束》的文章,一石激起千层浪,该文引起了社区...

9720
来自专栏FreeBuf

逆向工厂(一):从hello world开始

* 本文原创作者:追影人,本文属FreeBuf原创奖励计划,未经许可禁止转载 前言 从本篇起,逆向工厂带大家从程序起源讲起,领略计算机程序逆向技术,了解程序的运...

47080
来自专栏日常学python

用Python代码来下载任意指定网易云歌曲

前两天教了大家如何在控制台上找到真实的mp3播放地址,但是不可以下载付费的,因为只能下载可播放的歌曲。至于怎样下载付费网易云音乐,还是开个会员吧,要知道免费是最...

12110
来自专栏Albert陈凯

2018-08-05 没有测试用例的代码,根本不应该跑在服务器上

在实际测试中,一个单元可以小到一个方法,也可以大到包含多个类。从定义上讲,单元测试和集成测试是有严格的区分的,但是在实际开发中它们可能并没有那么严格的界限。如果...

24450
来自专栏小樱的经验随笔

linux bash Shell脚本经典 Fork炸弹演示及命令详解

Jaromil 在 2002 年设计了最为精简的一个Linux Fork炸弹,整个代码只有13个字符,在 shell 中运行后几秒后系统就会宕机: :(){:|...

35350
来自专栏Kirito的技术分享

天池中间件大赛百万队列存储设计总结【复赛】

维持了 20 天的复赛终于告一段落了,国际惯例先说结果,复赛结果不太理想,一度从第 10 名掉到了最后的第 36 名,主要是写入的优化卡了 5 天,一直没有进展...

23830
来自专栏腾讯云API

【视频】腾讯云API使用指南

云API团队在云学院上线了一套视频教程,目的是和大家分享如何进行API、SDK和CLI的使用。

849100
来自专栏java技术学习之道

面试必看!2018年4月份阿里最新的java程序员面试题目

40940

扫码关注云+社区

领取腾讯云代金券