阅读:2135回复:10
关于我所知道的驱动的发展.
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] |
|
|
沙发#
发布于:2004-07-06 22:45
EFI来了,在bios里用c写驱动已经是事实。
|
|
板凳#
发布于:2001-09-24 23:02
有道理!
PCI Spec里说得不是很详细,又没有例子,我只能用它完成初始化, 没有办法HOOK住中断。 IBM AT 规范 在什么地方可以搞到? 谢谢! |
|
|
地板#
发布于: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 为单位增加。 |
|
地下室#
发布于:2001-09-24 22:33
太贵了!
有没有便宜的工具软件? 有没有什么网上资源? 有没有什么书或资料? 谢谢! |
|
|
5楼#
发布于:2001-09-24 15:20
PCI的接口是需要PCI接口芯片的,或者Xilinx的FPGA有一个软件包(很贵,大约50K US$)实现PCI接口。PCI的接口芯片有PLX等公司提供。当然严格说你自己写PCI接口也可以,但那属于你的板上的386系统上运行的软件了。386Ex的芯片是在初始时加载某个地址的指令开始执行,你的BIOS里放的就是一些指令。我所知道的都是用汇编。
|
|
6楼#
发布于:2001-09-24 09:46
[QUOTE]原本由 lxf 发表
[B]是吗? 太好了! 你应该知道他们除了用ASM之外,还用什么工具. 即使不知道他们用的什么工具,他们案头有些什么书你应该知道吧? 谢谢! [/B][/QUOTE] 说来真是惭愧!我到现在还没有弄明白他们是怎么让写在显卡BIOS里面的程序运行的。只是据说那段程序是在机器启动的时候你看到的那段画面,比如显示一个公司的Logo之类的,还有就是设置一些寄存器的初始化设置。应该是在主板的BIOS之前执行的。或者是主板的BIOS里面有规定,在什么时候调用一下。我是随便猜的,你可别当真。 |
|
|
7楼#
发布于:2001-09-23 22:48
《TMC320C3x/C4X》是关于DSP的,这些程序是在DSP上跑的,不是在HOST上跑,现在已经用5X和6X了.DSP的执行效率里确实有很多学问.
当时他们用的接口是什么,ISA还是PCI?接口方面用的什么资料? 谢谢! |
|
|
8楼#
发布于:2001-09-21 10:43
案头有什么书可能对你也帮不上忙,象我们公司他们有《TMC320C3x/C4X》,对于这些芯片的汇编与8086系列汇编不一样的建议你还是用C,象Ti公司就宣称他们的 C 编译器效率可高达96%。而用ASM,虽然编译器效率高,可你的程序的效率可不见得比上C。
看到 DEVICE= HIMEM.SYS 这种语句,我就想到上学那会玩游戏,经常只有4MB内存,为了节省只好改这些语句:光驱去了,(用时再装什)么?还不够,!!@#@声.卡..也...去...了...吧,这还叫游戏吗? |
|
9楼#
发布于:2001-09-21 09:51
是吗? 太好了!
你应该知道他们除了用ASM之外,还用什么工具. 即使不知道他们用的什么工具,他们案头有些什么书你应该知道吧? 谢谢! |
|
|
10楼#
发布于:2001-09-21 09:32
就和写显卡bios一样?
我以前看公司的那些做显卡bios的人在写code,就想用asm是多难啊!也很想学,就拼命的想往他们那组钻,还是不成,干错另外找个庙,自己练。结果到现在还不知道他们是怎么写code的。 |
|
|