- 嵌入式Linux應用開發菜鳥進階
- 梁旭輝編著
- 1438字
- 2018-12-30 18:51:06
1.4.2 嵌入式Linux常用工具
在搭建一個硬件系統平臺之前,有必要認真學習一下嵌入式Linux開發中常用工具的使用,其中包括Windows下虛擬機的安裝和使用、source insight以及Linux下的gcc、gdb、vi、gedit等工具的使用。
1.虛擬機的安裝和使用
關于虛擬機的安裝和使用,在網絡發達的今天,這方面的操作講解不勝枚舉,筆者推薦國嵌教育系列教程中虛擬機的安裝和使用,在此不再贅述。
2.source insight代碼閱讀器
source insight工具是一個很好的代碼閱讀工具,可以幫我們快速地定位代碼的索引等功能。特別是在查看Linux內核源碼時,我們可以通過該工具很容易地查找到相應代碼的索引。這個工具是筆者使用過的代碼閱讀器中最好用的一個。特別是在Linux內核開發時,有很多數據結構、變量和函數都是來自Linux內核的,但是Linux內核有幾千萬行代碼,所以無法以手動方式進行查找,而source insight代碼閱讀器提供了這方面的功能。
3.GCC編譯器
GCC原名為GNU C語言編譯器,因為它原本只能處理C語言。GCC很快進行了擴展,變得可處理C++。之后又擴展為可處理FORTRAN、Pascal、Objective-C、Java、Ada及其他語言。
在使用GCC編譯器的時候,必須給出一系列必要的調用參數和文件名稱。GCC編譯器的調用參數大約有100 多個,其中多數參數可能根本就用不到,這里只介紹其中最基本、最常用的參數。
GCC最基本的用法是:gcc [options] [filenames]。其中,options就是編譯器所需要的參數,filenames給出相關的文件名稱。
4.gdb調試器
在Windows下一般都使用Visual Studio自帶的調試工具來進行調試,例如設置斷點、單步跟蹤等。在Linux下,使用GNU開發組發布的調試工具—gdb調試器,它和GCC配套使用,使用起來方便快捷。
當然,使用過Visual Studio開發環境的讀者也許會發現,這個gdb非常不好用,一個大文件需要逐步地瀏覽且每一步都需要設置中斷號,才能進行中斷,非常不方便。剛開始用的時候會覺得非常不方便,而且都是在一個黑乎乎的終端界面中使用,首先從審美上就不適應,這是理所當然。然而當你用得多了,也許就會發現這種開放模式會非常適合你,特別是像我們這些底層開發人員,在對自己編寫的程序進行調試時,由于對自己的程序非常了解,所以手動地設計斷點,然后運行分析我們的程序,會對自己想要的現象和數據非常敏感。而gdb卻可以為你提供這種手動的操作,此時就會覺得gdb非常好用了。
當然,從另外一方面來說,VS中的調試環境其實質也是通過gdb的一個內核進行包裝得來的。所以說要想更好地掌握這些調試知識,從gdb開始學起還是非常有意義的。
5.vi編輯器
通常,vi共分為3種模式,分別是“一般模式”、“編輯模式”與“命令行命令模式”。這3種模式的作用如下。
一般模式:vi處理文件時,一進入該文件,就是一般模式了。在這個模式中,可以使用“上下左右”鍵來移動光標,可以使用“刪除字符”或“刪除整行”來處理文件內容,也可以使用“復制、粘貼”來處理文件數據。
編輯(插入)模式:在一般模式中可以進行刪除、復制、粘貼等操作,卻無法進行編輯操作。要等到按下“i、I、o、O、a、A、r、R”等字母之后才會進入編輯模式。注意,通常在Linux中,按下上述字母時,畫面的左下方會出現“INSERT或REPLACE”的字樣,此時才可以輸入字符到文件中。如果要回到一般模式,則必須按下Esc鍵才可退出編輯模式。
底行(命令行)模式:在一般模式中,輸入“:”或“/”或“?”就可以將光標移到最下面的一行,在這個模式中,可以搜索數據,而且讀取、存盤、大量刪除字符、離開vi、顯示行號等操作也都是在此模式中實現的。
6.gedit編輯器
在Linux中一般都會有一個類似于Windows中記事本一樣的編輯器,那就是gedit編輯器了。如果用不慣vi/vim編輯器,可以使用gedit編輯器來代替。gedit的使用極其簡單,只要輸入gedit + 文件名就可以進行文件的編輯了,這里不再贅述。
- Designing Purpose:Built Drones for Ardupilot Pixhawk 2.1
- Linux運維實戰:CentOS7.6操作系統從入門到精通
- Modern Web Testing with TestCafe
- Linux系統架構與運維實戰
- Linux Mint Essentials
- 新手易學:系統安裝與重裝
- Windows Server 2012 Hyper-V Cookbook
- SharePoint 2013 應用開發實戰
- 計算機系統開發與優化實戰
- Linux操作系統應用編程
- 數據中心系統工程及應用
- 操作系統分析
- Linux基礎使用與案例
- Cassandra 3.x High Availability(Second Edition)
- 鴻蒙操作系統設計原理與架構