資源描述:
《Keil uVision2相關(guān)介紹及與愛思仿真器的應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、KeiluVision2相關(guān)介紹及與愛思仿真器的應(yīng)用演講人:叢進(jìn)內(nèi)容提要KeiluVision2簡(jiǎn)介Keil特點(diǎn)uVision2綜述項(xiàng)目初始化工程的詳細(xì)設(shè)置編譯與連接進(jìn)入調(diào)試狀態(tài)與愛思仿真器的應(yīng)用實(shí)例PROTEUS簡(jiǎn)介PROTEUS特點(diǎn)PROTEUS與Keil聯(lián)調(diào)KeiluVision2簡(jiǎn)介單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試
2、器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。Keil特點(diǎn):全功能的源代碼編輯器;器件庫(kù)用來配置開發(fā)工具設(shè)置;項(xiàng)目管理器用來創(chuàng)建和維護(hù)用戶的項(xiàng)目;集成的MAKE工具可以匯編、編譯和連接用戶嵌入式應(yīng)用;所有開發(fā)工具的設(shè)置都是對(duì)話框形式的;真正的源代碼級(jí)的對(duì)CPU和外圍器件的調(diào)試器;高級(jí)GDI(AGDI)接口用來在目標(biāo)硬件上進(jìn)行軟件調(diào)試以及和Monitor-51進(jìn)行通信;uVision2綜述Keil文本編輯窗口:一、項(xiàng)目初始化在項(xiàng)目開發(fā)中,并不是僅有一個(gè)源程序就行了,還
3、要為這個(gè)項(xiàng)目選擇CPU(Keil支持?jǐn)?shù)百種CPU,而這些CPU的特性并不完全相同),確定編譯、匯編、連接的參數(shù),指定調(diào)試的方式,有一些項(xiàng)目還會(huì)有多個(gè)文件組成等,為管理和使用方便,Keil使用工程(Project)這一概念,將這些參數(shù)設(shè)置和所需的所有文件都加在一個(gè)工程中,只能對(duì)工程而不能對(duì)單一的源程序進(jìn)行編譯(匯編)和連接等操作,下面我們就一步一步地來建立工程。1.1、創(chuàng)建新項(xiàng)目單擊Project菜單,在彈出的下拉菜單中選中NewProject選項(xiàng)2.2、選擇CPU彈出一個(gè)選擇CPU型號(hào)的對(duì)話框,可以根據(jù)
4、所使用的單片機(jī)來選擇,如圖所示選擇Ateml89S52,選定CPU型號(hào)之后從窗口右邊一欄可以看到對(duì)這個(gè)單片機(jī)的基本說明,然確定按鈕。3.3、源程序文件的新建注意,如果用C語(yǔ)言編寫程序,則擴(kuò)展名為(.c);如果用匯編語(yǔ)言編寫程序,則擴(kuò)展名必須為(.asm)。4.4、添加文件到當(dāng)前項(xiàng)目組中文件加入到項(xiàng)目中二、工程的詳細(xì)設(shè)置程序文件添加完畢后,然后將鼠標(biāo)指向“Target1”并單擊右鍵,再?gòu)膹棾龅挠益I菜單中單擊“OptionsforTarget”選項(xiàng),如圖所示:OptionsforTarget2.1、Targ
5、et頁(yè)面設(shè)置設(shè)置選項(xiàng)SmallCompactLarge三種模式:片外ROM地址設(shè)置片外RAM地址設(shè)置KeilC51可以支持程序代碼超過64KB,最大2MB的程序代碼2.2、Options頁(yè)面設(shè)置選上,生成HEX文件要燒錄芯片做硬件實(shí)驗(yàn),就必須選中該項(xiàng)2.3、Listing頁(yè)面設(shè)置編譯后生成資源分配表2.4、Debug頁(yè)面設(shè)置愛思仿真器驅(qū)動(dòng)2.5、愛思仿真器硬件設(shè)置三、編譯與連接編譯編譯當(dāng)前文件編譯修改過的文件并生成應(yīng)用程序重新編譯所有文件并生成應(yīng)用程序出現(xiàn)錯(cuò)誤列表編譯無誤四、進(jìn)入調(diào)試狀態(tài)按下Keil內(nèi)建
6、了一個(gè)仿真CPU用來模擬執(zhí)行程序,該仿真CPU功能強(qiáng)大,可以在沒有硬件和仿真機(jī)的情況下進(jìn)行程序的調(diào)試,下面將要學(xué)的就是該模擬調(diào)試功能。不過在學(xué)習(xí)之前必須明確,模擬畢竟只是模擬,與真實(shí)的硬件執(zhí)行程序肯定還是有區(qū)別的,其中最明顯的就是時(shí)序,軟件模擬是不可能和真實(shí)的硬件具有相同的時(shí)序的,具體的表現(xiàn)就是程序執(zhí)行的速度和各人使用的計(jì)算機(jī)有關(guān),計(jì)算機(jī)性能越好,運(yùn)行速度越快。進(jìn)入調(diào)試狀態(tài)后,界面與編緝狀態(tài)相比有明顯的變化。Keil調(diào)試窗口環(huán)境:存儲(chǔ)器窗口工程窗口寄存器頁(yè)顯示連接狀態(tài)及監(jiān)控程序版本號(hào)4.1常用調(diào)試命令D
7、ebug菜單上的大部份命令可以在此找到對(duì)應(yīng)的快捷按鈕,從左到右依次是復(fù)位、運(yùn)行、暫停、單步、過程單步、執(zhí)行完當(dāng)前子程序、運(yùn)行到當(dāng)前行、下一狀態(tài)、打開跟蹤、觀察跟蹤、反匯編窗口、觀察窗口、代碼作用范圍分析、1#串行窗口、內(nèi)存窗口、性能分析、工具按鈕等命令。學(xué)習(xí)程序調(diào)試,必須明確兩個(gè)重要的概念,即單步執(zhí)行與全速運(yùn)行。全速執(zhí)行是指一行程序執(zhí)行完以后緊接著執(zhí)行下一行程序,中間不停止,這樣程序執(zhí)行的速度很快,并可以看到該段程序執(zhí)行的總體效果,即最終結(jié)果正確還是錯(cuò)誤,但如果程序有錯(cuò),則難以確認(rèn)錯(cuò)誤出現(xiàn)在哪些程序行。
8、單步執(zhí)行是每次執(zhí)行一行程序,執(zhí)行完該行程序以后即停止,等待命令執(zhí)行下一行程序,此時(shí)可以觀察該行程序執(zhí)行完以后得到的結(jié)果,是否與我們寫該行程序所想要得到的結(jié)果相同,借此可以找到程序中問題所在。程序調(diào)試中,這兩種運(yùn)行方式都要用到。使用菜單STEP或相應(yīng)的命令按鈕或使用快捷鍵F11可以單步執(zhí)行程序。使用菜單STEPOVER或功能鍵F10可以以過程單步形式執(zhí)行命令,所謂過程單步,是指將匯編語(yǔ)言中的子程序或高級(jí)語(yǔ)言中的函數(shù)作為一個(gè)語(yǔ)句來全速執(zhí)行。跳出