<form id="dn777"><listing id="dn777"></listing></form>

        <form id="dn777"></form>

        <address id="dn777"></address>

        嵌入式Linux實驗報告 - 圖文 聯系客服

        嵌 入 式 程 序 設 計

        實 驗 報 告

        成評 語: 績 教 師: 年 月 日

        班 級: 學 號: 姓 名: 地 點: EII-506 時 間: 2013年6月

        實驗一開發環境的搭建與配置

        一、 【實驗目的】

        1) 熟悉嵌入式Linux開發平臺。

        2) 掌握嵌入式Linux開發平臺的開發環境搭建與配置。 3) 了解minicom配置串口通信參數的過程。 4) 了解嵌入式Linux的啟動過程。

        5) 掌握程序交叉編譯運行及調試的一般方法。 6) 掌握網絡文件系統NFS的配置方法。

        7) 掌握嵌入式系統內核的編譯、文件系統的打包及鏡像的下載方法。

        二、 【實驗內容】

        1) 連接實驗開發板與宿主機。

        2) 在虛擬機中的CentOS(宿主機)搭建開發環境。 3) 在宿主機中配置minicom。 4) 分析嵌入式Linux的啟動過程。

        5) 在宿主機上編寫簡單的C語言程序并用交叉編譯工具進行編譯,然后傳

        輸到目標機上運行。

        6) 在宿主機上編寫簡單的C語言程序并用交叉編譯工具進行編譯,用

        gdbserver進行遠程調試。

        7) 配置NFS并用NFS進行文件拷貝。 8) 嵌入式系統內核編譯與文件系統的打包。

        9) 內核文件鏡像與文件系統鏡像的下載(從宿主機下載到目標機)。

        三、 【實驗步驟】

        1. 連接實驗開發板,對虛擬機進行設置 2. 工具鏈的配置 3. tftp的安裝

        4. 進入minicom軟件,配置串口通信參數 有關串口通信選項的含義:

        \:選擇需要傳輸的文件和路徑 \:選擇傳輸文件的通信協議 \:設置串口通信參數

        \:將設置好的各項參數保存為dfl

        \:將設置好的各項參數保存為自定義的文件名 \:退出返回到minicom設置好后的終端

        \:從minicom命令中退出返回Linux終端

        將光標移到\,按回車鍵會彈出串口通信參數的配置菜單。 5. 實驗開發板的啟動

        6. 嵌入式Linux系統的啟動過程分析 1) 啟動Bootloader

        Bootloader是嵌入式系統的引導加載程序,它是系統上電后運行的第一段程序,其作用類似于PC機上的BIOS。在本系統中這段程序的起始地址為0x00000000。Bootloader在完成初始化RAM、初始化串口、檢測處理器類型、設置Linux啟動參數后,開始調用Linux內核。本系統Linux內核鏡像zImage放在Flash中,Bootloader首先把它拷貝到RAM中,然后跳轉到RAM中對zImage進行解壓縮。解壓縮后啟動內核。

        2) 加載內核

        內核啟動后先進行一系列與內核相關的初始化,然后調用第一個用戶進程——init進程并等待用戶進程的執行。具體的過程如下:

        進行與體系結構相關的第一個初始化工作,首先通過檢測出來的處理器類型進行處理器內核的初始化,然后進行內存結構的初始化,最后開啟MMU,創建內核頁表,映射所有的物理內存和IO空間;

        創建異常向量表和初始化中斷處理函數;

        初始化系統核心進程調度器和時鐘中斷處理機制;

        初始化串口控制臺,在minicom中看到的系統啟動過程中的信息都是通過串口輸出的;

        創建和初始化系統cache,為各種內存調用機制提供緩存,包括動態內存分配、虛擬文件系統及頁緩存;

        初始化內存管理,檢測內存大小及被內核占用的內存情況; 初始化系統的進程間通信機制(IPC); 創建init進程,結束內核的啟動。 3) 執行init進程。

        內核被加載后,第一個運行的程序便是/sbin/init,init進程是所有進程的發起者和控制者,它的進程號是1。init進程首先讀取/etc/inittab文件,并依據此文件來進行初始化工作(首先進行一系列的硬件初始化,然后通過命令行傳遞過來的參數掛載根文件系統。最后執行一些其它的進程)。

        init配置文件每行的基本格式為“id:runlevel_ignored:action:process”,其中某些部分可以為空。各部分的具體內容如下:

        id:指定啟動進程的控制終端,如果所啟動的進程并不是可以交互的shell,應該會有個控制終端(在PC機上該字段表示配置行的惟一標識)。

        runlevel_ignored:該字段是忽略掉的,配置inittab時空著它就行了(在PC機上該字段用來配置所啟動進程適用的系統運行級別)。

        4) 執行/bin/login程序。





        动漫黄在线观看免费视频