1 系統晶片 SOC 與嵌入 式系統 Linux 開發工具 介紹與操作實習 華亨科技 王祈翔. 2 Outline Basic Concepts Building Development Environment XSBase255B Bootloader XSBase255B Linux kernel.

Slides:



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

1 生物計算期末作業 暨南大學資訊工程系 2003/05/13. 2 compare f1 f2  只比較兩個檔案 f1 與 f2 ,比完後將結果輸出。 compare directory  以兩兩比對的方式,比對一個目錄下所有檔案的相 似程度。  將相似度很高的檔案做成報表輸出,報表中至少要.
1 Chemical and Engineering Thermodynamics Chapter 2 Conservation of mass and energy Sandler.
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
Introduction of MontaVista Linux Ku-Chuan Lin. MontaVista Linux2 2015/6/3 Outlines Introduction of Embedded System Environment Build Host Build Target.
3Com Switch 4500 切VLAN教學.
PowerPoint2010 李燕秋 版面配置 版面配置指的是每一個頁面的內容配置 方式,不同的版面配置會有對應的母片。
1 第一章 Word 的基本觀念 內容概要: Word 的特色 啟動與離開 Word 的方法 滑鼠游標與外型的介紹 基本操作 Word 視窗法則 使用 Word 遭遇問題時, 應如何利用軟體特 性而獲得輔助解說.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 參 實驗法.
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
MS-DOS 作業系統 張基昇 (Microsoft-Disk Operating System).
嵌入式系統概論 - 以 S3C2440 核心為架構 第 15 章 嵌入式 Linux 核心 與根檔案系統.
具備人臉追蹤與辨識功能的一個 智慧型數位監視系統 系統架構 在巡邏模式中 ,攝影機會左右來回巡視,並 利用動態膚色偵測得知是否有移動膚色物體, 若有移動的膚色物體則進入到追蹤模式,反之 則繼續巡視。
JDK 的安裝. 內 容 大 綱 JDK 安裝步驟 JDK 的主要工具程式 說明 Java 語言發展工具組 JDK(Java Development Kit) 的安裝與工具組中的主要工具程式。 JDK 是發展 Java 語言必備的工具,我們必須正確的安裝 JDK 工具組才可以正確的設計、開發與執行.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 貳 研究設計.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
24-6 設定開始與結束場景中的 程式 最後我們要替這個遊戲收個尾, 幫它把開始 的等待畫面跟結束畫面處理一下。
影像處理學習營 練習(四)製作影片 【下】 影像處理學習營 教師 吳清月. 製作影片 學習重點 一. 設定影片秒數。  加入音樂,與影片做結合。 三. 影片存檔方式之選擇  上傳到網路.
最新計算機概論 第 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. 學習目標  說明狀態圖的目的  定義狀態圖的基本記號  展示狀態圖的建構  定義活動、內部事件及遞延事件的狀態 圖記號.
影像處理學習營 練習(三)製作影片 【上】 影像處理學習營 教師 吳清月. 製作影片 學習重點 一. 利用 movie maker 軟體,編輯相片。  加上文字幕,與圖片結合。
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology MATLAB 操作與 系統動態模擬 SIMULINK 李達生.
各種線上電子資源的特異功能 SwetsWise 的 alert, TOC alert 與 Favorites 2003/4/28 修改.
第三章 自動再裝載運用篇 使用時機:裝載計劃完成時,尚有剩餘空 間的情形,維持已固定計劃而繼續做裝載 最佳化。以支持次日裝載計劃而提前調整 作業模式。 裝載物品設定和裝載容器設定如前兩章介 紹,於此不再重複此動作,直接從裝載計 劃設定開始,直接從系統內定的物品和容 器選取所需.
各種線上電子資源的特異功能 SpringerLINK 的 Alert, Serials Update, News 2003/4/28 修改.
資料庫程式設計與系統管理 SQL Server 2005 Express 第六章 進階資料庫設計.
: Ahoy, Pirates! ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11402: Ahoy, Pirates! 解題者:李重儀 解題日期: 2008 年 8 月 26 日 題意:有一個海盜島有 N 個海盜,他們的編號 (id)
第二十一章 研究流程、論文結構        與研究範例 21-1  研究流程 21-2  論文結構 21-3  研究範例.
教材名稱:網際網路安全之技術及其應用 (編號: 41 ) 計畫主持人:胡毓忠 副教授 聯絡電話: 教材網址: 執行單位: 政治大學資訊科學系.
從此處輸入帳號密碼登入到管理頁面. 點選進到檔案管理 點選「上傳檔案」上傳資料 點選瀏覽選擇電腦裡的檔案 可選擇公開或不公開 為平台上的資料夾 此處為檔案分類,可顯示在展示頁面上,若要參加 MY EG 競賽,做品一律上傳到 “ 98 MY EG Contest ” 點選此處確定上傳檔案.
Chapter 17 Windows API 程式入門 VC++ 與 WindowsVC++ 與 Windows 建構遊戲設計的舞台 建構遊戲設計的舞台.
資料結構實習-一 參數傳遞.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
研究資料的分析. 資料分析的基本策略  General data analysis strategies 1.Sketching ideas 2.Taking notes 3.Summarize field nores 4.Getting feedback on ideas 5.Working with.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
MinGW 的安裝.
Management Abstracts Retrieval System; MARS 檢索操作.
Multi - Language 鄭傑仁 陳彥如. Preface 大三下時,經由系上安排進入一間製作 IP phone 的公司實 習,公司所生產的 IP phone 提供很廣泛的設定 ( 例如 : 韌體 資訊、網路設定、 SIP 設定、語音設定等 ) ,為了方便使用 者設定或查詢這些選項,話機本身都內建了.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/25 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH 2.4~CH 2.6 &
Image Interpolation Use SSE 指導教授 : 楊士萱 學 生 : 楊宗峰 日 期 :
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
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 字型。
Chapter 10 m-way 搜尋樹與B-Tree
概念性產品企劃書 呂學儒 李政翰.
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
1 第二十章 大型程式的發展 使用名稱空間 熟悉大型程式的開發方式 條件式編譯指令的撰寫. 2 名稱空間 名稱空間就像是一個管理介面,可以將定義的識別 字放在名稱空間之下,而不會有相互衝突的發生 名稱空間的語法如下 把變數 var 放在名稱空間 name1 內 要存取使用名稱空 間 name1 的變數.
著作權所有 © 旗標出版股份有限公司 第 3 章 資料庫物件的關係. 本章提要 Access 資料庫物件的關係 Access 資料庫物件的關係 簡介 Access 的七大物件 簡介 Access 的七大物件 Access 的群組 Access 的群組.
09610CS_ 校園授權軟體下載與安裝 講師 : 張智宏. 登入校務資訊系統 校園軟體下載.
-Artificial Neural Network- Matlab操作介紹 -以類神經網路BPN Model為例
NVivo 7在文件分析應用.
Visual C++重點複習.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
: SAM I AM ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11419: SAM I AM 解題者:李重儀 解題日期: 2008 年 9 月 11 日 題意: 簡單的說,就是一個長方形的廟裡面有敵人,然 後可以橫的方向開砲或縱向開砲,每次開砲可以.
Microsoft Excel.
多媒體技術與應用 實習作業 Part II. 實習作業 利用 Corel Paint Shop Pro X2 完成作業。 作業一:利用影像處理的技巧,讓這張影像變 的更清晰。
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
幼兒行為觀察與記錄 第八章 事件取樣法.
Mapping - 1 Mapping From ER Model to Relational DB.
CH 14-可靠度工程之數學基礎 探討重點 失效時間之機率分配 指數模式之可靠度工程.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
嵌入式系統概論 - 以 S3C2440 核心為架構 第 6 章 S3C2440 開發平台基本操作.
Presentation transcript:

1 系統晶片 SOC 與嵌入 式系統 Linux 開發工具 介紹與操作實習 華亨科技 王祈翔

2 Outline Basic Concepts Building Development Environment XSBase255B Bootloader XSBase255B Linux kernel XSBase255B Filesystem OS Porting

3 Outline Basic Concepts Building Development Environment XSBase255B Bootloader XSBase255B Linux kernel XSBase255B Filesystem OS Porting

4 Cross-Development Environment Target has limited resource (memory, storage, low speed processor). Host and Target are different architecture. Cross-platform Development Environment Host Bootloader Kernel Root Filesystem Target

5 Create Target Linux System A target Linux system is created by configuring and bundling together the appropriate system components. Programming and development aspects are a separate subject There are four main steps to creating a target Linux system:  Determine system components  Configure and build the kernel  Build root filesystem  Set up boot software and configuration

6 System Boot Flow

7 What we need are : Cross-Platform development toolchain Bootloader  Provide by vendor Linux kernel  Linux kernel + some patches if needed Filesystem  Busybox  Device node  Configuration

8 Outline Basic Concepts Building Development Environment XSBase255B Bootloader XSBase255B Linux kernel XSBase255B Filesystem OS Porting

9 Environment

10 HOST PC Environment  BOOTP 、 TFTP and NFS Service  bootp i386.rpm  tftp-server i386.rpm  Cross Comipler  GNU gcc compilers for C, C++  GNU binutil  GNU C Library  GNU C header  GNU Make

11 BOOTP 、 TFTP and NFS Service BOOTP Service  bootp i386.rpm

12 BOOTP 、 TFTP and NFS Service TFTP Service  tftp-server i386.rpm

13 BOOTP 、 TFTP and NFS Service NFS Service

14 Tool Chain ARM-Linux Development Environment  Binutils-2.11.gz  Gcc gz  Glibc gz  Linux tar.gz  Patch rmk7.gz

15 Makefile 多個原始檔在同一個 project 的問題  更改一個 header 檔案,有 include 此檔的原始檔 必需重新編譯,反之則不需要 Make 工具可以針對每個原始檔之間的相依 關係來解決這樣的問題 opentools/makefile.html

16 Outline Basic Concepts Building Development Environment XSBase255B Bootloader XSBase255B Linux kernel XSBase255B Filesystem OS Porting

17 Bootloader

18 The Bootloader's Job One main mission: load the operating system(s). Tasks: Initialize the machine properly (the kernel can do part of this later too). Access the kernel and initrd files in their storage medium (need to support the corresponding filesystem too) Because of the above 2 tasks, bootloaders are often platform specific! Load the kernel and initrd files Execute the kernel file with the right command line

19 2-stage Bootloaders At startup, the hardware automatically executes the bootloader from a given location, usually with very little space (such as the boot sector on a PC hard disk) Because of this lack of space, 2 stages are implemented:  1 st stage: minimum functionality. Just accesses the second stage on a bigger location and executes it.  2 nd stage: offers the full bootloader functionality. No limit in what can be implemented. Can even be an operating system itself!

20 Some Bootloaders LILO: LInux LOad. Original Linux bootloader. Still in use!   Supports: x86 GRUB: GRand Unified Bootloader from GNU. More powerful.   Supports: x86 LinuxBIOS: Linux based BIOS replacement   Supports: x86

21 Some Bootloaders (cont.) UBoot: Universal Bootloader. The most used on arm.   Supports: arm, ppc, mips, x86 RedBoot: eCos based bootloader from RedHat   Supports: x86, arm, ppc, mips, sh, m68k...

22 Outline Basic Concepts Building Development Environment XSBase255B Bootloader XSBase255B Linux kernel XSBase255B Filesystem OS Porting

23 XSBase255B Linux kernel 如何設定 Kernel 各個目錄的關係和內容 配置 Makefile 和 config.in 加入程式到 Kernel 中

24 Kernel 目錄結構 /usr/src/linux uname – r 可察看 kernel 版本 arch 目錄  包含所有體系結構相關的 kernel 程式  我們所使用的將是 arm 的體系架構 include 目錄  header 檔存放處  我們所使用的 header 檔存放在 asm-arm 下

25 Kernel 目錄結構 init 目錄  Kernel 的初始化程式  研究 kernel 程式的起點 mm 目錄  記憶體管理相關 kernel 目錄  Kernel 的系統函式

26 Kernel 目錄結構 drivers 目錄  驅動程式存放處 lib 目錄  Library 存放處

27 Kernel 的 Makefile 和 config.in Kernel 的系統配置由三個部份組成  Makefile  Config.in  配置工具 ( 圖形介面, 用戶配置 … )

28 Makefile Makefile 將會遞回進入到 kernel 的各個子目 錄中, 分別調用這些子目錄中的 Makefile Include arch/$(ARCH)/Makefile 將指明特定 的 CPU 結構

29 Config.in 系統配置腳本 把隨選功能加入 Linux 的配置選項 Makefile 會調用 scripts/Configure 並按照 arch/arm/config.in 來進行配置 命令執行完後會產生.config 檔

30 Kernel 各項配置介紹 環境設置  Menuconfig 使用  Make menuconfig

31 System Type 請選擇 PXA255 系列的 CPU 格式

32 PCMCIA/CardBus Support

33 RAM/ROM Flash Chip drivers

34 Mapping drivers for chip access

35 Ethernet (10 or 100Mbit) CS8900 support  支援 XSCALE PXA255 Ethernet

36 Console drivers Support for frame buffer devices PXA LCD support

37 Add Driver 在 Kernel 中新增 function 三步驟  將開發的程式放入 kernel 中  新增至配置選項  建立子目錄之 Makefile

38 Step1 在 drivers 目錄下新增一目錄以及 Makefile, config.in 修改上層的 config.in 修改上層的 Makefile 確保初始化函數有被調用到  直接 buildin 在 kernel 中  利用掛載 / 卸載方式

39 Step2 drivers/test/Config.in arch/arm/config.in  在檔的最後加入 source drivers/test/Config.in

40 Step3 編寫 makefile (drivers/test/Makefile)

41 Modify Makefile drivers/Makefile Makefile

42 Step4 $make menuconfig $make dep $make zImage

43 Outline Basic Concepts Building Development Environment XSBase255B Bootloader XSBase255B Linux kernel XSBase255B Filesystem OS Porting

44 Filesystem Design 使用簡單方便 安全可靠 即時回應 介面開放性和可移植性 可伸縮性和配置性 開放的體系架構 資源有效性 功能完整性

45 Filesystem Type Extfs Ext2fs Jffs Jffs2 Cramfs

46 MTD Support

47 RAM/ROM/Flash chip drivers

48 Mapping drivers for chip access

49 RAMDISK Support

50 Filesystem Format Jffs2

51 Creat Filesystem Image 切換到正確的 File System 目錄  Filesystem/ 利用 mkfs.jffs2 工具將指定目錄壓縮 ./mkfs.jffs2 – o rootfs.img – e 0x40000 – r root_XSBase255B – p -l

52 Outline Basic Concepts Building Development Environment XSBase255B Bootloader XSBase255B Linux kernel XSBase255B Filesystem OS Porting

53 Burn Bootloader via JTAG./Jflash-XSBASE x-boot255 XSCALE-R1 Copyright (C) 2004 Chhnet Co,. ltd. Support: Autoboot in progress, press any key to stop. Autoboot aborted Type "help" to get a list of commands XSBASE> ……….

54 Load Kernel & Filesystem XSBASE> tftp zImage kernel XSBASE> flash kernel XSBASE> tftp rootfs.img root XSBASE> flash root

55 OS Porting Demo

56 THE END Thank you.