您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术ARM内核的移植实例介绍 正文
ARM内核的移植实例介绍

ARM内核的移植实例介绍

点击数:7436 次   录入时间:03-04 11:35:38   整理:http://www.55dianzi.com   嵌入式系统-技术

    #define LCD_XSIZE(640) /* LCD水平分辨率 */

    #define LCD_YSIZE(480) /* LCD垂直分辨率 */

    #define LCD BITSPERPIXEL(8)#endif /*LCDC0NF_H*//*以下是S3C44B0X LCD控制器的配置*/

    #include "..incoption.h"

    #define SCR_XSIZE (640) //视窗屏幕大小

    #define SCR_YSIZE (480)#define LCD_XSIZE (640) //液晶屏幕大小

    #define LCD_YSIZE (480)#define M5D(n)((n)&0x1fffff)

    #define ARRAY_SIZE_G4(SCR_XSIZE/4*SCR_YSIZE)

    #define HOZVAL (LCD_XSIZE/4-1)

    #define HOZVAL_COLOR (LCD_XSIZE*3/8-1)

    #define LINEVAL (LCD_YSIZE-1)

    #define MVAL (13)

    #define CLKVAL_G4 (10)

    #define MVAL_USED 0

    #endif /*LCDCONF_H */

    (3)加载LCD驱动。

    LCD驱动程序如前面所述,保存在lcd44b0.c中。出了底层的初始化函数LCD_Init_Controler()以外,还需要做以下修改,这里只提关键部分。

    主要进行相关的寄存器配置,以及和GUI的接口程序。这里只提及关键部分。

    ① 定义显示缓冲区时使用的char数据类型,它是8bit的:

    unsigned char Bmp[ARRAY_SIZE_G16];//液晶显示缓冲数组

    ② 定义读写缓冲区时使用的数据类型,也是8bit的U8:

    #define LCD_READ_MEM (Off)*((U8*)(frameBuffer256+(((U32)(Off)))))

    #define LCD_WRRITE_MEM(Off,data)*((U8*)frameBuffer256+(((U32)(Off)))))=data

    #define LCD_WRITE_REG(Off,data)

    ⑧ 定义液晶总线宽度定义位8bit:

    #ifndef LCD_BUSWIDTH

    #define LCD_BUSWIDTH(8)

    #endif

    ④ 定义字节顺序:

    #define LCD_SWAP_BYTE_ORDER(0)

    至此uC/GUI的移植基本上已经完成了。当然这里只提供了移植的关键部分,更多更完整的移植还需要做不少的工作,如触控屏的移植、键盘鼠标的移植以及中文字体的移植等。详情请参阅uC/GUI手册中Getting Started一章。

    4、数据显示程序设计

    数据显示程序主要是基于uC/GUI平台的GUI函数库,完成字符、曲线的绘制。与画线相关的GUI函数有:

    GUI DrawHLine()

    原型:void GUI_DrawLine(int x0,int y0,int x1,int y1);

    其中,x0、y0、x1、y1分别为UGI坐标系下的起点和终点的横坐标和纵坐标。

    GUI DispDec()

    原型:void GUI_DispDec(I32 v,U8 Len);

    其中,v为要显示的十进制变量值,Len为要显示的数据的位数。

    5、总结

    本文主要介绍了基于ARM7内核S3C44B0X和L78C64液晶模块硬件平台的uC/GUI的移植,以及在工程上的应用,经过实际应用发现,uC/GUI功能强大,响应迅速,稳定性高,具有广泛的应用前景。



上一页  [1] [2] 


本文关键字:暂无联系方式嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术