WinCE5.0显卡驱动修改笔记

2023-11-06

WinCE5.0显卡驱动修改笔记
公司前段时间让我在Geode上安装一个CE5.0,我把系统安装好之后发现显卡驱动不支持开发板的屏幕。我们的屏幕是800x480的,所以我只能自己动手写修改了一下驱动让它能够支持800x480.一下是我对驱动的修改的一些简单的笔记。

1、修改CE5.0使其支持800x480所需要修改的文件如下:
    1.1、X:/WINCE500/PLATFORM/Geodelx/Src/Drivers/Lxvideo/lxvideo.reg
    1.2、X:/WINCE500/PLATFORM/Geodelx/Src/Drivers/Lxvideo/Cimarron/cim_modes.c
具体步骤:
    2.1、注册表的修改即lxvideo.reg的修改,注册表的没有修改之前默认的值如下:
    ----
    [HKEY_LOCAL_MACHINE/Software/Geode]
    ;"Resolution"="1024 768 85"
        ;   "640 480 60"
        ;   "640 480 75"
        ;   "640 480 85"
        ;   "640 480 90"
        ;   "640 480 100"
        ;   "800 600 60"
        ;   "800 600 75"
        ;   "800 600 85"
        -----
        ;   "1280 1024 90"
        ;   "1280 1024 100"
        ;   "1600 1200 60"
        ;   "1600 1200 70"
        ;   "1600 1200 75"
        ;   "1600 1200 85"
        ;   "1600 1200 90"
        ;   "1600 1200 100"
        ;   "1920 1440 60"
        ;   "1920 1440 75"
        ;   "1920 1440 85"
   
    "Resolution"="800 600 60"
    "FrameBufferDepth"=dword:10
    "EnableCompression"=dword:1
       "ClearFrameBuffer"=dword:1
    "BackBufferSupport"=dword:1
    "EnablePanel"=dword:0
    "SimultaneousCRT"=dword:1
    "BiosInitPanel"=dword:1
    "PanelWidth"=dword:320
    "PanelHeight"=dword:258
   
    ----
    这边只列举出需要注意的地方,其他的地方可以不需要改动。其中要使得系统支持800x480需要改动的地方如下:
    "Resolution"="800 480 60"
    "EnablePanel"=dword:1
    "BiosInitPanel"=dword:0
    "PanelWidth"=dword:320
    "PanelHeight"=dword:1E0
    注*:PanelWidth和PanelHeight是用十六进制表示,即0x320=800,0x1E0=480。
修改源代码:
    修改源代码只要是为了添加新的分辨率支持,因为Geode没有支持800x480的显示,所以我们要自己添加一些参数使其支持800x480.在cim_mode.c文件中的CimarronDisplayModes[]数组中添加如下参数:
    /************************************************************************/
    /*Date;        2010 9.27    
    /*Author:    leewenchao
    /*Description:
    /*        add resolution support for 800x480
    /*
    /*
    /************************************************************************/
        /* 800x480 panel*/
        { VG_SUPPORTFLAG_60HZ  |                                       /* refresh rate = 60    */
         VG_SUPPORTFLAG_8BPP  | VG_SUPPORTFLAG_12BPP |
          VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP |
          VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP |                /* All BPP supported.   */
         VG_SUPPORTFLAG_PANEL,                                        /* Panel Mode.          */
          VG_MODEFLAG_LOW_BAND |                                       /* Low bandwidth mode.  */
          VG_MODEFLAG_PANELOUT |                                       /* Panel output.        */
          VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC,          /* negative syncs       */
        800, 480,                                                            /* No scaling.          */
        800, 480,                                            /* 800x480 active       */
        800, 480,                                         /* 800x480 panel        */
        0, 0, 0, 0, 0,                                               /* No panel registers   */
        0x0320, 0x0320, 0x0348, 0x03C8, 0x0420, 0x0420,                   /* horizontal timings   */
        0x01E0, 0x01E0, 0x01EA, 0x01EC, 0x0205, 0x020D,              /* vertical timings     */
        0, 0, 0, 0, 0, 0,                                                /* No even timings      */
        (33L << 16) | ((0000L * 65536L) / 10000L),                       /* freq = 33.0 MHz      */
        },
        /* 800x480 */
        { VG_SUPPORTFLAG_60HZ  |                                       /* refresh rate = 60    */
          VG_SUPPORTFLAG_8BPP  | VG_SUPPORTFLAG_12BPP |
          VG_SUPPORTFLAG_15BPP | VG_SUPPORTFLAG_16BPP |
          VG_SUPPORTFLAG_24BPP | VG_SUPPORTFLAG_32BPP,                 /* All BPP supported.   */
        VG_MODEFLAG_LOW_BAND |                                       /* Low bandwidth mode.  */
          VG_MODEFLAG_NEG_HSYNC | VG_MODEFLAG_NEG_VSYNC,
        800, 480,                                                    /*     .          */
        800, 480,                                        /* 800x480 active       */
        800, 480,                                     /* 800x480 panel        */
        0, 0, 0, 0, 0,                                               /* No panel registers   */
        0x0320, 0x0328, 0x0348, 0x03D0, 0x0418, 0x0420,               /* horizontal timings   */
        0x01E0, 0x01E8, 0x01EA, 0x01EC, 0x0205, 0x020D,              /* vertical timings     */
        0, 0, 0, 0, 0, 0,                                            /* No even timings      */
        (33L << 16) | ((0000L * 65536L) / 10000L),                   /* freq = 33.0 MHz      */
        },   
    这边我添加了两个表项,一个是支持VGA的显示一个是支持Panel的现实,具体这些表项的参数分别代表什么意义可以参见与cim_modes.c同目录下的cim_parm,h中关于VG_DISPLAY_MODE定义。
   
    特别提醒:
    我在做实验的时候一开始显示器总是花屏,没有办法正常显示。在AMD官方找了一些资料才知道显卡支持还分VGA和panel,他们有各自不同的消影以及同步参数,还有时钟频率。所以在cim_modes.c中我添加了两项分别是支持Panel和VGA的现实的。如果大家在做实验的过程中遇到花屏的情况也有可能是注册表表项中的"EnablePanel"以及"BiosInitPanel"参数没有设正确。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WinCE5.0显卡驱动修改笔记 的相关文章

  • 在没有 epsilon 的情况下可以将浮点数与 0.0 进行比较吗?

    我知道 要比较两个浮点值 需要使用一些 epsilon 精度 因为它们并不精确 但是 我想知道是否存在边缘情况 我不需要那个 epsilon 特别是 我想知道这样做是否总是安全的 double foo double x if x lt 0
  • ASP.NET - 在 RenderContent 调用中将事件处理程序添加到 Repeater 内的 LinkBut​​ton

    我有一个加载自定义用户控件的 Sharepoint WebPart 用户控件包含一个 Repeater 而 Repeater 又包含多个 LinkBut ton 在 Web 部件的 RenderContent 调用中 我有一些用于添加事件处
  • 如何在C中同时运行两个子进程?

    所以我开始学习并发编程 但由于某种原因我什至无法掌握基础知识 我有一个名为 fork c 的文件 其中包含一个 main 方法 在此方法中 我将 main 分叉两次 分别进入子进程 1 和 2 在孩子 1 中 我打印了字符 A 50 次 在
  • 将 dataGridView 中选定的行作为对象检索

    我有一堂这样的课 public partial class AdressBokPerson public long Session get set public string F rnamn get set public string Ef
  • 无法加载程序集问题

    我收到以下错误 无法加载程序集 错误详细信息 System BadImageFormatException 无法加载文件或程序集 文件 或其依赖项之一 该程序集是由比当前加载的运行时更新的运行时构建的 无法加载 该程序集是使用 Net Fr
  • Linq 合并列表

    我的课 public class Foo public int A get set public List
  • 如何自定义 Google 测试失败消息?

    我编写了一个如下所示的 Google 测试 它将一些计算值与 CSV 文件中预期存储的值进行比较 class SampleTest public testing Test public void setupFile const std st
  • 在c#中获取没有时间的日期

    我的表上有一列 缺勤日期时间 日期 当我想要获取包含日期的行时 它返回 0 行 这是我的 C 代码 DateTime ClassDate DateTime Parse lblDate Content ToString var Abs dbs
  • 调用异步方法在视图模型的构造函数中加载数据有警告

    我的视图包含一个 ListView 它显示来自互联网的一些数据 我创建一个异步方法来加载数据并在我的视图模型的构造函数中调用该方法 它有一个警告提示我现在使用await关键字 还有其他解决方案可以在构造函数中异步加载数据吗 有几种可以应用的
  • 处理“未找到细胞”。 Excel 中的错误

    我正在使用 Excel VSTO 应用程序并使用以下代码在工作表中查找错误单元格 Excel Range rngTemp Excel Range rngErrorRange Excel Worksheet Sheet1 Excel Work
  • 我在使用 ado.net 时收到错误 Argument 2 may not be pass with ref keywords

    int t 0 cmd Parameters AddWithValue Res ref t 我在第二行收到错误 参数 2 不能与 ref 关键字一起传递 您只能通过引用传递参数ref if the 范围 is a ref参数也是如此 Add
  • 如何从外语线程调用Python函数(C++)

    我正在开发一个程序 使用 DirectShow 来抓取音频数据 媒体文件 DirectShow 使用线程将音频数据传递给回调 我的程序中的函数 然后我让该回调函数调用另一个函数 Python 中的函数 我使用 Boost Python 来包
  • 您对“大规模 C++ 软件设计”的看法 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 正在阅读亚马逊评论 https rads stackoverflow com amzn click com 0201633620 and ACC
  • 在 C# 中使用命名空间别名有什么好处? [复制]

    这个问题在这里已经有答案了 使用命名空间别名有什么好处 仅仅是为了简化编码吗 仅当与类发生冲突时我才使用名称空间别名 对我来说 这根本没有简化 我的意见是 如果没有必要 就不要使用
  • 当需要不同数量和类型的参数时如何创建操作委托列表

    我们有一组大约两打的类 它们继承自具有抽象 Validate 方法的基类 当然 每个类都有不同的验证需求 但它们之间的不同组合需要规则 因此 正如您可以想象的那样 这导致了大量代码重复 例如 A 类需要规则 1 3 6 和 9B 类需要规则
  • DataGridView 行背景颜色没有改变

    我想根据加载时的特定条件更改 DGV 行的背景颜色 即使在 Windows 窗体中也是如此 但我看不到任何 DGV 行的颜色有任何变化 谁能告诉我如何解决这个问题 private void frmSecondaryPumps Load ob
  • 传递数组时在 C 中的函数参数中强制指定数组大小

    Context 在 C 中 我有一个以数组作为参数的函数 该参数用作该函数的输出 输出的大小始终相同 我会 让阅读代码的人清楚所需的大小 不过它已经在函数注释中了 理想情况下 编译会输出警告或错误 这样我就可以在编译时而不是运行时防止出现问
  • 如何将System.Windows dll添加到Visual Studio 2010 Express?

    我正在开发一个小型应用程序C and VS2010 as IDE with NET框架4 我想用CaptureSource类以便从笔记本电脑的网络摄像头捕获视频 为此我需要添加一个命名空间System Windows DependencyO
  • 如何从 Access 数据库中读取“是/否”值作为布尔值?

    帮我找回YES NO来自 MS Access 的布尔格式数据类型 我尝试解析它 但它总是返回 false 更新 实际上不是问题抱歉 它确实接受 YES NO 作为布尔值 OleDbconnection dbConnect new OleDb
  • 卸载程序

    我正在尝试使用此代码卸载程序 但它似乎不起作用 我尝试过其他答案 但似乎也不起作用 有人可以帮助我吗 我正在尝试按给定名称 displayName 卸载该程序 例如 我给出 displayName Appname 那么此代码应该从我的计算机

随机推荐

  • 情人节-动态爱心背景(html5+css+js)

    一 效果图 二 源代码
  • GDAL对TIF创建内建金字塔一个问题

    gdalwarp输出tif图像的时候 默认如果没有使用BIGTIFF YES选项 则会根据输出影像的大小进行判断 低于4G则不适用bigtiff格式 对于非bigtiff图像 如果这时候使用gdaladdo创建金字塔 内建模式 如果出现了文
  • SQL——游标

    非原创 东拼西凑来的 游标 cursor 是一个存储在MySQL服务器上的数据库查询 它不是一条SELECT语句 而是被该语句检索出来的结果集 在存储了游标之后 应用程序可以根据需要滚动或浏览其中的数据 游标主要用于交互式应用 其中用户需要
  • 业务安全及实战案例

    业务安全 关于漏洞 注入 业务逻辑 信息泄露 A04 2021 Insecure Design 在线靶场PortSwigger 1 概述 1 1 业务安全现状 1 1 1 业务逻辑漏洞 近年来 随着信息化技术的迅速发展和全球一体化进程的不断
  • php读写excel文件

    1 引入包 有不少提供读写excel文件的包 这里选择比较常用的一个 加到自己的项目里就好了 phpoffice phpspreadsheet 1 8 2 2 读取文件
  • Android中的USB中的UsbAccessory和UsbDevice的区别

    转载自 http www crifan com android usb usbaccessory vs usbdevice utm source tuicool utm medium referral UsbAccessory和UsbDev
  • MySQL更新表的记录详解

    目录 前言 前言 一 更新数据记录 1 特定数据记录 2 所有数据记录 总结 前言 更新数据记录是数据操作中常见的操作 可以更新表中已经存在数据记录中的值 在MySQL中可以通过UPDATE语句来实现更新数据记录 该SQL语句可以通过如下几
  • 5个炫酷登录页面,拿去就能用(附源码)

    5个炫酷登录页面 拿去就能用 附源码 登录页面 觉得显示效果很好 借鉴其他博主的 喜欢的可以收藏关注 不商用 只为学习传播 目录 1 炫酷星空登录 2 动态云层登录 3 深海灯光水母登录 4 炫酷蛛网登录 5 彩色气泡登录 1 炫酷星空登录
  • 响应式网页设计(Responsive Web Design)的核心原理

    聚沙成塔 每天进步一点点 专栏简介 响应式网页设计的核心原理 优点和缺点 优点 缺点 写在最后 专栏简介 前端入门之旅 探索Web开发的奇妙世界 欢迎来到前端入门之旅 感兴趣的可以订阅本专栏哦 这个专栏是为那些对Web开发感兴趣 刚刚踏入前
  • CVE-2022-26134 Confluence OGNL RCE 复现

    一 漏洞概述 Atlassian Confluence 是一款各企业广泛使用的 wiki 系统 在Atlassian Confluence Server and Data Center上存在OGNL 注入漏洞 远程攻击者在未经身份验证的情况
  • Servlet之间传递数据

    转自 http jallay iteye com blog 256004 1 如何让用户的请求数据从一个Servlet传递给另一个Servlet 第一种方式 通过超链接传递数据 第二种方式 通过表传递取参数 第三种方式 通过setAttri
  • 『数据结构』B树(B-Tree)及其变体 B+树,B*树

    原文地址 1 背景 当有大量数据储存在磁盘时 如数据库的查找 插入 删除等操作的实现 如果要读取或者写入 磁盘的寻道 旋转时间很长 远大于在 内存中的读取 写入时间 平时用的二叉排序树搜索元素的时间复杂度虽然是 O log2n O l o
  • BBR拥塞算法的简单解释

    TCP BBR的ACM论文中 开篇就引入了图1 以此来说明BBR算法的切入点 为何当前基于丢包探测的TCP拥塞控制算法还有优化空间 BBR算法的优化极限在哪儿 图1 为了理解这张图花了我整整一个晚上的时间 它使我重新审视了所有基础概念 而我
  • vue2.js初探

    今天学习了一下vue2 js 感觉很好用 一个是把相同的功能组件化了 把他定义一个标签 不用多次开发重复的代码 直接加标签就可以了 还有就是他把数据和标签的显示修改完全分开了 之前用jQuery开发 如果数据变动了 需要用jquery回调事
  • 计算机网络第八版——第一章课后题答案(超详细)

    第一章 该答案为博主在网络上整理 排版不易 希望大家多多点赞支持 后续将会持续更新 可以给博主点个关注 第二章 答案 1 01 计算机网络可以向用户提供哪些服务 解答 这道题没有现成的标准答案 因为可以从不同的角度来看 服务 首先要明确的是
  • ThreadX 内部系统时钟服务

    ThreadX中 有两个函数可以获取和设置内部系统时钟服务 tx time get 获取当前时间 tx time set 设置当前时间 tx time get 获取当前时间 原型 ULONG tx time get VOID 描述 这项服务
  • VUE安装问题

    启动应用 npm run serve 默认进入为 http localhost 8080 由于部署在虚拟化linux上 需远程访问 需将localhost修改为服务器IP 1 修改package json 新增host 0 0 0 0 2
  • 【Flutter 系列——1】Flutter环境搭建及配置这一篇就够了(Windows)

    最近正式入坑Flutter 首先从环境搭建开始 看了网上好多关于Windows环境搭建的资料 基本都是按官方文档写的 看完的感受是 还不如直接去看官方文档 官方英文文档传送门 Get Started Install on Windows 本
  • 数据要素流通视角下数据安全保障研究报告

    报告围绕数据要素流通视角下流通数据 流通活动 流通设施的安全需求 分析健全我国数据安全保障体系的推进思路 并从分类分级 流通环境 安全技术 协同共治等方面提出措施建议 为完善我国数据要素流通视角下数据安全保障提供有益参考与借鉴 关注公众号
  • WinCE5.0显卡驱动修改笔记

    WinCE5 0显卡驱动修改笔记公司前段时间让我在Geode上安装一个CE5 0 我把系统安装好之后发现显卡驱动不支持开发板的屏幕 我们的屏幕是800x480的 所以我只能自己动手写修改了一下驱动让它能够支持800x480 一下是我对驱动的