6 LPCXpresso IDE 調(diào)試系統(tǒng)和技巧
6.1 調(diào)試系統(tǒng)
6.1.1 調(diào)試屬性未使能
LPCXpresso的所有屬性都是上下文相關(guān)的。如果屬性被禁止了,或者一些菜單和工具欄按鈕被禁止了,雙擊打開項目管理器中的.c文件進入。如果你正在編譯庫項目中的.c文件,調(diào)試特性也是被禁止的。
6.1.2 寄存器顯示錯誤或起始調(diào)試錯誤
確認MCU型號是否正確。當前選擇的MCU型號在LPCXpresso界面窗口下面的狀態(tài)欄中顯示。通過按住鍵盤上的“Ctrl”鍵并點擊可以修改MCU型號。在彈出的對話框中選擇正確的MCU型號。如下圖所示。
6.1.3 優(yōu)化 優(yōu)化選項使能后,代碼將會被重新排序。也即意味著冗余的C代 碼行將會被重新整合。另外,初始化部分將會被放在程序最頂部,以使他們只被執(zhí)行一次。這些改變會使用于調(diào)試的代碼變得混亂。你會看到一些異常情況:斷點只 能在第一次運行的時候有效,調(diào)試的時候程序走向指針指示的位置不正確等。最好的解決辦法是:在調(diào)試的時候,優(yōu)化等級設(shè)置為O0。代碼優(yōu)化能夠使代碼的大小和性能發(fā)生很大變化,用代碼優(yōu)化來測試你最終的產(chǎn)品是個很好的辦法。6.1.4 顯示匯編指令單擊i->圖標,在當前指令周圍將會顯示反匯編觀察窗口。
6.1.5 退出調(diào)試模式并停止調(diào)試 在調(diào)試窗口中的工具欄內(nèi)點擊”Stop”按鈕(紅色方形按鈕),即可終止調(diào)試并退出調(diào)試模式。6.1.6 程序下載。要想獲得最好的編程和調(diào)試效果,計算機的操作系統(tǒng)應(yīng)該是Vista 或者Windows 7,在Windows XP操作系統(tǒng)下,調(diào)試運行的速度明顯要慢一些。但是并不影響代碼的執(zhí)行速度,只是軟件的響應(yīng)速度等變慢了。同樣需要確認LPCXpresso開發(fā)板正確的直接連接到PC機上。通過hub、網(wǎng)關(guān)或USB分線器連接的效果不是很好。6.2 數(shù)據(jù)手冊閱覽器 LPCXpresso內(nèi)置了一個集成網(wǎng)頁瀏覽器,在項目中直接點擊右下角的MCU型號,就可以查看該型號MCU的數(shù)據(jù)手冊。如下圖所示。6.3 代碼長度6.3.1 格式輸出 當優(yōu)化項目大小時,如果使用格式輸出,必須在項目屬性對話框中將Redlib選為標準庫。這個選項必須在兩個位置進行設(shè)置:頭文件、庫。最好也要在調(diào)試目標和發(fā)布目標這兩處進行設(shè)置。頭文件選項在左側(cè)的樹形文件列表的C/C++ Build文件夾中。需要確認工具設(shè)置標簽是否處于激活狀態(tài),并且在右側(cè)的樹形文件列表中選擇MCU C Compiler下面的Target,在設(shè)置選框中選擇調(diào)試或者發(fā)布目標,在C庫頭文件下選擇Redlib,這個通常是默認設(shè)置。如下圖所示。 在相同的對話框中,選擇MCU Linker下面的Target選項,再次設(shè)置鏈接時的標準庫函數(shù)為Redlib。默認設(shè)置是Redlib(semihost),語序所有I/O通過LPCXpresso控制臺連接到PC。如下圖所示。
在Redlib中執(zhí)行格式輸出是Newlib格式輸出的一半大小。如果不使用浮點格式字符串的話,可以在Redlib中使用更小的格式輸出庫。如果要選擇更小的庫,在編譯器( )中定義符號 。為保存更大的空間,避免使用格式輸出或者任何C標準庫函數(shù)功能,并且選擇Redlib(none)。根據(jù)你的格式輸出設(shè)置和代碼,這樣能節(jié)省10-20K的flash存儲器。
6.3.2 優(yōu)化
有話可以節(jié)省很多flash存儲器空間。像設(shè)置C標準庫一樣在相同的對話框中進行優(yōu)化設(shè)置。在“Tool Settings”標簽中選擇“MCU C Compiler”選項,然后在該選項下選擇“Optimization(優(yōu)化)”選項。高的優(yōu)化水平會導(dǎo)致高的性能結(jié)果,但是也可能會導(dǎo)致代碼量的大幅度增加。最好的方式是:在調(diào)試時選擇-O0優(yōu)化,在發(fā)布時選擇更高的優(yōu)化選項。可以試著選擇-Os –mword –relocations進行代碼的最大優(yōu)化。使用GCC的時候,還有更多可用的優(yōu)化選項,請訪問以下網(wǎng)址獲得更多信息:
6.4 顯示隱藏窗口 觀察窗口在IDE環(huán)境中顯示各種各樣的信息,可以顯示源代碼、項目樹、調(diào)試窗口等。如果你不小心關(guān)閉了其中一些窗口,可以從Window菜單中選擇Showing View and Other,并從中選擇打開相應(yīng)窗口。將會彈出一個對話框允許你選擇并顯示一個窗口。如下圖所示。
6.5 在新工作區(qū)創(chuàng)建一個‘skeleton’項目 LPCXpresso包含多種項目模板以幫助快速建立項目文件。6.5.1 創(chuàng)建一個新工作區(qū) 從“File”菜單中選擇“Switch Workspace”,然后選擇“Other…”。將會彈出一個“Workspace Launcher”對話框。輸入或者選擇一個新的路徑,在此將這個新工作區(qū)命名為“NewWorkspace”。如下圖所示。
然后單擊“OK”完成創(chuàng)建并重新回到帶有這個新工作區(qū)的LPCXpresso環(huán)境中。6.5.2 創(chuàng)建“Skeleton”項目在快速啟動面板單擊“Project and File Wizards”標簽。單擊“MCU project wizards”,并選擇“Creat NXP Project”
在彈出的對話框中輸入項目名字。將項目名字命名為“MyProject”,然后單擊“Next”。 如果使用的是基于Cortex-based的部分,將會詢問是否使用CMSIS。CMSIS支持Cortex控制器的軟件接口標準。CMSIS定義了一個通用的訪問外設(shè)寄存器和定義中斷的方式。選中“Use CMSIS”復(fù)選框并單擊“Next”。如下圖所示。
接著彈出詢問“源文件信息”選項,輸入作者及版本等文本信息。
然后彈出一個選擇創(chuàng)建編譯設(shè)置對話框。選擇默認設(shè)置即可。如下圖所示。
最后,彈出“SelcetProcessorType”對話框。在這里選擇MCU的型號。然后單擊“Finish”。至此完成了一個項目的創(chuàng)建。本項目中MCU型號是LPC1343。如下圖所示。
在編譯“skeleton”項目之前,還有最后一步工作。由于在這個例子中我們選擇了CMSIS,所以必須在本工作區(qū)中輸入CMSIS項目。再次點擊“Import Example Project”,找到“CMSIS<version/part>.zip”。將這個項目加入到工作區(qū)中,在快速啟動面板里單擊“Build all projects(Debug)”。
恭喜!你成功的建立了第一個項目!
LPCXpresso 目標板和LPC-LINK的原理圖如下所示(略)。LPCXpresso開發(fā)板與NXP芯片引腳兼容。LPCXpresso可以使用三種供電方式:mini-USB端口供電,3.3V電壓直接向板子供電,5V電源通過USB口供電。10芯mini JTAG電纜連接LPC-LINK和目標板,這個可以通過Digi-key購買。
尺寸:LPCXpresso LPC1343的外形尺寸是1.35*5.45英寸。包含兩排間距為900mil的焊孔。每一排包含27個間距為100mil的焊孔。