新聞中心

        EEPW首頁 > 汽車電子 > 設計應用 > 基于Linux的嵌入式車載導航系統的設計

        基于Linux的嵌入式車載導航系統的設計

        作者: 時間:2009-11-05 來源:網絡 收藏

        3.4.2 裁減配置及編譯
        修改完內核設置后,就可以對內核進行裁減配置及編譯了,在配置中剪裁掉冗余的部分,使編譯生成的最終的內核的映像文件代碼量盡可能小。執行如下命令:
        # make menuconfig
        進入配置菜單,選擇處理器類型和所需要的各種外設、協議的支持等等, 包含了LCD 、觸摸屏、串口、聲音、EXT2、FAT 和JFFS2 文件以及TCPIP 協議的支持.
        # make dep
        搜索 編譯輸出與源代碼之間的依賴關系,并生成依賴文件。
        # make zImage
        編譯 內核,生成壓縮的內核映像文件zImage 。存放在/arch/arm/boot/ 目錄下。
        3.5 驅動程序的編寫
        驅動程序是操作內核和底層硬件之間的接口,驅動程序為應用程序屏蔽了硬件的細節,通過驅動程序,應用程序對硬件的操作可以像對普通的文件操作一樣方便。驅動程序的主要作用是初始化和釋放硬件設備,檢測和處理硬件設備出現的問題,在應用程序、內核和底層硬件之間傳輸數據。
        由于是針對具體應用的,因此,應該根據具體的平臺編寫相應設備的驅動程序,以方便應用程序對底層硬件的訪問。每一個系統調用都對應著file_operations 結構的每一個成員,編寫驅動程序主要是編寫底層設備需要的各個操作函數并填充結構file_operations ,該結構在/include//fs.h 文件中定義。
        驅動程序通過設備名、主設備號和從設備號與具體的硬件相聯系。驅動程序可以以動態或者靜態方式加載到內核當中,在調試階段,一般以動態的方式加載驅動程序,而在最終形成產品時,添加到內核當中,每次啟動內核時自動加載。
        3.6 根文件系統
        一個產品的穩定運行,除了引導程序、內核之外,還必須有一個區域用來為用戶提供支持架構和用戶使用的應用軟件,存放數據讀寫的結果,這個區域就是根文件系統。系統中通常使用的根文件系統有:Romfs 、Cramfs 、Ramfs 、JFFS2、EXT2 等,另外根文件系統既可以建立在RAMDISK 上,也可以建立在Flash 上,在RAMDISK 上建立根文件系統Cramfs 。
        4.結束語
        本研究具獲得了以下創新:
        (1)設計了以HMS30C7202 為核心的裝置的硬件系統及其LCD 液晶顯示模塊、存儲器模塊(Flash、SDRAM)、GPS 模塊、串行接口、USB 接口、IrDA 紅外通訊接口河網絡接口等外圍部分。
        (2)建立了軟件設計的交叉編譯的環境,完成了以HMS30C7202 為核心的
        置的軟件設計。本研究得出以下結論:
        1 (1)在系統中采用源代碼完全開放的嵌入式Linux 完全可以代替WinCE 等商業操作系統,從而減低了系統的成本,增加了市場的競爭力。通過對系統的開發,筆者有以下幾點感觸。
        2 (2)在程序中加入一些輸出語句,以便在調試過程中,在超級終端上顯示一些通過串口打印的調試信息,可以對程序運行情況進行觀察。
        3 (3)由于串口下載速度較慢,BootLoader 要盡可能支持網絡,通過網絡下載內核和文件系統,加快開發進度。

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

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 金堂县| 福清市| 呼图壁县| 罗源县| 耒阳市| 赫章县| 富阳市| 长垣县| 咸阳市| 陇川县| 黎川县| 海门市| 金平| 麻栗坡县| 博兴县| 太谷县| 深圳市| 枝江市| 新野县| 花莲县| 民县| 楚雄市| 霞浦县| 息烽县| 三河市| 厦门市| 和静县| 达拉特旗| 青岛市| 布拖县| 剑河县| 太保市| 台江县| 蒙自县| 普定县| 泰安市| 巴林右旗| 巴马| 绥阳县| 苏州市| 大宁县|