科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件PCI设备初始化

PCI设备初始化

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

比如IDE硬盘、软盘、USB、键盘、鼠标等等,这样就需要一样东西把这些设备转换才能连接到PCI局部总线上,

作者:caimouse 来源:CSDN 2008年1月22日

关键字: 初始化 设备 PCI Linux

  • 评论
  • 分享微博
  • 分享邮件
目前在个人电脑里,主板上使用局部总线技术把不同的设备连接在一起,这样就可以随时添加设备到总线上。比如主板上一般都有很多PCI插槽,可以插入显示卡、声卡、网卡以及符合PCI总线标准的其它设备。当然,还有很多低速的外围设备不能直接跟PCI局部总线相连接的,比如IDE硬盘、软盘、USB、键盘、鼠标等等,这样就需要一样东西把这些设备转换才能连接到PCI局部总线上,这个东西就是南桥的芯片。在龙芯电脑里采用的南桥是VT82C686,在汇编已经初始化它的串口输出,在这里会更进一步初始化其它功能。现在就来看代码,分析它怎么样实现的。如下:
 
void
tgt_devinit()
{
    SBD_DISPLAY("686I",0);
 
    vt82c686_init();
上面调用函数进行南桥更进一步初始化。
 
    /*
    * Gather info about and configure caches.
    */
    if(getenv("ocache_off")) {
       CpuOnboardCacheOn = 0;
    }
    else {
       CpuOnboardCacheOn = 1;
    }
    if(getenv("ecache_off")) {
       CpuExternalCacheOn = 0;
    }
    else {
       CpuExternalCacheOn = 1;
    }
上面根据环境变量来选择缓存的配置。
 
 
    CPU_ConfigCache();
上面缓存配置。
 
 
    _pci_businit(1); /* PCI bus initialization */
上面进行PCI局部总线上的设备初始化。
 
 
}
 
先来仔细地分析更进一步初始化南桥的功能,它的代码如下:
void vt82c686_init(void)
{
    initSerial();
上面初始化串口。
 
    init_keyboard();
上面初始化键盘输入。
 
    initIDE();
上面初始化IDE硬盘。
 
    initIRQ();
上面初始化外面中断请求。
 
    //disable_usb();
    enable_io_decode();
上面设置IO开始启用。
 
    initUSB();
上面初始化USB主设备。
 
}
 
 
查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章