lxf
lxf
驱动小牛
驱动小牛
  • 注册日期2001-03-26
  • 最后登录2013-05-04
  • 粉丝4
  • 关注0
  • 积分76分
  • 威望30点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:2135回复:10

关于我所知道的驱动的发展.

楼主#
更多 发布于:2001-09-20 19:49
1.记得我念计算机书时,开始用的是ROM BASIC. 这个时候设备的驱动是在 BIOS 中,系统启动时它们初始化后就挂在对应的中断上。

2.后来用DOS ,它的驱动除了BIOS 驱动外,新加的是一个。SYS ,它有一定的规范,然后在CONFIG.SYS 中加上它就可以,如DEVICE= HIMEM.SYS

3。中间还有WINDOWS 3。2, 也有对应驱动,哪时我在国营看报纸。

4. VXD

5. WDM

现在,我准备做一个BIOS 驱动,怎么做?
就是在做一块PCI卡的BIOS,按照PCI规范,需要写一段X86的代码在板上的EPROM中,就象无盘工作站的网卡一样,如何做?
[lxf 编辑于 2001-09-20 19:51]
别着急,慢慢来!
lilo
驱动牛犊
驱动牛犊
  • 注册日期2001-05-24
  • 最后登录2008-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-06 22:45
EFI来了,在bios里用c写驱动已经是事实。
lxf
lxf
驱动小牛
驱动小牛
  • 注册日期2001-03-26
  • 最后登录2013-05-04
  • 粉丝4
  • 关注0
  • 积分76分
  • 威望30点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-09-24 23:02
有道理!
PCI Spec里说得不是很详细,又没有例子,我只能用它完成初始化,
没有办法HOOK住中断。
IBM AT 规范 在什么地方可以搞到?


谢谢!
别着急,慢慢来!
starmoon
驱动小牛
驱动小牛
  • 注册日期2001-04-28
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-09-24 22:50
找 PCI Spec.和 IBM AT 规范看一下就知道了

x86 机器启里时先是调用在 0xffff0 的BIOS启动代码(和单片机一样, 都是从某个地址开始运行, 费话!)

主板BIOS的boot block 把压缩的主BIOS代码解压后把控制送给主BIOS的规定的入口, 然后检测CPU->Chipset->BUS.
...
然后把自检代码扔掉, 加载启动代码(就是自检内存后运行的东西)
在BIOS ROM 区查C000 开始 0x800 为单位, 找可用的BIOS block(显卡/网卡/SCSI卡之类的), BIOS block 以 55 AA 为标志。

显卡的BIOS因为有历史原因, 是不能改变地址的, 都是在 C000 段
其它BIOS可以改变他们的地址。 以 0x800 为单位增加。
lxf
lxf
驱动小牛
驱动小牛
  • 注册日期2001-03-26
  • 最后登录2013-05-04
  • 粉丝4
  • 关注0
  • 积分76分
  • 威望30点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-09-24 22:33
太贵了!
有没有便宜的工具软件?
有没有什么网上资源?
有没有什么书或资料?


谢谢!
别着急,慢慢来!
mach
驱动牛犊
驱动牛犊
  • 注册日期2001-04-16
  • 最后登录2004-08-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-09-24 15:20
PCI的接口是需要PCI接口芯片的,或者Xilinx的FPGA有一个软件包(很贵,大约50K US$)实现PCI接口。PCI的接口芯片有PLX等公司提供。当然严格说你自己写PCI接口也可以,但那属于你的板上的386系统上运行的软件了。386Ex的芯片是在初始时加载某个地址的指令开始执行,你的BIOS里放的就是一些指令。我所知道的都是用汇编。
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-09-24 09:46
[QUOTE]原本由 lxf 发表
[B]是吗? 太好了!
你应该知道他们除了用ASM之外,还用什么工具. 即使不知道他们用的什么工具,他们案头有些什么书你应该知道吧?

谢谢! [/B][/QUOTE]
说来真是惭愧!我到现在还没有弄明白他们是怎么让写在显卡BIOS里面的程序运行的。只是据说那段程序是在机器启动的时候你看到的那段画面,比如显示一个公司的Logo之类的,还有就是设置一些寄存器的初始化设置。应该是在主板的BIOS之前执行的。或者是主板的BIOS里面有规定,在什么时候调用一下。我是随便猜的,你可别当真。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
lxf
lxf
驱动小牛
驱动小牛
  • 注册日期2001-03-26
  • 最后登录2013-05-04
  • 粉丝4
  • 关注0
  • 积分76分
  • 威望30点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-09-23 22:48
《TMC320C3x/C4X》是关于DSP的,这些程序是在DSP上跑的,不是在HOST上跑,现在已经用5X和6X了.DSP的执行效率里确实有很多学问.

当时他们用的接口是什么,ISA还是PCI?接口方面用的什么资料?

谢谢!


别着急,慢慢来!
blue
驱动大牛
驱动大牛
  • 注册日期2001-04-25
  • 最后登录2010-10-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望12点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-09-21 10:43
案头有什么书可能对你也帮不上忙,象我们公司他们有《TMC320C3x/C4X》,对于这些芯片的汇编与8086系列汇编不一样的建议你还是用C,象Ti公司就宣称他们的 C 编译器效率可高达96%。而用ASM,虽然编译器效率高,可你的程序的效率可不见得比上C。
看到 DEVICE= HIMEM.SYS 这种语句,我就想到上学那会玩游戏,经常只有4MB内存,为了节省只好改这些语句:光驱去了,(用时再装什)么?还不够,!!@#@声.卡..也...去...了...吧,这还叫游戏吗?

lxf
lxf
驱动小牛
驱动小牛
  • 注册日期2001-03-26
  • 最后登录2013-05-04
  • 粉丝4
  • 关注0
  • 积分76分
  • 威望30点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-09-21 09:51
是吗? 太好了!
你应该知道他们除了用ASM之外,还用什么工具. 即使不知道他们用的什么工具,他们案头有些什么书你应该知道吧?

谢谢!
别着急,慢慢来!
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2001-09-21 09:32
就和写显卡bios一样?

我以前看公司的那些做显卡bios的人在写code,就想用asm是多难啊!也很想学,就拼命的想往他们那组钻,还是不成,干错另外找个庙,自己练。结果到现在还不知道他们是怎么写code的。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
游客

返回顶部