龙芯软件开发(23)-- PCI设备初始化

本文详细介绍了龙芯电脑中南桥芯片VT82C686的初始化过程,包括串口、键盘、IDE硬盘及USB等设备的初始化,并讨论了如何根据环境变量配置缓存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前在个人电脑里,主板上使用局部总线技术把不同的设备连接在一起,这样就可以随时添加设备到总线上。比如主板上一般都有很多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主设备。
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值