如何如保实现龙门双边驱动Linux下的U盘驱动

U盘主控检测工具
检测U盘主控、U盘芯片型号、闪存、SSD固态硬盘的必备工具!
版本:1.5.6
大小:1.2M
推荐U盘启动盘制作工具
热门U盘启动资讯
推荐U盘启动资讯
U盘启动资讯列表
我使用的大致有这么几种: 1.dd命令 2.Unetbootin 3.Ubuntu的启动盘制作器 4.直接往优盘上安装操作系统 Ultraiso也可以用来写优盘,不过我没用过。 下面一个一个说。 1.dd(diskdump) 是一个...
问题:在mount U盘时报错如下: # mount -t vfat /dev/sda1 /mntmount: mounting /dev/sda1 on /mnt/ failed: No such device 提示说找不到设备,可是查看ls /dev/sda1 ,设备是存在的 # ls /dev/sda1 -lbrw-r--r-- 1 root root...
在 Linux的嵌入式系统中我们经常用到U盘、SD卡的挂载,而每次都手动挂载或卸载非常麻烦,我们可以采取以下方法实现自动挂载或卸载U盘、SD卡 这就要用到mdev了 其具体操作如下: 1、...
如果你新买的本本没有光驱又想装系统 如果你已经像我一样试了两天还在郁闷中 那你来对地方了,不过我还是要先发一些牢骚的,如果你很急,请直接找下文的现在开始 没光驱的新机...
最近和LINUX的批量部署,以及U盘安装耗上了。 网上有不少的制用U盘启动LINUX进行安装的教程,常见的有安装ubuntu的,有安装Centos的。 本文介绍Ubuntu的安装。版本为12.04。是通过一个不错...
这个版本基于prayaya-livesystem710 整个iso文件大小为 58M, 桌面采用fluxbox+rox。 基本系统只有xfce4-terminal 和rox-filer, 但外带了几个模块增加功能: firefox.ro :这个是简化过的firefox isi.ro : 这个...
对Linux的大名如雷贯耳,可惜 笔记本 电脑 硬盘 太小,没有多余的 空间 另分个区来安装Linux。前段时间在本坛学习并试验成功在U盘上安装Puppy Linux,不过这是个精简版的mini linux,功能...
,是一个集、、、于一体的专业指导性网站,请牢记我们的域名:www.upan.cc
copyright (C)
upan.cc. all rights reserved .如何实现Linux下的U盘驱动_百度知道博客访问: 10511
博文数量: 8
博客积分: 0
博客等级: 民兵
技术积分: 60
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: WINDOWS
经过大约10天的时间,趁着下班的空余时间终于把30天(以下简称30天)自制操作系统的U盘启动,以及读写U盘的扇区问题搞定了。
按照30天中的代码,用qemu模拟的话很轻松就可以实现从软盘启动的模拟,但是如何改成从u盘启动呢。
我把我的大致思路讲下。
1.先搞懂,BIOS的功能,以及关机流程,内存地址0x7c00的意义,这些网上都能够查到。
2. 搞清楚,FAT32文件格式,当你格式化一个u盘的时候 如果选择FAT32,U盘第一个扇区的前88个字节(大概)说的是FAT32格式的相关内容。极为重要的 是前三个字节。举个例子:
前两个字节的意思是 jmp 58(偏移量,尤为重要,不是目的地址),实际跳转到的地址 要加上将要执行的下一条指令的地址,即(ip)=(ip)+偏移量,在我们U盘这个程序中 实际跳到 0x5a这个地方,因为jmp指令本身占两个字节。
3.搞清楚 int 13h(读盘 在这里是读U盘),int 10h(显示 acsii字符) 这两个个BIOS中断的用法,百度吧,会有很多说明。
4.知道自己的u盘的驱动器号,我的是80h,每个人的可能不一样,取决于你的电脑。方法:BIOS启动的时候 会将驱动器号保存在dl寄存器中,(当你用电脑格式化u盘过后,第一个扇区的40h自己的内容就是驱动器,你自己可以验证下)所以 你可以调用BIOS中断显示dl的内容,但要注意 BIOS中显示的是字符0-127。 80h已经超出这个范围,可以减去1fh,再显示,假如驱动器号 是80h那么显示的字符是a,81h显示b,以此类推。
5. 过程: 写好汇编代码,用nask,就是30天书上的工具,生成的ipl.bin,用winhex 将bin文件中代码部分(不包括前面的,关于软盘的设置),复制到格式化后(FAT32)的u盘,JMP指令,指定的跳转位置,记得将 510,和511字节改写为55和 AA,还有不要忘了保存。
6.我用winhex 将U盘的第二个扇区的前几个字节的内容,改成我想要显示的内容,然后在程序中读取第二个扇区的内容,然后显示前面几个字节,检验显示的是否正确。
补充:关于C(柱面)H(磁头)S(扇区)以及 LBA(Logical Block Address)的相关信息,自己百度吧。bios是将CHS转换成LBA地址后 进行读盘的。
如文中有错误,欢迎讨论指正,如有问题,本人邮箱,.
阅读(570) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
富足长乐, 积分 5530, 距离下一级还需 2470 积分
论坛徽章:0
本帖最后由 crifan 于
16:56 编辑
此文如果更新,也都只会放到这里:
(另外再吐槽一下:
如你所见,上面这行的文字,本身很短,但却在两行显示。
此种格式编辑方面的bug或者说不友好的地方,已经再次把我搞崩溃了。
这也是越加不喜欢在各类bbs,博客,包括这里,去发布东西的原因了:问题太多了,让人崩溃。)
如何实现Linux下的U盘(USB Mass Storage)驱动How to Write Linux USB MSC (Mass Storage Class) Driver版本: 0.4作者: crifan联系方式:green-waste (at) 苏州建屋海德公园托词价格未定,雪藏76套房源由于本文内容太长,不方便此处发表全文,所以只列出了目录。这里有PDF版本:如何实现Linux下的U盘(USB Mass Storage)驱动 v0.4.pdf1.
(991.07 KB, 下载次数: 1324)
16:25 上传
点击文件名下载附件
版本时间内容更新作者0.41.介绍如何在Linux下实现U盘驱动crifan
1 正文之前 6
1.1 本文目的 6
1.2 阅读此文所需要的前提知识 7
1.3 声明 7
2 USB基本知识 8
2.1 USB的硬件 8
2.2 USB相关的协议 8
2.3 USB相关的软件实现 8
3 USB Mass Storage大容量存储的基本知识 9
3.1 USB Mass Storage相关的协议 13
3.1.1 USB Mass Storage相关协议简介 14
3.1.1.1 USB MSC Control/Bulk/Interrupt (CBI) Transport 14
3.1.1.2 USB MSC Bulk-Only (BBB) Transport 15
3.1.1.2.1 为何USB MSC中Bulk-only Transport被叫做 BBB 15
3.1.1.2.2 为何已经有了CBI,又再弄出个BBB 15
3.1.1.3 USB MSC UFI Command Specification 16
3.1.1.4 USB MSC Bootability Specification 16
3.1.1.5 USB MSC Compliance Test Specification 17
3.1.1.6 USB Lockable Storage Devices Feature Specification 17
3.1.1.7 USB MSC USB Attached SCSI Protocol (UASP) 17
3.1.1.7.1 已有SCSI协议,为何还要再弄一个UASP 17
3.1.2 USB MSC的各个协议之间关系总结 19
3.1.3 U盘与USB中的Class,Subclass和Protocol的对应关系 20
3.1.3.1 bInterfaceClass=0x08=Mass Storage 21
3.1.3.2 bInterfaceSubClass=0x06=SCSI Transparent 21
3.1.3.3 bInterfaceProtocol=0x50=Bulk Only Transport 21
3.2 USB Mass Storage相关的软件实现 22
4 实现U盘驱动的整个流程是什么样的 23
5 Linux系统下,USB驱动的框架已经做了哪些事情 24
6 Linux下实现U盘驱动,自己需要做哪些事情以及如何做 25
7 引用文章 26 图表
图表 1 U盘 6
图表 2 USB Mass Storage Framework 9
图表 3 PC和U盘 10
图表 4 PC和U盘的芯片内部结构 10
图表 5 PC和U盘的内部逻辑框图 11
图表 6 PC和USB MSC设备 12
图表 7 USB MSC的分类 12
图表 8 USB Storage Class Protocol Relation 19
图表 9 SubClass Codes Mapped to Command Block Specifications 21
图表 10 Mass Storage Transport Protocol 21
图表 11 USB数据流向图 23
缩写全称含义注释MSCMass Storage Class大容量存储类型常说的大容量存储设备,就是此处的MSC设备,最常见的例子就是U盘SAM4 ISO/IEC , SCSI Architecture Model-4 (SAM-4) (ANSI INCITS 447:200SCSI架构的Mode-4SpecSpecification规范
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
白手起家, 积分 71, 距离下一级还需 129 积分
论坛徽章:0
正准备学习一下U盘驱动,谢谢了!
白手起家, 积分 57, 距离下一级还需 143 积分
论坛徽章:0
谢谢LZ的分享!
白手起家, 积分 18, 距离下一级还需 182 积分
论坛徽章:0
谢谢楼主!
白手起家, 积分 122, 距离下一级还需 78 积分
论坛徽章:0
谢谢楼主!
白手起家, 积分 0, 距离下一级还需 200 积分
论坛徽章:0
万分感谢楼主的分享~~
白手起家, 积分 2, 距离下一级还需 198 积分
论坛徽章:0
怎么不完整?没写完?}

我要回帖

更多关于 linux3.19 u盘驱动 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信