eMwin 移植 文档飞利浦 恩智浦
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
uC/GUI(emWin)的应用与移植
当你开始使用emWin进行编程时,通常遵循以下的步骤:
第1步:配置emWin
第一步通常是通过修改头文件LCDConf.h来配置emWin。LCDConf.h中的宏定义描述了LCD显示部分硬件特性;根据你的具体情况修改这些宏定义(例如显示屏的长、宽,每像素点用几位表示,LCD控制器的类型等参数)。
第2步:定义LCD的底层驱动函数
底层函数包括对LCD(控制器)的初始化函数,LCD显示缓冲区的读写函数等,完成对LCD显示硬件的直接操作。
对于映射在系统存储器上的LCD,对显示缓冲区的操作仅需要在LCDConf.h中进行定义就可以了。但对于采用I/O端口/缓冲区操作的LCD,就必须定义相应的接口函数了。
第3步:编译,链接和测试例子代码
emWin对于单任务和多任务环境下的应用都提供了例子代码。在编程之前,对这些例子代码进行编译、链接和测试,使你能够初步了解这些代码的使用。
第4步:修改例子程序
对例子代码作少量的修改。逐步添加一些额外的指令,例如显示不同大小的文字,显示多行等等,从而进一步理解代码的应用。
第5步:emWin的多任务应用,加入到你的操作系统中
如果你的系统有可能多个任务同时对显示进行操作,这时就要用到GUITask.C文件中的GUI_MAXTASK 和GUI_OS宏。
第6步:采用emWin编写你自己的应用
到这一步你应该对怎样使用emWin有一个清楚的了解了。考虑如何采用emWin提供的函数来构建你的应用,并通过阅读手册来获得各函数更详细的功能和使用上的信息。
emWin的移植
移植是指对emWin进行配置和修改,使它能够在你的目标系统上运行。参考第3.4节中的第一步和第二步,移植工作主要是针对配置头文件中的宏定义进行修改。
这些宏包括:
1. LCD宏,定义了显示的尺寸和一些可选择的特性(例如镜像,等等)
2.LCD控制器宏,定义了怎样对控制器进行操作。下表显示了emWin中哪些宏定义与移植有关:
表20-1 与GUI移植相关的宏定义
表20-2 与GUI移植相关的宏定义(续)
实现方法与步骤
4.1实例准备关于S3C44B0X与LCD接口相关内容,以及如何连接电路,可以参考实例十一。
对于实例内容和目标(1),写出符合要求的函数定义;
对于实例内容和目标(2),将编写好的主程序和光盘中提供的emWin的库文件加入工程中进行编译仿真。emWin的库文件放在光盘的source/guihelloworld/gui目录下。编写主程序main.C后,将主程序文件与ucgui.alf库文件加入同一个工程进行编译。编译成功后用并口线连接ARMSys,利用ADW下载程序,并仿真调试。观察LCD屏上的显示情况。
4.2定义宏
LCD_INIT_CONTROLLER()函数用于对LCD显示进行初始化,同时开启显示。关于它的定义,可以参考实例十一4.2节的相关内容。
LCD_WRITE_MEM()和LCD_READ_MEM()在LCDConf.h文件中定义,LCD_WRITE_MEM(Index, Data)函数用于对显示缓冲区的指定地址写入数据。它的定义很简单,代码如下:
#define LCD_WRITE_MEM(Index,data) *((U8*)(Index))=data
LCD_READ_MEM(Index)函数则用于读出显示缓冲区指定地址的内容。定义如下:
#define LCD_READ_MEM(Index) *((U8*)(Index))
4.3编写Hello world程序
参考以下示例程序,注意该程序只给出与GUI有关的部分,硬件部分的初始化部分程序,读者自行添加。#include “GUI.H”/引用emWin提供的库函数
/*********************************************
* main
*********************************************/
void main(void){
int i=0;
……/*在这里对ARMSys的硬件进行初始化*/
GUI_Init();/对GUI进行初始化(包括对LCD显示的初始化)
GUI_DispString(“Hello world!”);/在(0,0)位置显示字符串
While(1){
GUI_DispDecAt(i++,20,20,4);/在(20,20)位置显示整数
if (i>9999) i=0;
}
}
运行结果
以上程序的运行结果,是在液晶显示屏上显示出如下内容:
范例程序的运行与操作结果
其中第二行的数值不断加1跳变。
从飞利浦到恩智浦(网上转载的,原始出处找不到了)
[ 2011-2-14 8:35:00 | By: enote ]
7
推荐
2006年对于半导体行业来说,最大的一件事情莫过于飞利浦分家,2006年8月31日,飞利浦对外宣布,半导体业务将于今天成为一个独立运营的公司,新公司名称为恩智浦(NXP)半导体公司。一时间NXP成为人们讨论的热点,飞利浦此番卖掉的是一个赚钱的部门:2006年第二季度,飞利浦芯片部门营业收入为1 2.2亿欧元,同比增长12%;利润也达到1.2亿欧元。半导体如此重要的部门,飞利浦这样一个世界一流企业缘何舍弃了NXP?半导体为何“失宠”于飞利浦呢?带着这样的问题,让我们来揭开分家“内幕”!
一、从埃因霍温说起
埃因霍温——荷兰南部的著名城市埃因霍温,这座城市的历史可以追溯到1232年。人口超过20万。二战时埃因霍温曾经被夷为平地,战后重建了大量的现代化建筑。今天的埃因霍温是荷兰的工程科学中心,拥有机械工程、自动化和电子等多种学科的高科技企业。恐怕小城埃因霍温最著名就是飞利浦公司和埃因霍温足球俱乐部。
二、一流的俱乐部,一流的赞助商
也许喜欢足球的人了解埃因霍温足球俱乐部比了解飞利浦公司更多。而飞利浦便是埃因霍温足球俱乐部最主要的赞助商。
PSV埃因霍温俱乐部成立于1913年8月31日。起初“PSV”只是荷兰语“飞利浦体育联盟”的缩写(Phili ps Sports Vereniging)。如今,“PSV”这三个字母已经是欧洲体育界中最重要的商标之一。凭借俱乐部高度职业化管理和在国内及欧洲赛场上战绩显赫,PSV埃因霍温俱乐部在世界顶级足球联盟G14中已占据一席之地。她和包括英格兰曼彻斯特联俱乐部、西班牙皇家马德里俱乐部在内的其他欧洲超级豪门一起拼出足球界最绚丽的图画。作为欧洲足坛,特别是荷兰足球的中坚力量,小至1929尚未职业化的国内足球联盟冠军,大到1988年登上欧洲足球之巅——欧洲冠军杯冠军宝座。PSV埃因霍温在这九十多年间为小城埃因霍温和风车之国(荷兰的别称)创造了无数荣誉。将近一个世纪以来,飞利浦大球场见证了PSV埃因霍温俱乐部所有的甜酸苦辣。历经沧桑,这座至今依然矗立于埃因霍温市中心西北侧的雄伟体育场已陪伴PS V埃因霍温俱乐部走过90多年风雨历程。
一流的俱乐部总有一流的赞助商,作为一家高科技企业,飞利浦有着长期的足球赞助历史和成熟的足球赞助理念,是足球运动的优秀合作伙伴和忠实支持者。从1986年开始,飞利浦连续5届赞助世界杯赛,成为国际足联的主要合作伙伴之一。而同期逐渐形成的足球金字塔赞助框架,也使飞利浦在世界范围内与所有级别的足球运动息息相连。
当然,这是一个双赢的局面。举例来说,希丁克重返埃因霍温执掌教鞭以后,就同时兼任飞利浦的品牌宣传工作。相信凭借他在韩日世界杯赛期间创下的奇迹和建立起来的声誉,飞利浦的品牌形象一定能得到大幅的提升和促进。对于一个俱乐部而言,光靠球员是不够的,也许一流的俱乐部和一流的赞助商才是球队立足、发展、乃至称霸的根本。
皇家飞利浦电子是世界上最大的电子公司之一,在欧洲名列榜首。其2002年的销售额达318亿欧元,在彩