2007年01月
随着计算机技术的发展,技术越来越先进了,具有强劲3D运算的显示卡和大容量低价内存的到来,要进入第三代操作系统开发了。阅读全文>
发表于 @ 2007年01月29日 13:03:00|评论(loading...)|编辑
龙芯BIOS的最终目的,还是需要加载一个更好的操作系统。当你在启动时不按下任何按键,pmon就会自动地加载缺省设置的操作系统。阅读全文>
发表于 @ 2007年01月26日 22:21:00|评论(loading...)|编辑
如果你的记性好,也许看到前面有一些键盘初始化了,但那里的初始化是设置南桥接收键盘数据输入和输出而已,只是一个接口,或者是一个代理。在这里才是开始真正初始化键盘,让键盘工作在合适的方式。在电脑里,显示卡输出信息给人看,而键盘扮演着另一个角色,就是让人们可以输入东西,控制电脑做各种各样的事情。虽然电脑的历史也有60年了,并且技术也在飞速地发展,但是键盘还是作为重要的输入方式。希望我们大家能发明一种更好的输入方式,语音输入?还是脑电波输入?也许很快就到来。阅读全文>
发表于 @ 2007年01月25日 23:42:00|评论(loading...)|编辑
在上一次里,已经说到初始化网络,在那里提到调用一个函数tgt_devconfig来初始化其它重要的设备。这其中就有一个重要的设备要初始化的,它就是显示卡。下面就来仔细地阅读这个函数的代码阅读全文>
发表于 @ 2007年01月24日 21:47:00|评论(loading...)|编辑
现在的世界,都是网络的世界了。没有网络是不可想像的,失去太多激动人心的时刻。没有网络,就不可能方便地交流数据,BLOG也不可发达到目前这种程度。就是在PMON的调试里,使用网络也是非常方便的。比如想开发PMON运行的程序,就可以使用网络加载,比如TFTP加载程序。这样就不用每次去写硬盘,或者写到其它地方去,只要把网络连接好,就可以在其它机器里编译,然后通过网络把程序放到目标机器里运行了,这样做会大大地加快调试程序的进度。现在就来分析PMON里的网络功能部分。
阅读全文>
发表于 @ 2007年01月23日 22:15:00|评论(loading...)|编辑
上面继续初始化南桥之后,再接着下来,就要初始化PCI总线上其它的设备了。阅读全文>
发表于 @ 2007年01月16日 00:37:00|评论(loading...)|编辑
在深圳,今年的冬天来得特别迟,比往年都显得异常暖和,但前几天一股寒冷的北风吹来,猛烈地狂扫华南,好像在提醒人们冬天来了,深圳电视台也特别地播放气象台发布的寒冷警告。忙忙忙碌碌的深圳,快节奏的生活,人们好像不在意这些变化。阅读全文>
发表于 @ 2007年01月11日 14:16:00|评论(loading...)|编辑
目前在个人电脑里,主板上使用局部总线技术把不同的设备连接在一起,这样就可以随时添加设备到总线上。比如主板上一般都有很多PCI插槽,可以插入显示卡、声卡、网卡以及符合PCI总线标准的其它设备。当然,还有很多低速的外围设备不能直接跟PCI局部总线相连接的,比如IDE硬盘、软盘、USB、键盘、鼠标等等,这样就需要一样东西把这些设备转换才能连接到PCI局部总线上,这个东西就是南桥的芯片。在龙芯电脑里采用的南桥是VT82C686,在汇编已经初始化它的串口输出,在这里会更进一步初始化其它功能。现在就来看代码,分析它怎么样实现的阅读全文>
发表于 @ 2007年01月11日 00:05:00|评论(loading...)|编辑
由于不同的主板,芯片配置的不一样,因此参数也不一样,那么就要保存一些参数在Flash里面,以便配置硬件。阅读全文>
发表于 @ 2007年01月08日 21:55:00|评论(loading...)|编辑
继续分析原来的代码,现在已经进入一个比较重要的函数dbginit(),因此这个函数相当复杂的功能调用。阅读全文>
发表于 @ 2007年01月07日 19:44:00|评论(loading...)|编辑
前面已经介绍进入C语言世界,就会实现更多的功能,支持更多的应用。现在就来仔细地分析源程序,并且理解各部份功能实现。阅读全文>
发表于 @ 2007年01月06日 23:43:00|评论(loading...)|编辑
经历了漫长的汇编之路,最终走到光明的C世界了,进入高级语言环境,会让开发更方便,写更少的语句就可以实现更多的功能。从这里开始,就初始化PCI局部线所有设备,初始化南桥所有的功能,初始化IDE硬盘,初始化网络,初始化显示卡,并进入响应命令阶段。阅读全文>
发表于 @ 2007年01月05日 23:25:00|评论(loading...)|编辑
前面已经初始化内存和龙芯的缓存,那么现在已经差不多把新房子已经建立好了,要进入新房居住了。在SDRAM里的存取速度比ROM里快很多,并且可以随时修改数据,而在ROM是不能修改的,就算可以修改,也是非常慢的。阅读全文>
发表于 @ 2007年01月04日 22:36:00|评论(loading...)|编辑
自从RISC类型的CPU开发出来以后,拥有缓存的CPU已经越来越普遍了,从嵌入式的CPU到桌面通用的CPU,或者大型机群的CPU,都具有大量的缓存。由于很多程序都具有局部循环特性,使用缓存就可以大大地提高CPU效率。阅读全文>
发表于 @ 2007年01月03日 22:13:00|评论(loading...)|编辑
前面已经介绍通过读取内存条上的EEPROM来获取内存配置参数的,现在来仔细地分析这段代码是怎么样实现的。阅读全文>
发表于 @ 2007年01月02日 12:37:00|评论(loading...)|编辑
任何人在搬家前,都需要把新房子修建好,然后再经过装修才能住到新房子里,然而这里的启动程序也不例外,需要把自己的房子先修好,并且通过装修才会住进里面。当然,程序所需要的房子,不是普通的房子,而是内存空间。由于在ROM运行的速度都是比较慢,并且空间有限,不能随时更改ROM里的内容。同时为了下一阶段作好准备,就需要把ROM里的引导程序搬到内存里运行。但是SDRAM在加电后,并不能立即使用,需要进行初始化,设置好参数才能保存数据。比如设置内存的刷新时间,如果设置时间不对,SDRAM就不能保存数据,以前我就有设置不对的参数,导致拷贝到内存的数据很快就丢失了。阅读全文>
发表于 @ 2007年01月01日 01:04:00|评论(loading...)|编辑