新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM和Linux通用工控平臺設計與實現

        基于ARM和Linux通用工控平臺設計與實現

        作者: 時間:2012-04-10 來源:網絡 收藏

        依據環境變量PREFIX,將編譯好的工具鏈安裝到指定文件夾就可以使用了。

        例如,修改arm--gcc-2.95.3的環境變量為:

        PATH=$PATH:$HOME/bin:$PREFIX/bin:/usr/local/arm/2.95.3/bin:/sbin:/usr/sbin:/

        usr/local/sbin,同時編寫hello.c程序進行驗證
        $arm--gcc hello.c -o hello-arm
        $file hello-arm
        hello-arm: ELF 32-bit LSB executable, , version1 (), for GNU/ 2.0.0, dynamically linked (uses shared libs),not stripped

        這表明生成的hello-arm可以在平臺上運行,也證明交叉編譯工具鏈是有效并且可用的。

        Linux內核編譯下載

        具體步驟如下:

        (1) 解壓Linux-2.6.21-2009-04 -10.bz2:tar xjvf Linux-2.6.21 -2009-04-10.bz2;
        (2) 進入Linux-2.6.21目錄,內核編譯:make uImage;
        (3) 編譯完成后,通過SSH把uImage文件拷貝到Windows環境下;
        (4) 配置U-Boot環境變量;
        (5) 配置tftp服務器:運行Linux系統下的tftp服務器,復制Linux內核的uImage文件到tftp下載工作目錄下,啟動tftp服務,確保PC和AT91RM9200接入同一網段;
        (6) 下載內核映像文件,并在U-Boot提示符下擦除Flash;
        (7) 下載內核映像文件到Flash中;

        Linux文件系統

        軟件平臺使用cramfs文件系統,其特點是:系統訪問某個位置的數據時,立即計算出該數據在cramfs中的位置,解壓到RAM中,然后通過內存訪問來獲取數據,cramfs中的解壓縮之后的內存中的數據存放位置都是由cramfs文件系統本身來管理,用戶并不需要實現過程,因此增加了透明度,給開發人員節約了時間。

        2 Linux操作系統下設備驅動開發

        Linux上的設備驅動非常豐富,支持各種主流硬件設備和最新的硬件技術。設備驅動程序在Linux內核中,是一個個獨立的“黑盒子”,使某個特定的硬件響應一個定義良好的內部編程接口,同時完全隱藏設備的工作細節。通過一組標準化的調用,把這些調用映射到設備特定的操作上,則是設備驅動程序的任務。而在Linux系統里,每一個設備都被看作一個文件,打開的設備在內核中由一個File結構標志,內核使用File_operations結構訪問驅動程序的函數。每個設備與一組標準函數集關聯。

        3 Linux操作系統下應用程序開發

        采取在PC上編譯應用程序,運行測試通過后,再通過網絡或串口等方法下載到目標平臺/usr目錄下,對于較小的程序,使用串口下載比較方便,具體的步驟為

        (1) PC模擬環境下開發程序,交叉編譯;
        (2) 待ARM平臺下Linux正常運行后,進入usr目錄,然后選擇下載的程序;
        (3) 下載完成后,chmod +x filenam修改文件屬性為可執行命令;
        (4) 執行剛下載的文件命令為./filename。

        通用人機交互通信機制實現

        嵌入式GUI為嵌入式系統提供了一種應用于特殊場合的人機交互接口。新一代嵌入式GUI的主要特征有:以用戶為中心、多通道、智能化、高帶寬。嵌入式Linux 系統中,幾乎所有的GUI 都建立在FrameBuffer設備上。

        MiniGUI 是一個根據嵌入式系統應用特點量身定做的完整的圖形支持系統。將現代窗口和圖形技術帶入到嵌入式設備,是一個非常適合于嵌入式設備的高效、可靠、可定制、小巧靈活的圖形用戶界面支持系統,主要優點可總結為支持多種嵌入式操作系統,具備優秀的可移植性;可伸縮的系統架構,易于擴展;功能豐富,可靈活剪裁;得到小體積高性能間的最佳平衡且具有廣泛的應用領域。

        基于ARM和Linux通用工控平臺設計與實現

        1 移植MiniGUI前準備

        MiniGUI 1.3.3是MiniGUI的開源版本,并且資源豐富,性能穩定,因此選用MiniGUI 1.3.3作為GUI的開發環境。進行MiniGUI移植需要準備表3所列的文件,它們可在互聯網上獲得。

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


        關鍵詞: ARM Linux 工控平臺

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 民勤县| 威远县| 漯河市| 泗阳县| 长治市| 宁明县| 礼泉县| 韩城市| 镇雄县| 晋宁县| 临武县| 阿拉善右旗| 中卫市| 海南省| 胶南市| 体育| 工布江达县| 门源| 黑水县| 扬中市| 太白县| 宝山区| 综艺| 泉州市| 馆陶县| 海南省| 喀喇| 朝阳市| 乡城县| 云林县| 厦门市| 博罗县| 深水埗区| 青田县| 盖州市| 泰兴市| 长海县| 南澳县| 沅陵县| 商丘市| 富阳市|