ridewind
驱动牛犊
驱动牛犊
  • 注册日期2004-08-28
  • 最后登录2011-10-11
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望96点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:3933回复:6

请教:PowerPC 下 CT69000显卡驱动的问题 谢谢

楼主#
更多 发布于:2005-04-28 16:53
请教:PowerPC 下 CT69000显卡驱动的问题  谢谢

正在做Tornaodo2.2  ML3.0下的PowerPC显卡驱动,采用CT69030 PCI显卡,把代码移植到PowerPC下,修改相关端口地址编译,执行初始化完成后屏幕总是没有显示。 我很困惑~~~~~~~哪位大侠帮帮忙啊~~~~~指点一二.... 我把这段代码放到x86上是正常的,但powerpc上一点反应都没有。 其中一个写DAC使能寄存器的地方(端口地址:0x4007AD,数据端口0x0f ),写入和读出的数据不一样。不知道这个地方是否会造成没有显示?  如果显卡没有输出使能,是不是也会没有显示??

谢谢大家指点!!



http://embed.isgreat.org
liuhaifeng0209
驱动牛犊
驱动牛犊
  • 注册日期2007-01-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-06-25 19:05
Re:请教:PowerPC 下 CT69000显卡驱动的问题  谢谢
朋友您好!
  我在驱动程序开发网上看到您的信息。
  我也在做Tornado2.2下CT69000的驱动问题。修改了设置后,windML3.0 可以对CT69000支持,但是其访问寄存器的方式为I/O方式,我想知道其I/O基地址的定义和寄存器内存访问方式中,内存的基地址是否就是其在PCI配置空间中读出的内存基地址,还需要不需要进行地址映射。望,指教。不胜感激!
finalseraph
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2018-05-30
  • 粉丝0
  • 关注0
  • 积分-11分
  • 威望146点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2007-07-14 18:19
Re:请教:PowerPC 下 CT69000显卡驱动的问题  谢谢
引用第0楼ridewind于2005-04-28 16:53发表的 请教:PowerPC 下 CT69000显卡驱动的问题  谢谢 :
请教:PowerPC 下 CT69000显卡驱动的问题  谢谢

正在做Tornaodo2.2  ML3.0下的PowerPC显卡驱动,采用CT69030 PCI显卡,把代码移植到PowerPC下,修改相关端口地址编译,执行初始化完成后屏幕总是没有显示。 我很困惑~~~~~~~哪位大侠帮帮忙啊~~~~~指点一二.... 我把这段代码放到x86上是正常的,但powerpc上一点反应都没有。 其中一个写DAC使能寄存器的地方(端口地址:0x4007AD,数据端口0x0f ),写入和读出的数据不一样。不知道这个地方是否会造成没有显示?  如果显卡没有输出使能,是不是也会没有显示??

谢谢大家指点!!
.......


我自己在X86下尝试将原始驱动中的I/O方式修改为PCI MAP IO方式,没有什么问题,可以正常驱动!驱动本身应该没什么问题。你可以在完成模式设置后手动访问显存映射空间。当然,这时要确认显示器状态正常,显卡被正确的设定模式。
finalseraph
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2018-05-30
  • 粉丝0
  • 关注0
  • 积分-11分
  • 威望146点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2007-07-14 18:23
Re:Re:请教:PowerPC 下 CT69000显卡驱动的问题  谢谢
引用第1楼liuhaifeng0209于2007-06-25 19:05发表的 Re:请教:PowerPC 下 CT69000显卡驱动的问题  谢谢 :
朋友您好!
  我在驱动程序开发网上看到您的信息。
  我也在做Tornado2.2下CT69000的驱动问题。修改了设置后,windML3.0 可以对CT69000支持,但是其访问寄存器的方式为I/O方式,我想知道其I/O基地址的定义和寄存器内存访问方式中,内存的基地址是否就是其在PCI配置空间中读出的内存基地址,还需要不需要进行地址映射。望,指教。不胜感激!


原始驱动采用X86下经典的纯IO方式,以PCI MEMIO MAP方式,是需要从配置空间读入映射基址然后根据手册中相应偏址进行访问的
liuhaifeng0209
驱动牛犊
驱动牛犊
  • 注册日期2007-01-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-07-18 16:09
Re:请教:PowerPC 下 CT69000显卡驱动的问题  谢谢
您好:
  看了您回复的帖子,我现在把寄存器的初始化方式改变为了内存访问方式,现在可以访问显卡上的
frambuffer,利用其ugldemo函数也是可以跑的,并且在函数跑的过程中,我去读他的fuambuffer可以看到有数据在变化,中间没有任何错误出来。问题是,我的显示器上一直都没有输出,我用的是DVI口的液晶显示器,是不是换个CRT显示器会有输出呢?很困惑,不知道现在的问题出在那里,是我的寄存器初始化的错误么?需要改成内存方式的话,大概都要改哪几个文件?希望您可以给予指点。
  谢谢!
finalseraph
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2018-05-30
  • 粉丝0
  • 关注0
  • 积分-11分
  • 威望146点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2007-07-31 19:29
Re:Re:请教:PowerPC 下 CT69000显卡驱动的问题  谢谢
引用第4楼liuhaifeng0209于2007-07-18 16:09发表的 Re:请教:PowerPC 下 CT69000显卡驱动的问题  谢谢 :
您好:
  看了您回复的帖子,我现在把寄存器的初始化方式改变为了内存访问方式,现在可以访问显卡上的
frambuffer,利用其ugldemo函数也是可以跑的,并且在函数跑的过程中,我去读他的fuambuffer可以看到有数据在变化,中间没有任何错误出来。问题是,我的显示器上一直都没有输出,我用的是DVI口的液晶显示器,是不是换个CRT显示器会有输出呢?很困惑,不知道现在的问题出在那里,是我的寄存器初始化的错误么?需要改成内存方式的话,大概都要改哪几个文件?希望您可以给予指点。
  谢谢!


你得先确定显示器状态!一般CRT是有黄灯表明无信号输入;绿灯表明有信号输入。如果是无信号输入,说明你的寄存器初始化可能有问题,如果是有信号,但黑屏,你可以通过显示器看看当前模式是否正确后再仔细确认framebuffer操作是否正确。ppc应该是big endian了,要注意寻址增长方向吧...
scjchina
驱动牛犊
驱动牛犊
  • 注册日期2006-10-19
  • 最后登录2007-10-13
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-08-31 09:35
Re:请教:PowerPC 下 CT69000显卡驱动的问题  谢谢
关注,我在ppc下开发tnt2显卡驱动碰到同样问题,我尝试手动访问显卡寄存器,发现显卡寄存器可读写但是没用正常工作,我怀疑是地址映射出了问题。查了好多资料且做了测试发现:
1、在x86下显卡会在系统启动时由显卡上的vga bios初始化,之后0x3b0~0x3bb 0x3c0~0x3df的I/O空间就可以直接访问并且常工作了,然后正确访问framebuff就可以工作了。
2、在ppc下和非x86平台下,没有bios的这套机制,在linux系统下提供x86emu仿真x86 的bios行为读取显卡上的vga bios并且调用vga bios的初始化程序完成显卡初始化。
3、在vxworks下要能驱动显卡有两件事可以做a、找到显卡芯片手册,正确完成地址映射,自己编写程序初始化显卡到可访问状态,然后移植驱动程序;b、找到类似x86emu的中间件,完成地址映射,初始化显卡到可访问状态,然后移植驱动程序。
现在我的问题是找不到tnt2 m64的芯片手册,也没有找到能在vxworks下使用的类似x86emu的中间件,如果有经验或资料的希望能共享,谢谢!scjchina@sac-china.com scjchina_4544@qq.com
游客

返回顶部