经济学 管理学 法学 理学 工学 计算机 医学 文学 教育 艺术 哲学 马列理论 政治 社会 英语论文
写作指导 实习报告 述职报告 调查报告 求职信 求职简历 工作总结 入党申请书 思想汇报 入党转正申请书
普通高校 民办高校 独立学院 211工程高校 教育部直属高校 成人高校 民办成人高校 985工程高校 军校 各地招生办
 首页 >> 533学习网 >> 资源 >> 论文大全 >> 计算机 >> 正文 加载中...
嵌入式图形用户界面在S3C44B0X上的移植
http://edu.533.com 资源频道

备和一般应用提供的一款高性价比的微处理器解决方案,它采用ARM 7TDM I核,工作在66MHz,为减少外围件, 该芯片集成了8KB的Cache、LCD控制器、5通道PWM定时器和一个内部定时器、71个I/O口、8个外部中断源、实时时钟等[3]。
移植的目标平台的液晶模块使用320×240分辨率, 通过总线的形式连接在S3C44B0X的Bank3上, 并在系统的内存区开辟了一块内存作为液晶显示的后台缓存。
要成功将μC/GUI移植到该平台上一般要解决以下几方面的问题。
3.2  μC/GUI与操作系统的接口相关部分的修改
μC/GUI 在与μC/OS-II结合应用时通常被分为几个小的显示任务,由于每个显示任务都共用一个GUI_Context上下文变量,在操作系统进行任务切换时一个GUI任务对上下文的操作可能被另外一个GUI任务打断,此时新的GUI任务对上下文的操作是在被中断任务的上下文基础上进行的,这样前一个任务的信息会被后一个任务所使用,有些基本信息作为公用信息需要被共用,而有些信息在处理过程中是不能被打断的。这就存在资源互斥的问题。
μC/GUI在设计时是通过上锁和解锁来解决此问题。其过程是通过在关键区域入口设置GUI_X_Lock()以获得专一访问权,用完后在出口处设置GUI_X_ Unlock()让出资源,达到多个GUI任务对同一数据在关键区域内访问的互斥。
在μC/GUI移植到μC/OS-II的过程中,则需要利用操作系统实现资源互斥的系统调用对上述宏进行替换,这涉及到3个任务调度函数的重新定义:
void  GUI_X_InitOS (void);
/*任务初始化*/
void  GUI_X_Lock (void);  
/*任务锁定*/
void  GUI_X_Unlock (void); 
/*任务解锁*/
此外μC/GUI还用到μC/OS-II中的延时调用,通过在GUI_X_Delay()中调用μC/OS-II的OSTimeDly()实现延时和任务切换。这涉及到2个系统时间接口函数的定义:
int    GUI_X_GetTime (void); 
/*取系统时间*/
void  GUI_X_Delay (int ms);  
/*延时函数*/

3.3  μC/GUI与输入输出设备驱动接口模块设计
本文以LCD驱动接口模块设计为例介绍在μC/GUI移植过程中LCD驱动程序的编写,以最终实现图形显示。
驱动程序主要是LCD初始化,这个函数完成对44B0X LCD控制器的配置、显存的映射等。这里还是以320×240彩色LCD为例介绍一下初始化程序的编写。具体如下:
void LCD_Init(void)
{
int i;
LCD_DisplayOpen(FALSE);
/* 关LCD显示 */
for(i=0; i<320*240; i++) 
/* 初始化显存 */
*(pLCDBuffer256+i) = 0x0;
rPDATD = 0xff;;   
/* PDATD[7 :0]: 此处初始化为0xff */
rPCOND = 0xaaaa;
/* PCOND[15:0]: 配置为功能端 */
rPUPD = 0x00;
/* PUPD [7 :0]: 允许相应位的上拉电阻(0=允许, 1=禁止) */
rLCDCON1 = (0)|(DISMODE<<5)|(WDLY<<8)|(WLH<<10)|(CLKVAL<<12);
/* disable,8B_SNGL_SCAN,WDLY=16clk,WLH=16clk, CLKVAL=10*/
rLCDCON2 = (LINEVAL)|(HOZVAL<<10)|(LINEBLANK<<21);
/* 彩色模式, LCDBANK=0xc000000, LCDBASEU=0x0 */
rLCDSADDR1= (MODESEL<<27) | (((U32)pLCDBuffer256>>22)<<21) |
M5D((U32)pLCDBuffer256>>1);
rLCDSADDR2= M5D(((U32)pLCDBuffer256+(LCDWIDTH*LCDHEIGHT))>>1) |
(MVAL<<21);
rLCDSADDR3= PAGEWIDTH | (OFFSIZE<<9);
rREDLUT = 0xfdb97531; 
/* 设置红绿蓝三色的颜色值*/
rGREENLUT = 0xfdb97531;
rBLUELUT = 0xfb73;
rDITHMODE = 0x0;
rDP1_2 = 0xa5a5;
rDP4_7 = 0xba5da65;
rDP3_5 = 0xa5a5f;
rDP2_3 = 0xd6

9 7 3 1 2 3 4 8 :

加载中...
上一篇:
下一篇:
顶我一下
 
  • 最近更新
  • 最受欢迎资源榜
  •   加载中... 加载中...
     加载中...
    值得收藏!
    加载中...
    资源搜索:
     全国各省市普通高校名单
    北京 天津 河北 山西

    内蒙

    辽宁 吉林 黑龙江
    上海 江苏 浙江 安徽 福建 江西 山东 河南
    湖北 湖南 广东 广西 海南 重庆 四川 贵州
    云南 西藏 陕西 甘肃 青海 宁夏 新疆 港澳台
     全国民办普通高校名单
    北京 天津 河北 山西

    内蒙

    辽宁 吉林 黑龙江
    上海 江苏 浙江 安徽 福建 江西 山东 河南
    湖北 湖南 广东 广西 海南 重庆 四川 贵州
    云南 西藏 陕西 甘肃 青海 宁夏 新疆  
     更多导航
    有意见请联系:edu533##126.com(将##换为@)
      更多资源推荐
    论文
     
    实用文档
     
    五三三学习网
     
    好资源一起共享
      图片说话
    加载中...
      精彩推荐
    加载中...
    加载中...
    加载中...