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

嵌入式仿真系統(tǒng)的研究與應(yīng)用

2008-12-31 00:00:00
電腦知識(shí)與技術(shù) 2008年26期

摘要:在嵌入式系統(tǒng)越來(lái)越復(fù)雜的情況下,一個(gè)設(shè)計(jì)糟糕的系統(tǒng),其運(yùn)行行為很難、甚至不可能預(yù)測(cè),設(shè)計(jì)所帶來(lái)的風(fēng)險(xiǎn)也越來(lái)越大。該文為嵌入式系統(tǒng)軟件提供了一種實(shí)用、簡(jiǎn)捷的開(kāi)發(fā)和設(shè)計(jì)模式,仿真系統(tǒng)。仿真系統(tǒng)將嵌入式系統(tǒng)的圖形界面、業(yè)務(wù)控制流程和輸入/輸出設(shè)備操作進(jìn)行有效的解耦合。提高了開(kāi)發(fā)效率,使得系統(tǒng)的易于實(shí)現(xiàn)、測(cè)試與維護(hù)。

關(guān)鍵詞:仿真系統(tǒng);嵌入式系統(tǒng);LCD仿真; Win32

中圖分類(lèi)號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)26-1837-03

The Research and Development of Embed Simulate System

YAO Li

(Dept. of Software Engineering, TongJi University, Shanghai 201804, China)

Abstract: In the present complex situation, the control of test and forecast about an embed system become more and more hard. Along with this condition, we will get more and more risks in development of an embed production. In this page, a new effective, brief development module will be introduced. In the simulate system, the coupling among each modules, such as graphical interfaces, business flow, I/O control and so on, will be more flexible, and the coding, unit test and maintenance will be more effective.

Key words: simulate system; embed system; LCD simulator; Win32

1 引言

20世紀(jì)40年代末以來(lái)伴隨著計(jì)算機(jī)技術(shù)的發(fā)展,傳統(tǒng)嵌入式產(chǎn)品開(kāi)發(fā)的模式越來(lái)越不能滿(mǎn)足現(xiàn)代高效率低成本開(kāi)發(fā)的需要。如何將先進(jìn)的計(jì)算機(jī)技術(shù)應(yīng)用到傳統(tǒng)嵌入式產(chǎn)品開(kāi)發(fā)中來(lái)成為該領(lǐng)域的一個(gè)熱門(mén)問(wèn)題。最初,仿真技術(shù)主要用于航空、航天、原子反應(yīng)堆等價(jià)格昂貴、周期長(zhǎng)、危險(xiǎn)性大、實(shí)際系統(tǒng)試驗(yàn)難以實(shí)現(xiàn)的少數(shù)領(lǐng)域,后來(lái)逐步發(fā)展到電力、石油、化工、冶金、機(jī)械等一些主要工業(yè)部門(mén),并進(jìn)一步擴(kuò)大到社會(huì)系統(tǒng)、經(jīng)濟(jì)系統(tǒng)、交通運(yùn)輸系統(tǒng)、生態(tài)系統(tǒng)等一些非工程系統(tǒng)領(lǐng)域。近年來(lái),隨著高新技術(shù)的飛速發(fā)展對(duì)硬件仿真的應(yīng)用變的迫切的需要。

2 典型嵌入式系統(tǒng)

典型嵌入式系統(tǒng)結(jié)構(gòu)如圖1所示,包括界面顯示、輸入/輸出設(shè)備管理、業(yè)務(wù)控制流程管理以及數(shù)據(jù)管理4部分功能模塊。其他類(lèi)型的嵌入式系統(tǒng)都可在此基礎(chǔ)上縮減或擴(kuò)展,其基本的軟件設(shè)計(jì)思路是完全相同的。系統(tǒng)的一致性為研究統(tǒng)一軟件架構(gòu)設(shè)計(jì)模式提供了廣闊的應(yīng)用空間。

但是,在這樣的軟件架構(gòu)設(shè)計(jì)模式下很多嵌入式系統(tǒng)隨心所欲地構(gòu)建了系統(tǒng),把界面顯示、輸入/輸出設(shè)備管理、業(yè)務(wù)控制流程管理以及數(shù)據(jù)管理功能模塊糾纏在一起,導(dǎo)致設(shè)計(jì)的系統(tǒng)具有極高的耦合性。任何事物之間都要進(jìn)行通信,所有重要的狀態(tài)數(shù)據(jù)都可能是全局的。在狀態(tài)信息被隔開(kāi)的地方,需要通過(guò)錯(cuò)綜復(fù)雜的后端通道雜亂地傳遞,以繞開(kāi)系統(tǒng)的原有結(jié)構(gòu)。變量名和函數(shù)名信息量不足,甚至?xí)鹫`導(dǎo)作用。函數(shù)可能使用大量全局變量以及定義模糊的冗長(zhǎng)的參數(shù)列表。函數(shù)本身冗長(zhǎng)、費(fèi)解,完成多項(xiàng)毫無(wú)關(guān)聯(lián)的任務(wù)。代碼重復(fù)很多,控制流很難看清,難以找到來(lái)龍去脈,程序員的意圖幾乎無(wú)法理解,代碼完全不可讀。

總之,在這樣的開(kāi)發(fā)模式下,產(chǎn)品的質(zhì)量以及開(kāi)發(fā)周期等等都是無(wú)法控制的,帶來(lái)的后果也是無(wú)法預(yù)測(cè)的。而本文提的供仿真系統(tǒng)可以很好的解決這樣的問(wèn)題。

3 仿真系統(tǒng)原理

仿真系統(tǒng)模擬各種硬件資源和單片機(jī)的效果,給開(kāi)發(fā)系統(tǒng)提供資源從而替代傳統(tǒng)的實(shí)體開(kāi)發(fā)燒寫(xiě)。同是該系統(tǒng)僅向開(kāi)發(fā)系統(tǒng)提供使用接口很好的控制了代碼的范疇。

仿真系統(tǒng)模將傳統(tǒng)的系統(tǒng)結(jié)構(gòu)各個(gè)模塊獨(dú)立出來(lái),采用MOP的設(shè)計(jì)模式。使的開(kāi)發(fā)人員可以按照自己的模塊來(lái)開(kāi)發(fā),而不需去理會(huì)其他的情況,如代碼重復(fù)等等。仿真系統(tǒng)擁有一個(gè)固定的框架基礎(chǔ),低耦合的模塊劃分,從而使調(diào)用操作對(duì)象和控制操作對(duì)象有效的解耦合。

4 仿真系統(tǒng)基于西門(mén)子PAC3100的應(yīng)用

硬件仿真系統(tǒng),除開(kāi)引語(yǔ)中提到的必然的原因外,在實(shí)際的產(chǎn)品項(xiàng)目開(kāi)發(fā)中由于封裝了嵌入式產(chǎn)品的整個(gè)框架,使的開(kāi)發(fā)只需要定制系統(tǒng)。從而大大提高了產(chǎn)品開(kāi)發(fā)的效率,使程序員可以更專(zhuān)注于功能的開(kāi)發(fā)。

PAC3100系統(tǒng)是主要由LCD,LCD RAM,系統(tǒng),系統(tǒng)RAM組成。其中LCD由顯示主屏(如圖2LCD),導(dǎo)航條,滾動(dòng)條,菜單標(biāo)題和按鍵組成,而LCD RAM由于采用的是模塊化設(shè)計(jì)響應(yīng)的針對(duì)各個(gè)模塊有自己的RAM空間。在系統(tǒng)模塊部分,主要有文件系統(tǒng),目標(biāo)仿真系統(tǒng)和通信系統(tǒng)。他們分別承擔(dān)各自的任務(wù),并不互相影響,他們的數(shù)據(jù)共用系統(tǒng)內(nèi)存。

系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖如下:

4.1 系統(tǒng)的軟件設(shè)計(jì)

4.1.1 系統(tǒng)仿真

在系統(tǒng)仿真的過(guò)程中,操作系統(tǒng)的仿真最為重要是整個(gè)仿真的核心部分。他的基本控制類(lèi)有os和task類(lèi),他們分別模擬系統(tǒng)環(huán)境和系統(tǒng)的任務(wù)管理,由于嵌入式系統(tǒng)對(duì)資源要求很高,故只具備必須的管理能力,而且這些模塊也是根據(jù)需要來(lái)裁減的。

class os{

public:

static unsigned long getSystemTime();//獲取系統(tǒng)時(shí)間

… //初試化系統(tǒng)參數(shù)

os(){}; //構(gòu)建虛擬系統(tǒng)環(huán)境

};

class Task{

public:

Task(){}; //任務(wù)控制對(duì)象

static Sleep(int ms, int type){

…//控制任務(wù)休眠,或掛起,模擬真實(shí)系統(tǒng)工作

};

static voidDisableTaskSwitch(){…};//阻塞任務(wù)

static voidEnableTaskSwitch(){…};//停止阻塞

};

4.1.2 LCD仿真

如果說(shuō)系統(tǒng)的仿真是核心,那LCD的仿真則是關(guān)鍵所在90%以上的嵌入式產(chǎn)品都是應(yīng)用LCD來(lái)顯示信息,如:測(cè)量的數(shù)據(jù),計(jì)算的結(jié)果等等。下面就介紹一下在該系統(tǒng)中LCD的仿真。圖3為類(lèi)的結(jié)構(gòu)圖。

class CLcdSim{

public:

unsigned char*GetShadowRam(); //獲取LCD的FALSH的地址

unsigned charReadDisplayStatus(){…};//讀取當(dāng)前要顯示的狀態(tài)

unsigned charReadDisplayData(){…};//讀取當(dāng)前要顯示的數(shù)據(jù)

voidWash(unsigned char ucColor); //將LCD內(nèi)存清空數(shù)據(jù)

voidSetBacklightLevel(unsigned char ucLevel);//設(shè)置背景亮度等級(jí)

boolm_bReadModify;//讀寫(xiě)模式標(biāo)記

static unsigned charm_ShadowRam[kPages*kSegments*kCOLOR_BITS];

//LCD內(nèi)存分配

CLcdSim(const CLcdSim);

};

class CGrayLcd : public CLcdSim{

public:

voidClear();

voidSetPixel(int x, int y, int iColor, bool NoModify=FALSE); //進(jìn)行象素控制

voidSetText(const char * szText, int x, int y, Font font, int iColor, int iBGColor,unsigned int iTabPosition=0);//進(jìn)行文字控制

}

voidCGrayLcd::SetText(const char * szText, int x, int y, Font font, int iColor, int iBGColor, unsigned int iTabPosition){

SetTextMono(szText, x, y, font, iColor, iBGColor, iTabPosition);//通過(guò)調(diào)用SetTextMono系統(tǒng)獨(dú)立的API數(shù)據(jù)寫(xiě)入函數(shù)

}

VoidSetTextMono(const char * szText, int x, int y, Font font, int iColor, int iBGColor, unsigned int iTabPosition){ //控制拿到各種語(yǔ)言的文字

#if defined FONT_MEG5

case meg5:pGlyph = (unsigned char*) meg5Versal[ch - 0x20]; break;

#endif

……

default: return;

}

BitmapDesc bmp(pGlyph[3],pGlyph[4], 1,pGlyph+5);//將文字構(gòu)造成系統(tǒng)獨(dú)立的類(lèi)位圖形式

BlitBitmap(…);//將類(lèi)位圖形式寫(xiě)入內(nèi)存

szText++;x += pGlyph[0];

}

顯示效果如圖4:

該種LCD仿真設(shè)計(jì)的優(yōu)點(diǎn)在于,完全的結(jié)構(gòu)化和處理數(shù)據(jù)分離技術(shù)。在結(jié)構(gòu)化方面,不在需要去手動(dòng)控制顯示何種數(shù)據(jù)。如:多國(guó)語(yǔ)言等;完全通過(guò)宏的定義來(lái)處理,大大提高了效率。在處理數(shù)據(jù)分離方面,如果有新的數(shù)據(jù)需要新建在也不是麻煩的在程序中造字了,我們只需要將文字在外部數(shù)據(jù)excel中添加,SetTextMono函數(shù)將會(huì)處理實(shí)現(xiàn),同時(shí)還可以設(shè)計(jì)文字的各種參數(shù)。給開(kāi)發(fā)帶來(lái)了方便,可以使我們更關(guān)注于產(chǎn)品功能的實(shí)現(xiàn)。

5 結(jié)論

仿真系統(tǒng)通過(guò)仿真主控程序可以做到讓這些目標(biāo)程序做特定的運(yùn)行,比如單步、指定斷點(diǎn)、指定地址等。仿真器和電腦主機(jī)就像是兩個(gè)精密的齒輪相互咬合的關(guān)系,這也體現(xiàn)了仿真的特性,即“所見(jiàn)即所得”。這些都是編程器無(wú)法做到的。這些給調(diào)試、修改、以及生成最終程序創(chuàng)造了比較有力的保證,從而實(shí)現(xiàn)較高的效率。

可以說(shuō),現(xiàn)代系統(tǒng)仿真技術(shù)和綜合性仿真系統(tǒng)已經(jīng)成為任何復(fù)雜系統(tǒng),特別是高技術(shù)產(chǎn)業(yè)不可缺少的分析、研究、設(shè)計(jì)、評(píng)價(jià)、決策和訓(xùn)練的重要手段。其應(yīng)用范圍在不斷擴(kuò)大,應(yīng)用效益也日益顯著。

參考文獻(xiàn):

[1] Dickel D M.軟件架構(gòu)組織原則與模式[M].北京:機(jī)械工業(yè)出版社,2003.

[2] 馬忠梅.ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ)[M].北京:航空航天大學(xué)出版社,2002.

[3] MikeyWilliams.Windows2000編程技術(shù)內(nèi)幕[M].北京:機(jī)械工業(yè)出版社,2001.

[4] 龍楊喜,孫書(shū)鷹.基于WinDriver的設(shè)備驅(qū)動(dòng)開(kāi)發(fā)基礎(chǔ)[J].微機(jī)計(jì)算機(jī)信息,2004,20(7):63-64,75.

[5] Gamma E, Helm R, Johnson R,et al.設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)[M].李英,譯.北京:機(jī)械工業(yè)出版社,2000.

[6] McConnell S.代碼大全[M].2版.金戈,譯.北京:電子工業(yè)出版社,2006.

[7] Fowler M.重構(gòu)—改善既有代碼的設(shè)計(jì)[M].侯捷,譯.北京:中國(guó)電力出版社,2003.

[8] Solter M A, Kleper S J.C++高級(jí)編程[M].劉鑫,譯.北京:機(jī)械工業(yè)出版社,2006.

主站蜘蛛池模板: 亚洲va在线观看| 亚洲区第一页| 亚洲黄色高清| 精品久久香蕉国产线看观看gif| 亚洲床戏一区| 新SSS无码手机在线观看| 天天爽免费视频| 日韩麻豆小视频| 国产99视频精品免费观看9e| 精品久久久久久中文字幕女| 免费网站成人亚洲| 欧美www在线观看| 午夜激情婷婷| 日韩毛片免费视频| 欧美精品v日韩精品v国产精品| 欧美a网站| 无码高潮喷水专区久久| 午夜日b视频| 国产成人亚洲毛片| 亚洲另类国产欧美一区二区| 伊人久久久久久久| 国产成人综合网| 呦视频在线一区二区三区| 亚洲综合亚洲国产尤物| 伊人天堂网| 国内嫩模私拍精品视频| 91亚洲国产视频| 精品国产女同疯狂摩擦2| 久久大香伊蕉在人线观看热2| 国产精品第一区| 国产99视频在线| 欧美一级视频免费| 国产综合另类小说色区色噜噜| 国产免费精彩视频| 久操中文在线| 高清欧美性猛交XXXX黑人猛交 | www.91在线播放| 国产大片黄在线观看| 国产资源站| 这里只有精品在线播放| yjizz国产在线视频网| 久久99国产精品成人欧美| 亚洲无码日韩一区| 国产成人免费手机在线观看视频| 亚洲热线99精品视频| 国产黄色片在线看| 永久免费精品视频| 亚洲无线国产观看| 亚洲精品爱草草视频在线| 日韩不卡免费视频| 欧美亚洲日韩不卡在线在线观看| 在线中文字幕日韩| 亚洲天堂日本| 久久窝窝国产精品午夜看片| 国产青青草视频| 亚洲成a人片在线观看88| 天天色综网| 在线观看91精品国产剧情免费| 亚洲区欧美区| 欧美亚洲激情| 亚洲第一福利视频导航| 中文字幕亚洲电影| 国产精品亚洲va在线观看| 亚洲精品你懂的| 欧美黄网在线| 亚洲欧美日本国产综合在线| 亚洲国产中文在线二区三区免| 五月天婷婷网亚洲综合在线| 在线精品自拍| 成人综合在线观看| 国产99视频在线| 精品久久久无码专区中文字幕| 一区二区日韩国产精久久| 亚洲综合色在线| 国产无吗一区二区三区在线欢| 国产美女久久久久不卡| 成人91在线| 露脸国产精品自产在线播| 全部毛片免费看| 亚洲欧美日韩久久精品| 日本欧美一二三区色视频| 日韩成人在线视频|