




已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第6章 源程序編譯及調(diào)試,嵌入式技術基礎與實踐,本章首先介紹上述兩種開發(fā)環(huán)境及其使用方法,在此基礎上,詳細講述匯編及08C源程序編譯過程,編譯時產(chǎn)生的相關文件,最后闡述在線調(diào)試方法。,6.1 MT-IDE集成開發(fā)套件,集成開發(fā)套件由硬件系統(tǒng)和軟件系統(tǒng)組成。硬件系統(tǒng)包括寫入調(diào)試器、核心板和擴展板,軟件系統(tǒng)完成源程序編輯、工程管理、編譯,通過USB接口與寫入調(diào)試器通信、下載及調(diào)試等功能。,6.1.1 硬件平臺,MT-IDE通用開發(fā)套件硬件及接口部分主要包括擴展板MT-Extend Board I、核心板MT-Core和HC08寫入調(diào)試器MT-Programmer三個部分。,MTExtend Board I型擴展板實物圖,MC908GP32CB核心板實物圖,6.1.2 軟件概述,(1) MT-IDE軟件系統(tǒng)的功能和特點 具體功能如下: 支持Freescale HC08系列的所有MCU 以工程的方式管理文件 支持C和匯編語言的源文件編輯、編譯 支持HC08系列MCU的Flash操作(擦除寫入和讀出) 支持C和匯編語言的斷點調(diào)試與單步調(diào)試 支持內(nèi)存與寄存器觀察 支持S-Record文件,(2) MT-IDE軟件系統(tǒng)的安裝 安裝MT-IDE軟件 當成功安裝本軟件后,將會在安裝目錄下產(chǎn)生如下文件夾: bin:可執(zhí)行程序文件夾。 Docs:說明文檔文件夾。包含軟件使用的說明文檔。 Include:08C頭文件夾。包含08C編譯器用到的C的頭文件。 Lib:08C庫文件夾。包含08C鏈接時用到的庫文件。 Stationary:框架程序文件夾。包含各種芯片的基本的框架程序,在新建工程時,作為空工程的模板。 安裝USB驅(qū)動,6.2 MT-IDE集成開發(fā)環(huán)境的使用,6.2.1 運行第一個匯編工程實例 在08教學資料目錄下的“MT-HC(S)08ProgramV2007”文件夾中,存放了本書中出現(xiàn)的所有實例工程,如果需要運行這些程序,可以將這個文件夾拷貝到用戶的工作目錄下。注意,若要調(diào)試某個工程,不要在“MT-HC(S)08ProgramV2007”文件夾中直接運行,而應將相應的工程做一個備份,然后調(diào)試、運行這個備份工程。始終保留一個最近調(diào)試成功的工程,而每次修改僅在相應的備份上進行,這樣做是十分必要的,因為一旦修改錯誤,而又找不到癥結所在時,還可以使調(diào)試工作還原到一個最近的正確點上,以便重新開始。,下面,我們將使用這個方法,運行在第四章中已分析過的第一個匯編工程PrgFrame。 (1) 打開工程 (2) 編譯工程 (3) 下載機器碼 (4) 連接硬件對象 (5) 運行芯片中的程序 (6) 調(diào)試程序 (7) 實驗中常見問題與解決方法,6.2.2 編譯過程中產(chǎn)生的文件,PrgFrame匯編工程編譯成功后,會產(chǎn)生如下文件: PrgFrame.dbg-帶有調(diào)試信息的文件 PrgFrame.mp-存儲映像文件 PrgFrame.s19-目標代碼文件 main.lis-列表文件 main.o-目標對象文件,6.2.3 新創(chuàng)建一個匯編工程,現(xiàn)在,就介紹兩種新建工程的方法: (1) 拷貝新建法 拷貝新建法就是拷貝一個已有的工程,然后在此基礎上進行修改,得到一個滿足需求的新工程。例如,現(xiàn)在要新建一個匯編工程,完成用一個開關控制一盞燈(開關打開,小燈亮;開關閉合,小燈暗)的功能。給這個工程命名為SwitchCtrl。它和第一個實例工程PrgFrame十分相似,所以可以利用PrgFrame新建SwitchCtrl。步驟如下: 拷貝并重命名PrgFrame工程文件夾。 在工程文件夾中修改工程文件名“PrgFrame.prj”為“SwitchCtrl.prj”。 對原有工程在文件層上做必要的增刪后,就要開始編輯新工程了。在MT-IDE軟件中打開新工程中的工程文件SwitchCtrl.prj,發(fā)現(xiàn)并沒有打開整個工程(工程列表中沒有具體的程序文件),原因是在上一步中修改了工程文件名,這時要在列表中的工程文件目錄上右擊添加工程文件夾中已有的文件或通過文件菜單中的新建選項,新建程序文件。單擊文件菜單中的新建選項,出現(xiàn)新建對話框,選擇新建文件選項卡,填入新文件的路徑,文件名,文件類型,用這種方法可在工程中新建“.s”“.h”“.txt”三種類型的文件。,(2) 向?qū)陆ǚ?打開MT-IDE軟件,點擊文件菜單下的新建選項,選擇新建工程選項卡,填寫所建工程的路徑,工程名,工程類型(匯編/C),工程的控制芯片等信息,確定后,將會自動生成所需的匯編工程框架。框架中已包含所有面向芯片的程序文件和主程序文件框架,對這些文件,只須根據(jù)需要稍加修改即可。另外,還要在工程中新建硬件對象的控制程序文件,和必要通用程序文件。新建文件的方法已經(jīng)討論過,這里不再詳述。 用以上任何一種方法新建工程,組織好文件后,就可以開始編輯,編譯,調(diào)試程序了。,6.2.4 運行第一個C工程實例,運行C工程的步驟也可以分成打開工程、編譯工程、下載工程、連接硬件對象、運行芯片中程序和調(diào)試等。前面介紹了運行第一個匯編工程的具體步驟,參照這些步驟,可以運行第一個C工程實例,這里不再具體闡述,只是列出運行C工程與運行匯編工程的不同之處。,(1)編譯過程產(chǎn)生的List文件不同 C工程編譯產(chǎn)生的List文件,與匯編工程不同之處在于C工程編譯產(chǎn)生的List文件中包含了C語句以及其對應的匯編語句,并對其中的C語句加上了行號,方便閱讀,C工程編譯產(chǎn)生的List文件的閱讀方法同匯編工程,這里不再闡述。 (2)調(diào)試方法不同 C工程的調(diào)試方法也分為跟蹤法和程序法兩種,程序法同匯編工程,只將串行口的子程序換成相應的C函數(shù)即可。在跟蹤法中,寄存器跟蹤窗口和存儲器跟蹤窗口的調(diào)試方法同匯編,這里不再闡述。在變量跟蹤窗口中可以輸入C工程中定義的變量,在調(diào)試中,窗口中變量的值將隨程序的執(zhí)行而發(fā)生改變。,圖6-9 C工程調(diào)試界面,6.3 CodeWarrior軟件簡介,CodeWarrior開發(fā)工具是一個比較復雜的軟件,其功能很強,以下簡單介紹CodeWarrior的使用方法,使讀者快速入門,更多的功能和用法請閱讀該軟件包中包含的大量文檔,在實踐中不斷熟悉和掌握。本節(jié)將以CodeWarrior for HC08 V3.0說明該軟件的使用方法。,6.3.1 CodeWarrior的安裝 運行安裝文件夾下的“setup.exe”文件,按照安裝向?qū)Ь涂梢酝瓿绍浖陌惭b,默認安裝在“C:Program FilesMetrowerksCodeWarrior CW08_V3.0”文件夾下。 “Bin”文件夾主要包含了CodeWarrior IDE環(huán)境的可執(zhí)行文件“IDE.exe”,“l(fā)ib”文件夾主要包含了HC08的頭文件及庫文件,“prog”文件夾主要包含了匯編、編譯、反匯編、連接、調(diào)試及下載等可執(zhí)行文件。 安裝完畢后要通過網(wǎng)絡注冊以申請使用許可,申請后會通過E-Mail得到一個License.dat文件,將該文件復制到安裝文件夾下。對于免費的特別版本,用安裝包中的License.dat覆蓋安裝目錄下的License.dat文件,就可以使用了。,6.3.2 新建工程 安裝CodeWarrior后,在開始菜單下有IDE環(huán)境的快捷方式“CodeWarrior IDE”,執(zhí)行該命令得到集成開發(fā)環(huán)境。 單擊“File”菜單下的“New”命令將出現(xiàn)新建文件或工程的對話框,其中有三個選項:Empty Project、HC(S)08 Board Support Stationary、HC(S)08 New Project Vizard。在新建工程時,通常選擇后兩項中的一項。 選擇“HC(S)08 New Project Vizard”項,輸入工程的名字“Example1”,設定工程保存的路徑,單擊確定按鈕。 在接下來的新建工程向?qū)н^程中,需要選擇芯片的名稱、編程語言、浮點數(shù)格式、存儲器模式、相連的編程調(diào)試器等選項,假如這些選項使用默認選項,最后單擊“完成”,得到的工程文件管理窗口,工程文件擴展名為“.mcp”。工程窗口頂端有三個標簽頁:“Files”、“Link Order”鏈接順序和“Targets”。,6.3.3 編譯、鏈接與仿真調(diào)試 單擊“Project”菜單下的“Make”或工程工具欄的“Make”命令編譯該工程,這將更新所有需要編譯的文件并產(chǎn)生相應的輸出文件。在編譯、鏈接沒有錯誤時,可以進行仿真調(diào)試程序。單擊工程窗口工具欄的Debug按鈕,會彈出仿真調(diào)試界面。 仿真調(diào)試界面包含了Source、Procedure、Data1、Data2、Command、Assembly、Register和Memory8個子窗口,工具欄中包含的調(diào)試按鈕有:運行、單步步入、單步步過、單步步出、匯編語言的單步運行、停止、目標板復位。,進一步討論,6.4.1MCU中Flash程序的保密機制 Freescale的MCU具有非常好的程序保密性能,一旦啟用保密機制,開發(fā)者以外的人幾乎不可以讀出其中的程序代碼。HC08系列MCU將Flash空間$FFF6$FFFD的8字節(jié)復用為保密字節(jié)(它本來是中斷矢量區(qū)),只要在這8個字節(jié)上寫入了內(nèi)容,它就成為了密碼字節(jié),所以讀者在做實際項目時,即使沒有這個區(qū)的中斷矢量,也不要把這幾個字節(jié)空閑,寫入一些沒有規(guī)律的字節(jié)內(nèi)容,有助于提高保密性。如果用戶想讀出某款芯片中的程序,必須知道這8個字節(jié)的內(nèi)容,否則讀出的數(shù)據(jù)就是無意義的。在上述讀Flash操作中,“文件提取”密碼的選項的實質(zhì)就是從當前工程的S19文件中制取$FFF6$FFFD的8字節(jié)作為密碼,如果MCU中的程序不是當前工程中的程序代碼,在執(zhí)行讀Flash操作時,就會出現(xiàn)“密碼不匹配”的提示。,6.4.2 驗證MCU中程序的正確性,在將程序下載到MCU中以后,如何知道程序已經(jīng)正確無誤地下載到MCU中呢?可以通過下面的方法來驗證MCU中的程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年安全評價師(高級)職業(yè)技能鑒定案例分析解析冊
- 2025年消防執(zhí)業(yè)資格考試題庫:消防應急救援戰(zhàn)例分析實戰(zhàn)演練試卷
- 2025年美術教師編制考試模擬試卷:美術教育心理學研究與應用試題
- 2025年CPE考試試卷:寫作思路引導與2025年考試熱點話題分析
- 語文課上難忘的一件事周記(13篇)
- 2025年輕油蒸汽轉(zhuǎn)化催化劑項目提案報告
- 2025年草除靈乙酯項目申請報告
- 2025年一建考試機電工程經(jīng)濟與造價管理實戰(zhàn)案例分析試題卷
- 2025年物業(yè)管理師考試物業(yè)管理物業(yè)設施運行管理實施改進報告反思試卷
- 在閱讀中發(fā)現(xiàn)美好閱讀感悟作文8篇
- 糖尿病飲食治療講課件
- 輸液反應急救護理流程講課件
- 鋼結構倉庫施工組織設計
- 變電站電氣設備管理制度
- 50篇短文搞定高考英語3500單詞
- 物業(yè)消防檢查培訓課件
- 2025年四川省內(nèi)江市中考數(shù)學試題【含答案解析】
- 外研社版小學英語(三起)四年級下冊單詞默寫表
- 2025年瀘州市中考數(shù)學試卷真題(含答案解析)
- 山東省菏澤市2023?2024學年高一下學期7月期末考試 數(shù)學試題(含解析)
- 河南省豫地科技集團有限公司招聘筆試真題2024
評論
0/150
提交評論