天天看點

ADS1.2 內建開發環境的使用

  連風大神都沒用過這個ADS1.2,什麼破玩意兒啊,好像闆子裡面的資料也沒有找到有這個軟體,但是網上有滴,ADS1.2 內建開發環境的使用還是要會的,,,

  ARM ADS 全稱為ARM Developer Suite 。是ARM 公司推出的新一代ARM 內建開發工具。除了可以安裝在WindowsNT4 、Windows 2000 、Windows 98 和Windows

95 作業系統之外,還支援Windows XP 和Windows Me 作業系統。就是沒有win7,但是咨詢大神,說是可以的,吓了我一跳呢。還好可以。

  指令行開發工具:

  ADS 提供下面的指令行開發工具:armcc(ARM C 編譯器,用于将用ANSI C 編寫的程式編譯成32 位ARM 指令代碼)

  

-c :表示隻進行編譯不連結檔案;

-C : ( 注意:這是大寫的C) 禁止預編譯器将注釋行移走;

-D<symbol> :定義預處理宏,相當于在源程式開頭使用了宏定義語句#define symbol,這裡symbol 預設為1 ;

-E :僅僅是對C 源代碼進行預處理就停止;

-g<options> :指定是否在生成的目标檔案中包含調試資訊表;

-I<directory> :将directory 所指的路徑添加到#include 的搜尋路徑清單中去;

-J<directory> :用directory 所指的路徑代替預設的對#include 的搜尋路徑;

-o<file> :指定編譯器最終生成的輸出檔案名。

-O0 :不優化;

-O1 :這是控制代碼優化的編譯選項,大寫字母O 後面跟的數字不同,表示的優化級别就不同,-O1 關閉了影響調試結果的優化功能;

-O2 :該優化級别提供了最大的優化功能;

-S :對源程式進行預處理和編譯,自動生成彙編檔案而不是目标檔案;

-U<symbol> :取消預處理宏名,相當于在源檔案開頭,使用語句#undef symbol;

-W<options> :關閉所有的或被選擇的警告資訊;

 GUI 開發環境(Code Warrior 和AXD) : 

  1、CodeWarrior 內建開發環境

在CodeWarrior IDE 中所涉及到的target 有兩種不同的語義。

目标系統(Target system)【是特指代碼要運作的環境,是基于ARM 的硬體。比如,要為ARM 開發闆上編寫要運作在它上面的程式,這個開發闆就是目标系統。】                                         

生成目标(Build target)【是指用于生成特定的目标檔案的選項設定( 包括彙編選項,編譯選項,連結選項以及連結後的處理選項) 和所用的檔案的集合。】

  2、ADS 調試器(調試器本身是一個軟體,使用者通過這個軟體使用debug agent 可以對包含有調試資訊的,正在運作的可執行代碼進行比如變量的檢視,斷點的控制等調試操          作。)

AXD(ARM eXtended Debugger) : ARM 擴充調試器;

armsd(ARM Symbolic Debugger) : ARM 符号調試器;

與老版本相容的Windows 或Unix 下的ARM 調試工具, ADW/ADU(Application DebuggerWindows/Unix)。

下面對在調試映像檔案中所涉及到的一些術語做一個簡單的介紹。

Debug target

  在軟體開發的最初階段,可能還沒有具體的硬體裝置。如果要測試所開發的軟體是否達到了預期的效果,這可以由軟體仿真來完成。即使調試器和要測試的軟體運作在同一台PC 上,也可以把目标當作一個獨立的硬體來看待。當然,也可以搭建一個PCB 闆,這個闆上可以包含一個或多個處理器,在這個闆上可以運作和調試應用軟體。隻有當通過硬體或者是軟體仿真所得到的結果達到了預期的效果,才算是完成了應用程式的編寫工作。

調試器能夠發送以下指令:

1)裝載映像檔案到目标記憶體;

2)啟動或停止程式的執行;

3)顯示記憶體,寄存器或變量的值;

4)允許使用者改變存儲的變量值。

  Debug agentDebug agent 執行調試器發出的指令動作,比如:設定斷點,從存儲器中讀資料,把資料寫到存儲器等。Debug agent 既不是被調試的程式,也不是調試器。在ARM 體系中,它有這幾種方式: Multi-ICE(Multi-processor in-circuit emulator) , ARMulator 和Angel 。其中Multi-ICE 是一個獨立的産品,是ARM 公司自己的JTAG 線上仿真器,不是由ADS 提供的。AXD 可以在Windows 和UNIX 下,進行程式的調試。它為用C , C++ ,和彙編語言編寫的源代碼提供了一個全面的Windows 和UNIX 環境。

繼續閱讀