嵌入式系統概論 - 以 S3C2440 核心為架構 第 15 章 嵌入式 Linux 核心 與根檔案系統.

Slides:



Advertisements
Similar presentations
FCU, Department of ECE, IC Design Research Lab. TEL: # 4945 Pre-SIm , Post-Sim.
Advertisements

布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
建立使用案例敘述 --Use Case Narrative
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
PowerPoint2010 李燕秋 版面配置 版面配置指的是每一個頁面的內容配置 方式,不同的版面配置會有對應的母片。
小綠人行人用交通號誌燈 指導教授:黃朝章 學生:951408陳宜歆 徐祐祥.
1 第一章 Word 的基本觀念 內容概要: Word 的特色 啟動與離開 Word 的方法 滑鼠游標與外型的介紹 基本操作 Word 視窗法則 使用 Word 遭遇問題時, 應如何利用軟體特 性而獲得輔助解說.
五小專案 黃詩晴 章乃云. 目錄 計算機 智慧盤 拼圖 記憶大挑戰 數學題庫 心得 參考文獻.
亂數產生器安全性評估 之統計測試 SEC HW7 姓名:翁玉芬 學號:
嵌入式系統概論 - 以 S3C2440 核心為架構 CH16 、第一個 Linux 程式設計. 嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 大綱  16.1 撰寫第一個 Linux 程式  16.2 利用 minicom 與開發平台做溝通  16.3 利用.
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
1.1 電腦的特性 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
1 網路同步學習 如何使用中山大學管理學院知識管理平台 愷中 製作. 2 如何登入中山大學網路學習平台 1. 首先, 請輸入 2. 點選申請帳號, 依照螢幕所示, 輸入個人資訊.
資訊科技概論 第5章 系統程式.
JAVA 程式設計與資料結構 第十章 GUI Introdution III. File Chooser  File Chooser 是一個選擇檔案的圖形介面, 無論我們是要存檔還是要開啟檔案,使 用這個物件都會讓我們覺得容易且舒適。
國立中山大學財產管理系統 線上報廢、盤點系統 總務處保管組 策劃 計算機與網路中心 分析設計 2008/03.
JDK 的安裝. 內 容 大 綱 JDK 安裝步驟 JDK 的主要工具程式 說明 Java 語言發展工具組 JDK(Java Development Kit) 的安裝與工具組中的主要工具程式。 JDK 是發展 Java 語言必備的工具,我們必須正確的安裝 JDK 工具組才可以正確的設計、開發與執行.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
第 5 章 深入 Response 物件 製作. 網頁的轉向與強制輸出 - 讓網頁轉彎的 Redirect 敘述 運用 Response 物件的 Redirect 方法,將瀏覽器顯 示的網頁,導向至其他網頁,語法如下: Response.Redirect 網頁路徑與名稱 此網頁路徑與名稱  若是導向到同一台.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
3-3 使用幾何繪圖工具 Flash 的幾何繪圖工具包括線段工具 (Line Tool) 、橢圓形工具 (Oval Tool) 、多邊星形 工具 (Rectangle Tool) 3 種。這些工具畫出 來的幾何圖形包括了筆畫線條和填色區域, 將它們適當地組合加上有技巧地變形與配 色, 不但比鉛筆工具簡單,
Matlab Assignment Due Assignment 兩個 matlab 程式 : Eigenface : Eigenvector 和 eigenvalue 的應用. Fractal : Affine transform( rotation, translation,
Chapter 20 塑模動態觀點:狀態圖 Statechart Diagram. 學習目標  說明狀態圖的目的  定義狀態圖的基本記號  展示狀態圖的建構  定義活動、內部事件及遞延事件的狀態 圖記號.
1 MySQL 資料庫的使用 網頁資料庫的基礎 網頁資料庫的基礎 下載與安裝 MySQL 下載與安裝 MySQL 啟動 MySQL 伺服器 啟動 MySQL 伺服器 Web 介面的 MySQL 管理程式 Web 介面的 MySQL 管理程式 MySQL 建立資料庫 MySQL 建立資料庫 在 MySQL.
1 Netlibrary 電子書 Netlibrary 創始於 1998 年,是世界知名的電子書資 料庫,提供 450 多家出版社所出版近 100,962 ( 止)本的電子書,且以每月 2,000 本的 速度增加中。其中 80% 屬於學術性圖書,其餘 20% 一般圖書, 90% 以上為.
第三章 自動再裝載運用篇 使用時機:裝載計劃完成時,尚有剩餘空 間的情形,維持已固定計劃而繼續做裝載 最佳化。以支持次日裝載計劃而提前調整 作業模式。 裝載物品設定和裝載容器設定如前兩章介 紹,於此不再重複此動作,直接從裝載計 劃設定開始,直接從系統內定的物品和容 器選取所需.
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
教材名稱:網際網路安全之技術及其應用 (編號: 41 ) 計畫主持人:胡毓忠 副教授 聯絡電話: 教材網址: 執行單位: 政治大學資訊科學系.
從此處輸入帳號密碼登入到管理頁面. 點選進到檔案管理 點選「上傳檔案」上傳資料 點選瀏覽選擇電腦裡的檔案 可選擇公開或不公開 為平台上的資料夾 此處為檔案分類,可顯示在展示頁面上,若要參加 MY EG 競賽,做品一律上傳到 “ 98 MY EG Contest ” 點選此處確定上傳檔案.
Chapter 17 Windows API 程式入門 VC++ 與 WindowsVC++ 與 Windows 建構遊戲設計的舞台 建構遊戲設計的舞台.
資料結構實習-一 參數傳遞.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
著作權所有 © 旗標出版股份有限公司 第 21 章 文件的權限及保護 功能設定. 本章提要 設定文件讀取權限 保護文件.
法律系 系所科助之血淚辛酸史 劉蕙綺. 系上推行困難處 ( 學期初 ) 傳統習慣:法律系以教科書為主 很多老師沒有電子檔案 專、兼任老師使用平台的意願 因老師多為資深老師,因此在使用電腦部 份可能比較需要幫助 通常學生知道訊息的來源是藉由 BBS 或者 是系上的系板,使用意願會降低.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
計算機概論 演算法與程式語言 李明山.
MinGW 的安裝.
Management Abstracts Retrieval System; MARS 檢索操作.
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
2010 MCML introduction 製作日期: 2010/9/10 製作人 : 胡名霞.
校園網頁整合平台介紹 電算中心綜合業務組. 大綱 設計理念 功能介紹 實做 FAQ 特殊案例 Q&A.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
無線隨意及感測網路技術與 應用課程 實驗 1. 2 實驗目的 建立課程所使用平台 FT-6200 無線傳輸設備的相 容軟體環境 Jennic Evaluation System ,並學習相 關設定以及使用方法。 所有資源皆可從光碟片或網站上下載。 安裝並執行範例程式並且分析程式碼。
Linguistics phonetic symbols. 先下載 IPA 字型檔案,執行安裝。 由於這個程式的字型目錄設定錯誤, 所以等重新開機時就會發現字型消失。 所以必須根據以下步驟來讓 Windows 加入 IPA 字型。
Learning Method in Multilingual Speech Recognition Author : Hui Lin, Li Deng, Jasha Droppo Professor: 陳嘉平 Reporter: 許峰閤.
概念性產品企劃書 呂學儒 李政翰.
Chapter 11 檔案系統、目錄、DOS 指令.
無線通訊網路 Mac 層 TDM 通訊模式的操作與效能研究 專題生 : 林書弘、蔡逸祥、毛建翔、王政 華 指導教授 : 黃依賢.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
專題成果報告 胺基酸功能預測開發環境 指導教授:歐昱言 邱彥豪 邱顯鈞.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/30 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH7.1~CH /12/26.
Outlook 教學與研習 (1) - 設定及收發郵件 - 設定郵件規則 陽明大學資訊與通信中心 陳坤元 2006/03/27.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 壹 企業研究導論.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
NVivo 7在文件分析應用.
Visual C++重點複習.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 參 資料蒐集的方法.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
Microsoft Excel.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
幼兒行為觀察與記錄 第八章 事件取樣法.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
嵌入式系統概論 - 以 S3C2440 核心為架構 第 6 章 S3C2440 開發平台基本操作.
安裝 Android 開發環境 建國科技大學 資管系 饒瑞佶 2013/2 V1. 需要 JDK ( Java Runtime 1.5 above) Eclipse IDE Android SDK ADT.
Presentation transcript:

嵌入式系統概論 - 以 S3C2440 核心為架構 第 15 章 嵌入式 Linux 核心 與根檔案系統

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 大綱  15.1 Linux 核心移植準備  15.2 Linux 核心剪裁編譯  15.3 檔案系統建立與燒錄

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.1 Linux 核心移植準備  15.1 Linux 核心移植準備  15.2 Linux 核心剪裁編譯  15.3 檔案系統建立與燒錄

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.1 Linux 核心移植簡介  Linux 移植是將 Linux 作業系統針對具體的目 標平台做必要改寫,再將其安裝到該目標平 台使其正確的運行執行。  在嵌入式開發領域中,其基本內容是: 1. 取得某一版本的 Linux 核心原始程式碼,根據具 體目標平台針對原始程式碼進行必要的改寫(主 要是修改體系結構相關部分),及新增設備驅動。 2. 對該系統進行目標平台的交叉編譯,產生一個核 心映像檔,最後通過介面通訊方式將映象檔燒寫 (安裝)到目標平台中。

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.1 Linux 核心建立流程  形成適合 ARM 平台的 Linux 基本流程 1. 下載 Linux 核心及 ARM 平台相關套件 2. 建立交叉編譯環境 3. 修改核心內部的 makefile ,符合所建立的交叉編 譯環境 4. 進行編譯  提供 Linux 核心及 ARM 平台相關套件下載載 點  ftp://ftp.arm.linux.org.uk  其中提供 ARM Linux 的核心及其關於 ARM 平台 的套件。

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.1 GNU GCC 工具鏈說明  目前 Linux 作業系統主要以 GNU GCC 來執行交 叉編譯的動作。  GCC 進行程式碼編譯時,為保證編譯過程與實 體電腦硬體平台的無關性,它使用 RTL ( Register Transfer Language )暫存器傳遞 語言對目標平台的指令進行描述。  由 GCC 輸出的是組合語言根源程式,必須經過 一些工具鏈協助,才可編譯成機器程式。  這些工具鏈包含 GNUBinutils 、 GNU GLibc 。  Binutils :主要包含包含鏈結器 ld 和組譯器 as 。  GLibc :其提供一個 C 函式庫,使系統完成基本系 統呼叫及其它的一些函數呼叫 。

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.1 GCC 產生過程  一般 GCC 交叉編譯器的產生過程 1. 取得 Binutils 、 GCC 、 Glibc 的原始程式碼。 2. 設置並編譯 Binutils ,得到我們下一步要用到的 組譯器和連接器。 3. 設置並編譯 GCC 原始程式碼,產生 GCC 編譯器。 4. 設置 Glibc 編譯產生 Glibc 的 C 函數庫。 5. 再次設置並編譯 GCC 原始程式碼,產生其他語 言的編譯器如: C ++等。  這部分工作必須對硬體平台的體系結構非常 熟悉,執行才會正確,因此大多從網上直接 下載相關工具包。

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.1 ARM 系列核心資料夾  在 arch 目錄中有許多子目錄,是利用晶片命 名的,表示是針對該晶片體系結構的程式碼。  arm 系列晶片編譯核心,需修改 ARM 目錄下 相關檔案。 ARM 晶片系列 核心資料夾

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.1 ARM 初始化程式  在 arm/boot/bootp 下有一個 init.S 的檔案, init.S 就是引導 Linux 核心在 ARM 平台上啟 動的初始化程式碼。 初始化 程式碼

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.1 初始化工作內容  Init.S 主要完成以下功能: 1. 定義資料段、程式碼段、 bbs (未初始化資料段) 起始位址變數並對 bbs 段進行初始化。 2. 設置暫存器以初始化系統硬體。 3. 關閉中斷。 4. 初始化 LCD 顯示。 5. 將資料段資料複製到記憶體中。 6. 跳轉到核心起始函數 start_kernel 繼續執行。 7. 對主暫存器的修改。

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.2 Linux 核心剪裁編譯  15.1 Linux 核心移植準備  15.2 Linux 核心剪裁編譯  15.3 檔案系統建立與燒錄

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.2 Linux 核心剪裁編譯簡介  Linux 核心的裁剪與編譯看似簡單過程,只需 對其設置功能表做所需功能選擇。  針對所有核心設置功能表都是透過 Config.in 經由不同描述解釋器產生.config 設定檔。  針對核心設置功能表本身結構龐大,內容複 雜,具體如何選擇,必須熟悉與瞭解該功能表 的各項具體含義。

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.2 Linux 核心編譯功能表 Linux 核心的編譯功能表有好幾個版本執行:  make config:  透過進入命令行,經由一行一行顯示做設置,較 不便設定。  make menuconfig:  透過 menu 功能表,可選擇你要的核心功能。  make xconfig:  經由 X windows 所顯示的功能選單,使用便利。  針對上列三種方式, make menuconfig 方式 最為便利且穩定性最高的。

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.2 Linux 核心編譯功能表儲存及載入  以上大部分選項為 2.6 版核心的基本選項,但 會因為開發平台的不同,內部選項內容也會不 同,需要同學根據自己所需功能去設定。  設定完所需的設定,要將其設定檔建立起來。 在選項中有儲存與載入的功能:  Load an Alternate Configuration File 載入已建立的.config 檔。  Save Configuration to an Alternate File 儲存所設定內容至一個.config 檔

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.2 Linux 核心編譯功能表儲存及載入選項 載入與儲存 設定選項

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.2 Linux 核心編譯動作  建立完設定檔,必須經過編譯形成燒錄映像 檔,才可經由 Bootloader 燒錄至 Flash 所規劃 好的核心映射區。  編譯前必須先確認 Makefile 的編譯器路徑是 否設定為交叉編譯工具的編譯器路徑。  如之前設定,其路徑應為 : /usr/local/arm/3.4.1/bin/arm-linux-

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.2 Linux 核心編譯動作  確認無誤後,便可執行 make zImage 命令, 產生名為 zImage 的映像檔在核心資料夾中的 所屬晶片資料夾的 /arch/boot 的目錄底下。  如平台晶片為 ARM 系列,其目錄路徑為核心資料 夾 /arm /arch/boot

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.2 編譯核心 Makefile 檔  編譯核心 Makefile 檔所設定的編譯路徑 交叉編譯工具路徑

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.2 Linux 核心執行編譯  執行編譯,形成 zImage 燒錄檔 執行編譯動作

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.2 形成 Linux 核心映像檔路徑  產生燒錄檔的路徑位置 產生映像檔路徑 所產生映像檔

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.3 檔案系統建立與燒錄  15.1 Linux 核心移植準備  15.2 Linux 核心剪裁編譯  15.3 檔案系統建立與燒錄

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.3 檔案系統指標比較表 檔案系統 可寫 性 永久 儲存性 停電 穩定性 壓縮 性 在 Ram 中 的空間 RomfsNoN/A No CramfsNoN/A YesNo JFFSYes No JFFS2Yes No Ext2 over NFTL Yes No Ext3 over NFTL Yes No Ext2 over RAM YesNo 幾種常用的檔案系統

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.3 檔案系統內容  根檔案系統是 Linux 系統的根本所在,啟動時 必須載入進來以支援系統的執行。  一般包括以下目錄內容:  /dev (設備檔目錄)  /proc ( proc 檔案系統目錄)  /etc (系統設置檔的目錄)  /sbin (系統程式的目錄)  /bin (基本應用程式的目錄)  /lib (共用函數庫的目錄)  /mnt (裝載其他磁片節點的目錄)  /usr (附加應用程式的目錄)。

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.3 開啟根檔案系統 (1)  根檔案系統提供給核心第一個行程的程式, 同時也提供了基本的工具。  一套 Linux 系統要正常啟動,根檔案系統要包 括下列檔案夾:  /bin , /etc , /proc , /tmp , /var , /dev , /mnt 。  要包括下列基本的設備檔:  /dev/console , /dev/null , /dev/ram0 , /dev/tty , /dev/tty0 。  要包括下列設置檔:  /etc/rc.d/inittab , /etc/rc.d/rc.sysinit,/etc/fstab.

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.3 開啟根檔案系統 (2)  對於系統程式和基本的應用程式,由兩種方 式去獲得:  交叉編譯所有需要的命令原始程式碼, 利用 BusyBox 工具來完成。  將現有 ARM 專用 ramdisk 內部檔案拷貝至自己的 ramdisk 裏。

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.3 BusyBox 工具  嵌入式系統命令工具建立通常使用 BusyBox 工具。  他是一個工具集,包括很多常用的工具軟體,這 些軟體全都編譯成一個可執行檔,透過符號連接 的方式開啟各個工具的名稱。  其優勢為佔用空間小且可很方便的制定所需命令。  利用 BusyBox 建立命令工具流程  下載 BusyBox 原始檔案  進入設定功能表,選擇自己所需功能  進行 make 動作,編譯出所需的命令工具。

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.3 檔案系統建立流程  透過現有的 ramdisk 內部檔案拷貝至自己的 ramdisk 裏。必須經由特定的映像檔產生工具。  根據開發平台上的檔案系統採用 cramfs 檔案 系統,因此必須透過 mkcramfs 產生工具,將 以新增好所需應用程式的檔案系統,產生為 cramfs 映像檔。

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 15.3 檔案系統建立流程  產生所需的 cramfs 工作流程  將原本檔案系統的 cramfs 掛載在暫存資料夾  將暫存資料夾的檔案打包成 tar 檔,在目的資料夾 在將其 tar 檔解開  新增所需的應用程式  利用 mkcramfs 建立出新的 cramfs 檔

嵌入式系統概論 - 以 S3C2440 核心為架構 許永和 問題與討論  請讀者試著自行編譯 Linux 核心,並燒錄於平台之中  請讀者自行加入第 13 章所編譯好的九九乘法表程式 至檔案系統之中,並燒錄至平台之中