新聞中心

        EEPW首頁 > 嵌入式系統 > 新品快遞 > SldView嵌入式Linux集成開發環境

        SldView嵌入式Linux集成開發環境

        ——
        作者:西安建華 王麗剛 時間:2005-05-27 來源:電子產品世界 收藏

            建華科技經過多年研發,成功推出SldView集成開發環境。SldView運行于Windows系統中,支持ucosii、uc三種操作系統的開發。支持從編輯代碼、交叉編譯、交叉調試的開發全過程,支持Linux內核、驅動、任務級、模塊等動態調試,支持內核、驅動、任務、模塊等同步調試。

        1. 當前Linux開發模式

          嵌入式系統通常為一個資源受限的系統。直接在嵌入式系統的硬件平臺上編寫軟件比較困難,有時甚至是不可能的。一般流程見圖1。目前,一般采用的辦法是,先在通用計算機上編寫程序,然后,通過交叉編譯,生成目標平臺上可運行的二進制代碼格式,最后下載到目標平臺上的特定位置上運行
             
            第一步,建立嵌入式Linux交叉開發環境。目前,常用的交叉開發環境主要有開放和商業兩種類型。交叉開發環境是指編譯、鏈接和調試嵌入式應用軟件的環境。它與運行嵌入式應用軟件的環境有所不同,通常采用宿主機/目標機模式,在宿主機上編寫好源代碼及相關的配置文件。
         
            第二步,交叉編譯和鏈接。在完成嵌入式軟件的編碼之后,就是進行編譯和鏈接,以生成可執行代碼。由于開發過程大多是在Intel公司x86系列CPU的通用計算機上進行的,而目標環境的處理器芯片卻大多為ARM、MIPS、PowerPC、DragonBall等系列的微處理器,這就要求在建立好的交叉開發環境中進行交叉編譯和鏈接。通過編譯連接后即可下載的目標機運行。
         
            在嵌入式系統開發中完成編譯連接只是開發工作的一小部分,而令廣大開發人員頭痛的則是下載到目標機進行調試。多數的嵌入式系統開發都是基于操作系統的,而目前大多數集成開發環境都不支持Linux調試,僅有的幾種開發平臺功能簡單卻昂貴的費用讓大多企業望而卻步。
         
        2. SldView集成開發工具的特色

            SldView不僅實現目前常用的集成開發環境的開發、調試功能外,還提供了Linux內核、驅動、任務級、模塊等動態調試,這是廣大開發人員最急切的需要。它完全支持OS內核調試,并可以進行任務級與線程的實時調試。SldView可以對多個任務同時進行跟蹤調試,動態檢測到任務的啟動,然后加載任務的符號表,開發人員就完全控制了任務的運行,并可以在內核態及任務態間自由切換。此外SldView還提供了內存管理、任務綁定、Timer察看、任務Time管理、任務上下文察看等調試功能,極大的方便了開發人員OS調試,使開發效率大幅度提高。

            在代碼級調試方面SldView也非常優秀。SldView提供圖形和命令行兩種調試方式并支持軟件模擬功能,設計人員可以動態選擇程序下載地,全球領先的程序下載速度,最快下載速度可以達到800k/s,尤其適用于用戶調試代碼量大的程序。強大的斷點設置、變量察看、寄存器察看、自定義寄存器察看、板上寄存器察看、函數堆棧顯示等功能可以讓設計人員掌握程序運行的每一個細節。此外SldView還支持源代碼窗口、匯編程序窗口、混合窗口的顯示。
         
            SldView集成開發環境界面直觀友好,類似于MS Visual Stduio。設計人員可以很方便的創建、配置工程,然后編譯、調試程序,也可以直接打開編譯好的目標文件來調試。SldView完全支持gcc, ads等編譯器生成的目標代碼的調試。設計人員可以根據自己的需要制定開發環境,也可以選擇試用英文版。

        3.    應用實例

        3.1    Linux應用程序開發

            但由于沒有合適的開發環境,Linux應用程序開發效率往往都很低,特別是用戶進程的調試非常困難,而SLDView的出現使這些問題得以解決。
         
            使用SLDView的Linux工程向導或其他文件編輯器新建立應用程序源文件和相關配置文件。在SLDView配置好OS,運行config、dep、make命令即可編譯Linux,如果沒有報錯則會生成相關的二進制文件。使用SLDView鏈接開發板并下載二進制文件,這時就可以調試Linux應用程序了。

            SLDView會自動攔截Linux運行過程中的每一個進程,并提示開發人員是否進行調試。例如當開發人員運行應用程序“LCD”時,該進程被SLDView攔截并掛起,如下圖:

          同時SLDView會提示是否調試該進程:
         
          選擇“是”打開相應的.elf文件:

          現在就可以像調試普通程序一樣調試該進程了。
         
        3.2    設備驅動程序調試

            在嵌入式系統開發中,其中很大的工作量都都是為各種設備編寫驅動程序,除非不用操作系統而直接控制硬件。對于任何一位內核代碼的開發人員來說,最急迫的問題之一就是如何完成調試。在調試工具缺乏和功能不完善的情況下,大多開發人員都選擇使用普通的打印調試方法,這樣的缺點也是顯而易見的:調試效率低、不能完全掌握變量值的變化、特別是在大型循環結構中printk幾乎是無法用來調試的。SLDView強大的調試功能可以讓驅動程序和OS內核調試象調試普通C程序一樣簡單。
         
            先編寫好驅動程序源代碼并加入到OS內核中,使用SLDView重新編譯OS。如果沒有報錯則會生成相應的.elf文件

          在SLDView中打開編譯好的.elf文件并下載到目標板,定位到編寫好的驅動程序設置斷點。本例中驅動程序原文件為sc344b0fb.c,設置斷點到:

        int __init s3c44b0fb_init(void)
         
            這樣系統在加載sc344b0fb驅動程序時運行到int __init s3c44b0fb_init(void)函數入口會掛起,開發人員可以單步運行并通過自動變量、自定義變量和寄存器窗口來察看當前程序的運行情況。
         
        4.結論

          SLDView集成開發環境的出現為當前大中型嵌入式系統開發商提供了高效的設計調試平臺,降低了操作系統調試難度,提高了開發效率。同時SLDView集成開發環境良好的界面和簡單操作也可作為各高等院校教學實驗平臺及科研機構的首選。

          相關鏈接:http://www.jhembed.com/

          更多信息請參考:新一代嵌入式linux集成開發環境

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        關鍵詞: Linux 嵌入式

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大新县| 含山县| 灵璧县| 浠水县| 南陵县| 班玛县| 闸北区| 佛冈县| 察哈| 太和县| 衡阳市| 工布江达县| 甘洛县| 万州区| 镇巴县| 博白县| 茂名市| 汤阴县| 望江县| 怀来县| 万山特区| 咸丰县| 鄂托克旗| 夏河县| 巫山县| 乌兰察布市| 巩义市| 昌江| 宁阳县| 西畴县| 正蓝旗| 张家界市| 南涧| 西平县| 荥经县| 凌源市| 临安市| 孝昌县| 衡南县| 安陆市| 松阳县|