2.嵌入式 目標機從開機到linux啟動起來的經典過程分析:
- 處理器重新啟動之後,執行rom啟動**
- rom啟動**初始化cpu、記憶體控制器以及片上裝置,
然後配置儲存器對映(memory map)。rom啟動**隨後執行引導裝載器。
- 引導裝載器把linux核心從快閃儲存器或tftp伺服器解壓到ram中,然後跳轉到核心的第一條指令處執行。
- 核心首先配置微處理器的暫存器和記憶體,然後呼叫start_kernel函式,它是與處理器無關部分的開始點。
- 核心初始化它的快取記憶體和各種各樣的硬體裝置。
- 核心從儲存介質或通過nfs掛載根檔案系統。
- 核心執行根檔案系統的init程式(root file system 都是系統級的庫和應用程式)。
- init程式裝載執行時共享庫。
- init讀取它的配置檔案/etc/inittab並執行其中定義的操作。
一般而言,init會執行乙個系統啟動指令碼/etc/rc.d/rcs,該指令碼配置和啟動網路以及其他系統服務。
- init進入乙個執行級別,在該級別下可以執行系統任務,開始登陸程序,最後進入使用者會話階段。
3.nfs(網路檔案系統)
- /etc/init.d/nfs start
- vi /etc/exports /* 修改nfs配置檔案 */
新增乙個匯出條目,每個條目包括乙個共享目錄,乙個ip位址和訪問許可許可權。
例如:/armwork/rootfs *(rw,no_root_squash)
說明:- /armwork/rootfs /* 為開發主機需要匯出的根檔案系統的目錄 */
- * /* 訪問ip位址不限 */
- rw /* 可讀可寫的許可掛載檔案系統 */
- no_root_squash /* 客戶端機器以root身份掛載檔案系統 */
- 配置核心時選上"nfs file system support" 和 "root file system on nfs"
- 一般的bootloader在啟動核心時,以傳遞引數的方式將檔案系統定位(核心傳參)
root=/dev/nfs
- nfsroot=
/* 一般只要給出root dir(nfs伺服器上需要掛載為根檔案系統的目錄) */
- ip=::::::
4.arm-linux-gcc helloworld.c
arm-linux-strings a.out
嵌入式系統
嵌入式開發的相關領域 搞嵌入式若能熟悉嵌入式應用的一些主要領域,這樣的人更受企業歡迎。主要的相關 領域包括 a 數字影象壓縮技術 這是嵌入式最重要最熱門的應用領域之一,主要是應掌握mpeg 編譯碼演算法和技術,如 pda 高精電視 機頂盒等都涉及mpeg高速解碼問 題。b 通訊協議及程式設計技術 這...
嵌入式系統
嵌入式系統就是計算機系統的一類,就是被塞進其他裝置的計算機作業系統。我的嵌入式老師只用了三個詞語就總結了嵌入式系統的精髓 專用的可裁剪的 計算機系統。包括嵌入式軟體開發的知識體系和背景 先說背景 計算機,領域內,知識體系,按層次分,可以分為 其中 此處,暫且不討論上層的純軟體,以及底層的硬體,只是簡...
嵌入式系統
硬體結構 軟體結構 作業系統 vxworks商用嵌入式系統的代表 嵌入式linux 採用的是linux的核心,大多數採用的是linux的微核心 微核心本身只提供一些最基本的作業系統功能,如任務排程 記憶體管理 中斷處理等,而類似於檔案系統和網路協議等附加功能則執行在使用者空間中 交叉編譯 交叉編譯 ...