微软 shell php mysql centos linux 程序员 java Android 开源 Ubuntu wordpress Python nginx Windows google 云计算 apache Firefox 编程

配置ADS调试环境

 對ARM程序開發而言,目前比較流行的IDE有2套:運行於Windows平臺的ADS和運行於Linux平臺的gcc等交叉編譯工具鏈。總的來看,ADS在程序的編譯和調試方面要比gcc使用起來方便很多,也更容易掌握和使用,因此針對初學者,本書現在將展示ADS的使用。

 ADS 由命令行開發工具、GUI(Graphics User Interface,圖形用戶界面)開發環境(Code Warrior和AXD)、實用程序和支持軟件組成。有了這些部件,用戶就可以為ARM系列的RISC處理器編寫和調試自己的開發應用程序了。下面將分別 介紹這4個組成部分。

1.命令行開發工具

 命令行開發工具在實際應用中相對比較廣泛,用它最大的好處就是可以將許多編譯命令寫在一個腳本文件中,然後只執行該腳本文件就可以讓工具自動完成所有編譯的 工作。命令行中常用的命令如下。

(1)armcc

 armcc 是ARM C編譯器,這個編譯器通過了Plum Hall C Validation Suite為ANSI C的一致性測試。armcc用於將用ANSI C編寫的程序編譯成32位ARM指令代碼。

 以 下簡單介紹一些最常用的操作選項。

   -c  表示只進行編譯不連接文件;

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

   -D<symbol>  定義預處理宏,相當於在源程序開頭使用了宏定義語句;

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

    -g<options>  指定是否在生成的目標文件中包含調試信息表;

    -I<directory>  將directory所指的路徑添加到#include的搜索路徑列表中去;

   -J<directory>  用directory所指的路徑代替默認的對#include的搜索路徑;

   -o<file>  指定編譯器最終生成的輸出文件名。

(2)armcpp

armcpp 是ARM C++編譯器,它將ISO C++ 或EC++ 編譯成32位ARM指令代碼。該編譯器的命令選項和armcc的選項基本一樣,這裏就不再重復。

(3)tcc

tcc 是Thumb C編譯器,該編譯器通過了Plum Hall C Validation Suite為ANSI一致性的測試。tcc將ANSI C源代碼編譯成16位的Thumb指令代碼,同時它的編譯選項和用法類似armcc,具體使用請參考ADS軟件的在線幫助文件。

(4)tcpp

tcpp 是Thumb C++ 編譯器,它將ISO C++ 和EC++源碼編譯成16位Thumb指令代碼,同時它的編譯選項和用法類似armcc,具體使用請參考ADS軟件的在線幫助文件。

(5)armasm

  armasm 是ARM和Thumb的匯編器,它對用ARM匯編語言和Thumb匯編語言寫的源代碼進行匯編。在命令行輸入:armasm –help將會看到armasm匯編器的用法以及它的編譯選項。

  CodeWarrior for ARM是一套完整的集成開發工具,充分發揮了ARM RISC 的優勢, 使產品開發人員能夠很好的應用尖端的片上系統技術。該工具是專為基於ARM RISC的處理器而設計的,它可加速並簡化嵌入式開發過程中的每一個環節,使得開發人員只需通過一個集成軟件開發環境就能研制出ARM產品,在整個開發周 期中,開發人員無需離開CodeWarrior開發環境,因此節省了在操作工具上花的時間,使得開發人員有更多的精力投入到代碼編寫上 來。

  CodeWarrior集成開發環境(IDE)為管理和開發項目提供了簡單多樣化的圖形用戶界面。用戶可以使用ADS的CodeWarrior IDE為ARM和Thumb處理器開發用C、C++或ARM匯編語言編寫的程序代碼。CodeWarrior IDE縮短了用戶開發項目代碼的周期,主要是由於:一是全面的項目管理功能;二是子函數的代碼導航功能,使得用戶能迅速找到程序中的子函數。

延伸阅读

评论