WinCE下的LCD调试帮手,OAL的全速调节和测试

   
在实际项目中,平常会基于区别应用配备分歧大小的LCD。所以必要针对差异的LCD,调节相应的参数。方今的1个类别,先后用了⑤ 、⑥ 、7和8寸屏,分辨率都以800*480。由于显得驱动是地面驱动,不可知动态卸载和加载。而在同样分辨率的动静下,区别的LCD仅仅是应和的行场同步参数区别。所以,为了有利于调节和测试,针对TCC89阳台做了个LCD调节和测试帮手,可以在应用程序中平素改动行场同步参数,实时调节和测试LCD。为了注明参数的正确,简单做了3个用来测试的界面。

     前文分析了S3C2410 WinCE6.0
OAL的运维代码,本文接着介绍OAL的移植进程。在继续在此以前,再显明一下WinCE6.0
OAL的功效。在WinCE6.0中,OAL首先起了介绍的效能,这点可从其运转代码看出来。第3个作用,暴光一些OEM函数供Kernel调用,具体什么函数由OEMGLOBAL决定。为了方便BSP的升级,6.0为主保存了原本的函数结构。所以,我们得以接纳5.0的BSP为参考,将其移植到6.0上来。PB6.0的设置目录中也包蕴一些BSP,其中DeviceEmulator就是模拟S3C2410平台。所以,大家也得以此为参考。总之,OAL代码的来源不成难点。难题是什么快速编写翻译这一个代码,并证实其正确。本文将详细介绍神速调节和测试OAL的方式。
     首先Clone贰个BSP,命名为2410Tiny。假若从5.0的BSP移植,必要修改相应的目录结构,在6.0中不存在CEC文件,须求做转换。Clone完结后的BSP如下图所示:
                    图片 1  
     在那之中CATALOG目录中存放的是2410Tiny.pbcxml,它是CE6.0中BSP的团体文件,类似5.0中的CEC文件。
      CESYSGEN存放了一个Makefile文件。
      FILES目录存放了平台对应的配置文件如BIB、REG等。那里大家将platform.bib和platform.reg中的内容清空,注意是清空!Config.bib的始末确定保证准确。
 删除SCR-VC目录下的Drivers 目录,并修改dirs文件,去掉Drivers行。如下图所示:
                   图片 2  
      至此,2410Tiny的BSP准备完结,用此BSP定制二个OSDesign。在选用模板时选Custom
Device(第一项),然后径直点击达成,截至向导。进入阳台属性页进行设置,如下图所示:
                    图片 3  
     达成后,在Catalog Items中当选CEDB Database
Engine项(笔者起来没选择该项,结果编写翻译出了一堆错误,将该项选中后,重新编写翻译,就顺手经过了。)点击编写翻译按钮开端编写翻译系统。
     等它编写翻译着啊,我们继续往下看。之所以能把S奥迪Q3C目录下的Drivers删除,是因为咱们前日还处在调节和测试OAL的级差,能够近期不考虑Drivers。只要有OAL和KE福睿斯NEL,WinCE就能跑起来。从那个角度来说,作者认为OAL用来抹平MCU的异样,而Drivers则是抹平外围设备的异样。
     大概10分钟后,编写翻译达成了,最后生成的NK.bin文件有3M多,如下图所示:
             图片 4     
     那时,大家得以运营BOOTLOADE汉兰达,完结相关安排后下载该NK.bin文件,如下图所示:
               图片 5 
     3M多的NK,下载要求14秒左右。由于启用了KITL,所以最后在Debug
Output中见到WinCE运行的连带音讯,如下图所示:
           
               图片 6 
     未来大家能够用PB6.0的Debug工具举办简要调节和测试。先用Target
Control查看系统运转的进程:               
               图片 7  
     可以看出,如今WinCE6.0只运转了三个经过,NK.exe对应的就是我们的OAL.exe!再看看线程和模块的事态:
               
               图片 8  
     至此,能够认为WinCE6.0的OAL已经足以健康工作。就算调节和测试时出现难点,只需重新BUILD
2410Tiny的BSP目录,而无须重新编译整个类别,那也会省下过多年华。我移植的时候,那里只改了少量代码,就调节和测试通了。
     接下来,编2个简短的应用程序,在那简陋的WinCE6.0上测试一下,如下图所示:
            
               图片 9 
                  
               图片 10 
               
               图片 11 
               图片 12     

  
LCD调节和测试帮手的界面如下图所示,首要提供了三种已知LCD的参数,并能够任意修改当中的一点项。
图片 13

               
     编译该工程,点击菜单Run
Programs,弹出相应的对话框,如下图所示:               
                    图片 14 
     点击Run按钮后,再查看进程音信,如下图所示:                     
                    图片 15     

   近日合龙了各类分裂型号的LCD参数设置,如下图所示。
图片 16

     Debug Output中也油不过生了相应的打字与印刷音信:
                    图片 17 
     在Control Target中用KP的吩咐杀掉进度,如下图所示:
                     
                    图片 18     
     通过地点的测试,我们能够认为那几个简陋的WinCE6.0基本能及格了,接下去可以移植驱动程序,一样的战术——各样击破,一般的话先移植LCD驱动,那样我们就能在温馨的板上看到WinCE6.0的界面。相信广大人见状那界面时,仍旧蛮有成就感的。
     本文紧要介绍了经过修改BSP、定制微内核,完毕神速调节和测试OAL的法门,并在此基础上编制应用程序简单测试该系列。文中有不当之处,请您斧正。谢谢。

    
用于测试参数正确性的界面如下图所示,以一个像素的增长幅度画了三个矩形框。通过观看其在LCD上的呈现效果,很不难就能断定出当下参数是不是科学。

图片 19

   
此外,那几个小工具须要利用WinCE桌面助手球协会助调节和测试,因为假设设置的参数与LCD对应的参数差异,就很难在LCD上通过触摸屏修改参数,而不得不用WinCE桌面助手远程修改。

   
有了那些小工具,在调节和测试LCD的经过中有益广大,无须编写翻译BOOT或是水源,就能印证参数是不是正确,提升了调节的效能。