(1).本课题基于博创嵌入式开发平台UP-NET ARM3000进行工作。基于ARM7架构的嵌入式芯片Samsung3C44B0x芯片;8MB SDRAM,1MB线性Flash、16MB非线性Flash; 接口丰富:串口、USB等; 键盘输入,320´240分辨率16级灰度LCD显示; 10M以太网口,支持TCP/IP协议;触摸屏; 预留A/D、I/D、SPI、I2C、I2S等总线接口。
(2).本课题基于VxWorks软件平台进行工作。VxWorks是Wind River公司开发的为实时嵌入式系统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中断管理,实时的系统资源以及实时的任务间通信.VxWorks的特点:可靠性,操作系统的用户希望在一个工作稳定,可以信赖的环境中工作,所以操作系统的可靠性是用户首先要考虑的问题。而稳定、可靠一直是VxWorks的一个突出优点;实时性,实时性是指能够在限定时间内执行完规定的功能并对外部的异步事件作出响应的能力;可裁减性,用户在使用操作系统时,并不是操作系统中的每一个部件都要用到。
(3).利用VxWorks的集成开发环境Tornado的主机仿真功能,可以脱离硬件环境,进行图形界面的设计和调试。
(4).本课题使用WindML图形库来设计图形界面。WindML即Wind Media Library(媒体库),它支持多媒体程序运行于嵌入式操作系统,风河公司设计它主要是用来提供基本的图形、视频和声频技术以及提供一个设计标准设备驱动程序框架。
(5).课题硬件平台直接使用S3C44B0X的LCD接口驱动彩色液晶显示。
(6).课题针对S3C44B0X的LCD接口和定制的液晶屏,设计WindML图形驱动程序。驱动程序的框架必须符合WindML的规范,可以参考已有的驱动代码进行代码设计。
(7).为了和实际硬件平台采用的液晶屏相一致(颜色数和尺寸),需要定制修改主机仿真环境下的图形驱动代码,主要是定制一种新的显示模式。
(8).课题硬件平台使用ADS7843触摸屏芯片和4线电阻式触摸屏。触摸屏控制器采用香港BURR-BROWN公司的ADS7843。ADS7843的工作电压Vcc为2.7~5V,参考电压Vref在1V至Vcc之间均可. ADS7843是专用于4线电阻式触摸屏的12位模/数采样转换器,具有单一电源供电、完全降功耗模式、转换速度快的特点。
(9).课题针对ADS7843触摸屏芯片和4线电阻式触摸屏,设计WindML输入设备驱动程序。驱动程序的框架必须符合WindML的规范,可以参考已有的驱动代码进行代码设计。
具体工作包括:
1、修改WindML数据库配置文件ugldb.cfg.,修改完成后, 重新启动Tornado, WindML配置对话框中会出现新设置。
2、修改uglDepend.h
该文件位于\target\h\ugl\config\下, 用于设定配置之间的依赖关系和一些缺省值。
3、 添加驱动头文件ud44b0x.h
在\target\h\ugl\driver\graphics\目录下建立新目录s3c44b0x, 与ugldb.cfg和uglDepend.h一致, 复制udsa.h到该目录, 并更名为ud44b0x.h。
4、添加彩色驱动实现文件ud44b0x8.c和ud44b0x8in.c
在\target\src\ugl\driver\graphics\目录下建立新目录s3c44b0x, 复制udsa8.c, udsa8in.c和Makefile到该目录下, 并更名。
5、颜色表
理解颜色表是非常重要的, 我在驱动开发中遇到的最大困惑就是颜色表的处理。
根据现有的硬件条件、知识具备的条件、设备技术条件基本可以达到实现该课题的要求。
6、触摸屏驱动
需要修改WindML数据库配置文件ugldb.cfg.
添加上层驱动代码文件
参照Assabet驱动的uglabtts.c, 添加ugladsts.c, 放在\target\src\ugl\driver\pointer下。
参照Assabet驱动的uglasbt.h, 添加ugladsts.h, 放在\target\h\ugl\driver\pointer下。
添加底层驱动代码文件
参照Assabet驱动的assabetTs.h, 添加ads7843Ts.h, 放在\target\h\ugl\bspExt下。
|