基于ARM9内核的2440开发板的汉字显示与窗口移动的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于ARM9内核的2440开发板的汉字显示与窗口移动的实现摘要:当你兴高采烈的拿到一块新买的2440开发板,却不知如
何下手的时候,本文想通过一个屏幕显示实验,了解开发板的实验开工过程,将帮助你怎样利用板上资源实现自己的设计目标。
关键词:arm2440;汉字显示;窗口移动
arm9具有比单片机强得多的功能,它把单片机的许多外部接口电路都集成到了芯片内部,既降低了成本,又提高了系统的可靠性。但是,arm9的使用却异常复杂,没有象单片机那样的极易上手,应用之方便了。利用arm9开发板进行一些二次开发,不失为一种多
快好省的办法。
本文使用的开发板型号为:tq2440,4.3吋屏幕。
一设计目标
在tq2440开发板上显示中英字文本,并能通过按键中断实现文
字窗口的上、下、左、右移动。
二实验开工
当你买到一块arm9开发板的时候,一般会附送一些接口连接线
和一张光盘,内部会有一些出厂程序,这是我们应该好好利用的。打开包装,拿出里面的实验板,用随机附带的rs-232串口线,usb 线,把arm9开发板与电脑主机连接起来,并插好开发板电源(先
不要打开开发板电源)。
三建立软件开发环境
(1)启动电脑主机,安装附送光盘上的ads1.2(在“e:\
tq2440_cd\windows平台开发工具包\ads1.2”下,其中“e:”为光盘所在目录)。
(2)安装并设置串口工具软件securecrt.exe。这是个将开发板与电脑主机建立起串行连接的串行口连接工具软件,比超级终端好用。该软件包在“e:\tq2440_cd\windows平台开发工具包”文件夹下面,找到该软件包并复制到“d:\”下并解压。运行securecrt.exe,单击快速连接图标,设置使用的协议为“serial”,端口为“com1”,波特率为:115200,并去掉rts/cts前面的钩,单击“连接”。将内存选择开关打到“nor flash”,打开电源,电脑屏幕提示,发现新硬件,需安装开发板的usb设备驱动程序。该驱动程序包的路径为“e:\tq2440_cd\windows平台开发工具\usb下载驱动.rar”,解压后,按提示安装即可。按开发板的复位键,会发现电脑屏幕上出现串口工具窗口,提示选择下载模式。
(3)安装并设置开发板烧写工具软件dwn.exe。该软件包也在“e:\tq2440_cd\windows平台开发工具包”文件夹下面,找到该软件包并复制到“d:\”下并解压。该工具软件的设置比较简单,运行dwn.exe,单击菜单“configuration”/“options”,设置波特率为115200,端口为“com2”,(如有冲突,换一个端口),下载地址为“0x3000000”。
到此,建立软件开发环境基本完成。
四修改原出厂镜像
(1)修改原出厂程序默认屏幕尺寸
1)复制并解压光盘中自带的测试程序
tq2440_test_20100607.rar(在“e:\tq2440_cd\tq2440测试程序”下)。
2)打开开编辑项目文件tq2440_test.mcp(比如说是解压缩在“d:\tq2440_test_20100607”下),只要双击文件名
tq2440_test.mcp ,即可打开编辑。
3)修改开发板屏幕尺寸大小。因原出厂程序默认的屏幕尺寸为3.5吋,而实际用的,是4.3寸,要修改一下。步骤:a,在标签为tq2440_test.mcp的窗口中,右击lcd_tft.c,选择“编译”;2、单击lcd_tft.c右边的下拉箭头,选择“lcd_tft.h”;3、将第14行中的“lcdw35”,改为:“lcdw43”,并保存文件;
(2)移植字库
1)复制光盘中的文件:e:\tq2440_cd\ucos-ii\
ucos-ii_20091031.rar 到d盘根目录下并解压。
2)复制d:\ucos-ii_20091031\s3c2440\source\
font_libs.c到d:\tq2440_test_20100607\src中。
3)添加字库文件到项目中:只要在tq2440_test.mcp窗口,单击右键,选择:“add files…”,在弹出的窗口中,打开src文件夹,选中“font_libs.c”,点击“打开”,再点击“ok”即可。
(3)让开发板显示汉字
1)在lcd_tft.c 的开头位置,添加外部数组申明:
extern unsigned char __chs[];
extern unsigned char __vga[];
2)打开d:\ucos-ii_20091031\ucos-ii.mcp ,再打开lcd.c ,将里面的lcd_putascii()、void lcd_puthz()、lcd_printf ()这三个函数复制到项目d:\tq2440_test_20100607\
tq2440_test.mcp中的lcd_tft.c 文件末尾并在开头添加函数申明。
3)删除 lcd_printf ()函数中开头的这几行(或加上“// ”):// char __lcd_printf_buf[256];
// va_list ap;
// unsigned char *pstr = (unsigned char *)
__lcd_printf_buf;
unsigned int i = 0;
// va_start(ap,fmt);
// vsprintf(__lcd_printf_buf,fmt,ap);
// va_end(ap);
4)将 void lcd_printf(unsigned int x,unsigned int y,unsigned int c,unsigned int bk_c,unsigned int st,char *fmt,...)改为:void lcd_printf(unsigned int x,unsigned