- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(linux内核MTD分区
MTD 设备驱动和 NAND Flash 驱动程序分析硬件环境:飞凌OK6410,256MB DDR,2GB NAND Flash、 ? NAND Flash 型号:K9G8G08U9A ? 、 ? ? 分析源码:Linux 内核源码。一、 MTD 设备驱动。1、先来简单介绍一下MTD在Linux 系统中,提供了MTD(Memory Technology Device , 内存技术设备)系统来建立 Flash 针对 Linux 的系统、抽象的接口, MTD 将文件系统?与底层的Flash?存储器进行了隔离,使 Flash 驱动工程师无需关心Flash 作为字符设备和块设备与 LInux内核的接口。2、在引入MTD 后Linux 系统中的Flash ?设备及接口可分为4层, 从上到下依次是:设备节点、MTD 设备层、MTD原始设备层和硬件驱动层。 ?这 4 层的作用定义如下:1- 硬件驱动层: Flash 硬件驱动层负责 Flash 硬件设备的读、写、擦除, LInux MTD 设备的 NOR Flash 芯片驱动位于 drivers/mtd/chips 子目录下,? NAND Flash的驱动程序则位于 drivers/mtd/nand 子目录下。2-MTD 原始设备层: MTD原始设备层由两部分组成,一部分是MTD 原始设备的通用代码,另一部分是各个特定 Flash 的数据,例如分区。3-MTD设备层:基于MTD 原始设备,Linux 系统可以定义出 MTD 的块设备的结构(主设备号 31) 和字符设备(设备号 90),构成MTD 设备层, MTD 字符设备定义? ? ? 在mtdchar.c 中实现,MTD 块设备则是定义在一个描述MTD 块设备的结构 mtdblk_dev ,并声明了一个名为 mtdblks 的指针数组,这个数组中的每个mtdblk_dev?和 mtd_table 中的每一个mtd_info 一一对应。4-设备节点:通过mknod 在/dev 子目录下建立MTD字符设备节点和块设备节点,用户通过访问此此设备节点即可访问 MTD 字符设备和块设备。3、分析Linux MTD 系统接口 mtd_info 结构体代码分析 ?此结构体定义在 ./include/linux/mtd/mtd.h 中关键词词解析:XIP :XIP?eXecute In Place,即芯片内执行,指应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。flash内执行是指nor flash 不需要初始化,可以直接在flash内执行代码。但往往只执行部分代码,比如初始化RAM.OOB :Out Of Brower 传输层协议使用带外数据(out-of-band,OOB)来发送一些重要的数据,如果通信一方有重要的数据需要通知对方时,协议能够将这些数据快速地发送到对方.为了发送这些数据iovec-base : iovec 结构体基础。struct iovec定义了一个向量元素。通常,这个结构用作一个多元素的数组。对于每一个传输的元素,指针成员iov_base指向一个缓冲区,这个缓冲区是存放的是readv所接收的数据或是writev将要发送的数据。成员iov_len在各种情况下分别确定了接收的最大长度以及实际写入的长度。Sync : 函数, 函数说明:此函数负责将系统缓冲区的内容写回磁盘,以确保数据同步。[cpp]?view plaincopystruct?mtd_info?{??????u_char?type;?????//?内存技术的类型??????uint32_t?flags;??//?标志位??????uint64_t?size;???//?Total?size?of?the?MTD?、mtd?设备的大小????????/*?Major?erase?size?for?the?device.?Na茂ve?users?may?take?this??????*?to?be?the?only?erase?size?available,?or?may?use?the?more?detailed??????*?information?below?if?they?desire??????*/??????uint32_t?erasesize;????//?主要的擦除块大小?erase?size?of?main?block??????/*?Minimal?writable?flash?unit?size.?In?case?of?NOR?flash?it?is?1?(even??????*?though?individual?bits?can?be?cleared),?in?case?of?NAND?flash?it?is??????*?
您可能关注的文档
- [专家提问题目汇总.doc
- [专家点评2013年高考全国各地作文题.doc
- [专接本必看考点、考试公告、跨专业.doc
- (linux下遇到错误解决新手.doc
- (Linux中查找文件技术大全.doc
- [专科应用文练习题.doc
- (linux中的用户组和各种权限.doc
- [专科机械制造技术基础试卷.doc
- [专科模拟考试.doc
- [专科起点升本科招生专业与统一考试科目对照表.doc
- 2025-2026学年初中英语沪教牛津版广州深圳沈阳通用八年级下册-沪教牛津版广州深圳沈阳通用教学设计合集.docx
- 新能源产业政策导向与2025年市场前景分析报告.docx
- 元宇宙视角下历史文化遗产保护与虚拟现实技术融合发展趋势报告.docx
- 智慧农业数据共享平台在农业灾害预警与应急响应中的应用报告.docx
- Z世代2025年在线健康社区活跃度研究报告.docx
- 密室逃脱主题馆2025年主题更新与儿童主题开发报告.docx
- 2025年宠物殡葬行业用户满意度与品牌竞争力提升研究.docx
- 天车工(中级)职业技能考试题(附答案).pdf
- 特殊教育行业师资培养体系优化与评估报告(2025版).docx
- 2025年元宇宙虚拟会展在交通领域的智能化运营研究.docx
文档评论(0)