999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ARM9內(nèi)核的2440開發(fā)板的漢字顯示與窗口移動的實現(xiàn)

2012-12-31 00:00:00王學杰
現(xiàn)代裝飾·理論 2012年12期

摘要:當你興高采烈的拿到一塊新買的2440開發(fā)板,卻不知如何下手的時候,本文想通過一個屏幕顯示實驗,了解開發(fā)板的實驗開工過程,將幫助你怎樣利用板上資源實現(xiàn)自己的設(shè)計目標。

關(guān)鍵詞:ARM2440;漢字顯示;窗口移動

ARM9具有比單片機強得多的功能,它把單片機的許多外部接口電路都集成到了芯片內(nèi)部,既降低了成本,又提高了系統(tǒng)的可靠性。但是,ARM9的使用卻異常復(fù)雜,沒有象單片機那樣的極易上手,應(yīng)用之方便了。利用ARM9開發(fā)板進行一些二次開發(fā),不失為一種多快好省的辦法。

本文使用的開發(fā)板型號為:TQ2440,4.3吋屏幕。

一 設(shè)計目標

在TQ2440開發(fā)板上顯示中英字文本,并能通過按鍵中斷實現(xiàn)文字窗口的上、下、左、右移動。

二 實驗開工

當你買到一塊ARM9開發(fā)板的時候,一般會附送一些接口連接線和一張光盤,內(nèi)部會有一些出廠程序,這是我們應(yīng)該好好利用的。打開包裝,拿出里面的實驗板,用隨機附帶的RS-232串口線,USB線,把ARM9開發(fā)板與電腦主機連接起來,并插好開發(fā)板電源(先不要打開開發(fā)板電源)。

三 建立軟件開發(fā)環(huán)境

(1)啟動電腦主機,安裝附送光盤上的ADS1.2(在“E:\TQ2440_CD\Windows平臺開發(fā)工具包\ADS1.2”下,其中“E:”為光盤所在目錄)。

(2)安裝并設(shè)置串口工具軟件SecureCRT.exe。這是個將開發(fā)板與電腦主機建立起串行連接的串行口連接工具軟件,比超級終端好用。該軟件包在“E:\TQ2440_CD\Windows平臺開發(fā)工具包”文件夾下面,找到該軟件包并復(fù)制到“D:\”下并解壓。運行SecureCRT.exe,單擊快速連接圖標,設(shè)置使用的協(xié)議為“Serial”,端口為“COM1”,波特率為:115200,并去掉RTS/CTS前面的鉤,單擊“連接”。將內(nèi)存選擇開關(guān)打到“NOR Flash”,打開電源,電腦屏幕提示,發(fā)現(xiàn)新硬件,需安裝開發(fā)板的USB設(shè)備驅(qū)動程序。該驅(qū)動程序包的路徑為“E:\TQ2440_CD\Windows平臺開發(fā)工具\USB下載驅(qū)動.rar”,解壓后,按提示安裝即可。按開發(fā)板的復(fù)位鍵,會發(fā)現(xiàn)電腦屏幕上出現(xiàn)串口工具窗口,提示選擇下載模式。

(3)安裝并設(shè)置開發(fā)板燒寫工具軟件DWN.exe。該軟件包也在“E:\TQ2440_CD\Windows平臺開發(fā)工具包”文件夾下面,找到該軟件包并復(fù)制到“D:\”下并解壓。該工具軟件的設(shè)置比較簡單,運行DWN.exe,單擊菜單 “Configuration”/“Options”,設(shè)置波特率為115200,端口為“COM2”,(如有沖突,換一個端口),下載地址為“0x3000000”。

到此,建立軟件開發(fā)環(huán)境基本完成。

四 修改原出廠鏡像

(1)修改原出廠程序默認屏幕尺寸

1)復(fù)制并解壓光盤中自帶的測試程序TQ2440_Test_20100607.rar(在“E:\TQ2440_CD\TQ2440測試程序”下)。

2)打開開編輯項目文件TQ2440_test.mcp(比如說是解壓縮在“D:\TQ2440_Test_20100607”下),只要雙擊文件名TQ2440_test.mcp ,即可打開編輯。

3)修改開發(fā)板屏幕尺寸大小。因原出廠程序默認的屏幕尺寸為3.5吋,而實際用的,是4.3寸,要修改一下。步驟:a,在標簽為TQ2440_test.mcp的窗口中,右擊LCD_TFT.c,選擇“編譯”;2、單擊LCD_TFT.c右邊的下拉箭頭,選擇“LCD_TFT.h”;3、將第14行中的“LCDW35”,改為:“LCDW43”,并保存文件;

(2)移植字庫

1)復(fù)制光盤中的文件:E:\TQ2440_CD\uCOS-II\uCOS-II_20091031.rar 到D盤根目錄下并解壓。

2)復(fù)制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)讓開發(fā)板顯示漢字

1)在LCD_TFT.c 的開頭位置,添加外部數(shù)組申明:

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()這三個函數(shù)復(fù)制到項目D:\TQ2440_Test_20100607\TQ2440_Test.mcp中的LCD_TFT.c 文件末尾并在開頭添加函數(shù)申明。

3)刪除 Lcd_printf ( ) 函數(shù)中開頭的這幾行(或加上“// ”):

// 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 int y,unsigned int c,unsigned int bk_c,unsigned int st,char *pStr) ,可避免許多編譯錯誤。

(4)讓開發(fā)板全屏顯示漢字并實現(xiàn)窗口移動

1)在void KeyScan_Test(void) 函數(shù)中,加入:

void KeyScan_Test(void)

{

Uart_Printf(\"\nKey Scan Test,press ESC key to exit !\n\");

rGPBUP = rGPBUP ~0x03f0|0x03f0;// LED [8:5] => UP En

rGPBCON = rGPBCON ~0x3d57fc|0x3d57fc;//LED[8:5] => OUTPUT;

rGPFCON = rGPFCON (~((3<<4)|(3<<0)|(3<<8)|(3<<2))) | ((2<<4)|(2<<0)|(2<<8)|(2<<2)) ;//GPF4,2,1,0 set EINT

rEXTINT0 = ~(7|(7<<4)|(7<<8)|(7<<16));

rEXTINT0 |= (0|(0<<4)|(0<<8)|(0<<16)); //set eint0,1,2,4 falling edge int

rEINTPEND |= (1<<4);//clear eint 4

rEINTMASK = ~(1<<4);//enable eint 4

ClearPending(BIT_EINT0|BIT_EINT1|BIT_EINT2|BIT_EINT4_7);

pISR_EINT0 = pISR_EINT1 = pISR_EINT2 = pISR_EINT4_7 = (U32)Key_ISR;

EnableIrq(BIT_EINT0|BIT_EINT1|BIT_EINT2|BIT_EINT4_7);

i=0;

j=0;

flag=0;

while (1)

{

Lcd_ClearScr((0x1f<<11) | (0x3f<<5) | (0x00));

Lcd_printf(16*i,16*j+16*0,0x0000,(0x1f<<11) | (0x3f<<5) | (0),1,\" 海燕\");

Lcd_printf(16*i,16*j+16*1,0x0000,(0x1f<<11) | (0x3f<<5) | (0),1,\" 在蒼茫的大海上,狂風卷集著烏云。在烏云和大海之間,海燕象黑色的閃電\");

……

……

Lcd_printf(16*i,16*j+16*31,0x0000,(0x1f<<11) | (0x3f<<5) | (0),1,\" --讓暴風雨來得/更猛烈些吧!....\");

while(!flag)

{

Delay(200);

}

flag=0;

} // while (1) 循環(huán)結(jié)束

}

2)在鍵盤中斷處理函數(shù)中作如下修改:

static void __irq Key_ISR(void)

{

U8 key;

U32 r;

EnterCritical(r);

if(rINTPND==BIT_EINT1)

{

if (flag==0)

{

j=j+1;

flag=1;

}

ClearPending(BIT_EINT1);

}

if(rINTPND==BIT_EINT4_7)

{

ClearPending(BIT_EINT4_7);

if(rEINTPEND(1<<4))

{

Uart_Printf(\"eint4\n\");

if (flag==0)

{

j=j-1;

flag=1;

}

rEINTPEND |= 1<< 4;

}

}

if(rINTPND==BIT_EINT0)

{

Uart_Printf(\"eint0\n\");

if (flag==0)

{

i=i-1;

flag=1;

}

ClearPending(BIT_EINT0);

}

if(rINTPND==BIT_EINT2)

{

Uart_Printf(\"eint2\n\");

if (flag==0)

{

i=i+1;

flag=1;

}

ClearPending(BIT_EINT2);

}

}

3)在keyscan( ) 函數(shù)中,添加全局變量定義:

int i,j,flag ;

4)在標簽為TQ2440_test.mcp的窗口中,選中所有文件,單擊“Project”/“Compile”,重新編譯文件。再單擊“Project”/“Make”,連接文件;如發(fā)現(xiàn)“0”個錯誤,這說明一切正常。檢查“D:\TQ2440_Test_20100607\TQ2440_Test_Data\DebugRel ”目錄下,有沒有“TQ2440_Test.bin ”文件,這就是可用于開發(fā)板燒寫的文件。

(5)燒寫目標文件

步驟:1)連接好串行口線、USB線,開發(fā)板電源;

2)打開串口工具SecureCRT,內(nèi)存選擇開頭打到Norflash ,打開開發(fā)板電源或按復(fù)位鍵,在串口工具窗口中,選擇a 進入等待下載狀態(tài);

3)打開燒寫工具DNW ,單擊菜單項“USB Port”/“Transmit ”,找到需要燒寫的 .bin 文件,雙擊,即可完成目標文件燒寫至NandFlash 中。

(6)檢查燒寫成果

將內(nèi)存選擇開關(guān)打到“NandFlash ”,按開發(fā)板上的復(fù)位鍵重新啟動,在SecureCRT 窗口中,會顯示剛燒寫的測試程序功能選擇菜單,選擇功能:“4:Test interupt and key scan ”,即可在開發(fā)板屏幕上顯示剛才輸入的漢字,按開發(fā)板上的上、下、左、右鍵,還能移動文字窗口。

主站蜘蛛池模板: 久久国产精品电影| 真实国产乱子伦视频| 国产精品天干天干在线观看| 免费又爽又刺激高潮网址 | 亚洲永久精品ww47国产| 曰AV在线无码| 国产成年女人特黄特色毛片免| 亚洲欧美日韩久久精品| 国产91透明丝袜美腿在线| 欧美国产日韩另类| 亚洲最猛黑人xxxx黑人猛交| 麻豆精选在线| 国产成人亚洲精品蜜芽影院| 黄色三级网站免费| 久久99国产综合精品1| 色有码无码视频| 波多野结衣中文字幕一区| 国产精品高清国产三级囯产AV| 国产高潮流白浆视频| 亚洲天堂网在线播放| 成人福利在线视频| 在线不卡免费视频| 91亚洲国产视频| 四虎国产永久在线观看| 欧美日韩国产综合视频在线观看| 欧美激情伊人| 日本黄色不卡视频| 99精品视频播放| 久久99精品久久久久纯品| 伊人中文网| 日韩在线2020专区| 四虎在线观看视频高清无码| 尤物特级无码毛片免费| 欧美日韩高清在线| 精品剧情v国产在线观看| 国产在线日本| 久久动漫精品| 亚洲精品国偷自产在线91正片| 激情无码视频在线看| 在线国产91| 九九九国产| 日韩毛片基地| 99国产精品免费观看视频| 伊人激情久久综合中文字幕| 欧美一级在线看| 伊人91在线| 日韩欧美国产成人| 在线精品亚洲一区二区古装| 伊人久久精品亚洲午夜| 国产乱子伦手机在线| 久久综合五月婷婷| 视频一本大道香蕉久在线播放| 思思热在线视频精品| 久久99国产乱子伦精品免| 热久久综合这里只有精品电影| 欧美视频免费一区二区三区| 国产精品夜夜嗨视频免费视频| 精品国产污污免费网站| 91精品国产一区| 538精品在线观看| 黄片一区二区三区| 韩国福利一区| 国产三级视频网站| 亚洲日韩高清无码| 99er精品视频| 免费观看无遮挡www的小视频| 亚洲精品制服丝袜二区| 真人高潮娇喘嗯啊在线观看| 91无码人妻精品一区二区蜜桃| 在线看片中文字幕| 欧美日本视频在线观看| 四虎影视库国产精品一区| 免费在线a视频| 国产丝袜无码一区二区视频| 伊人成色综合网| 久久人搡人人玩人妻精品| 亚洲国模精品一区| 国产精品一区在线麻豆| 性视频久久| 无码精品国产dvd在线观看9久| 国产三区二区| 国产欧美日韩免费|