嵌入式 Linux 系統介紹

Post on 16-Jan-2016

77 views 0 download

Tags:

description

嵌入式 Linux 系統介紹. 實習規範. 目的 規格 關聯 背景需求 設備需求. 目的. 瞭解嵌入式 Linux 系統架構和一個完整的開發環境包含了拿些應用工具,並針對除錯、編譯等 … 開發環境一一說明。. 技術背景 - 設備需求. 技術背景需求 具 C 語言程式設計基礎 設備需求 H/W requirements : PC Host , COM port ,網路 Hub , Creator XCsale-PXA270 Development Kit S/W requirements : - PowerPoint PPT Presentation

Transcript of 嵌入式 Linux 系統介紹

嵌入式 Linux 系統介紹DOC Number : RM-033-04-420

DOC Version : V1.00

Release Date : 2007-08-24

Module Name : 嵌入式 Linux 系統介紹

Platform : Creator XScale-PXA270

Category : embedded Linux

Difficulty : basic

Experiment time : Lecture : 60-90 minutes

Operation : 30-60 minutes

Key Word : XSCALE, PXA270, CREATOR, User Application

Author : Microtime Computer Inc. http:/ /www.microtime.com.tw

實習規範

目的 規格 關聯 背景需求 設備需求

33

目的

瞭解嵌入式 Linux 系統架構和一個完整的開發環境包含了拿些應用工具,並針對除錯、編譯等…開發環境一一說明。

44

技術背景 - 設備需求 技術背景需求

具 C 語言程式設計基礎 設備需求

H/W requirements : PC Host , COM port ,網路 Hub , Creator XCsale-PXA270 Development Kit

S/W requirements : Linux for Creator XScale-PXA270 user guide :檔案在 Linux for Creator XScale-

PXA270 光碟中 Linux\Doc 路徑下。 Create-XScale-PXA270 User’s Guide 。 通訊軟體:例如 Windows 的超級終端機

實習系統概論

簡介 系統架構 電路架構 程式流程

66

簡介本章實習的主要內容,在於說明何謂 Embedded Linux 系統、架構及其開發環境,所以將針對下列幾點加以說明:

說明嵌入式系統為何,及 Embedded Linux 系統的優缺點和應用範圍。

說明 Embedded Linux 系統架構。 說明 CreateXScale-PXA270 嵌入式系統發展工具解決方案

,包含如下三個部分: Windows Host 端—除錯環境 Linux Host 端—編譯環境 Linux Target 端— Target Board

77

系統架構

ICE / JTAGICE / JTAG

mtdd/gdbservermtdd/gdbserver

Linux target

CodeLyzerCodeLyzer

DomingoDomingo

Window Host

Samba ServerSamba Server

NFS ServerNFS Server

Linux Host

Ethernet

Print port

port / mountport / mount

LinuxKernel Source

LinuxKernel Source

Flash:Linux kernel

RootFS

Flash:Linux kernel

RootFS

TFTP ServerTFTP Server

TFTP ClientTFTP Client

88

電路架構

CN

17 U

9

U15

G

BBBB

U1BB

CN6

U8

J2

CN8

J1

1 2 3 4 5 6

7 8 9101112

AB

12x

6x

8x

2x

9x

3x

10x

4x

11x

5x

7x

1x

Ethernet

A

12x

6x

8x

2x

9x

3x

10x

4x

11x

5x

7x

1x

C

POWERFAULT DATA ALARM

JTAG-ICE

HUB

5V DC

Printer Cable

Ethernet Cable

RS-232 Null Cable

Creator PXA270Main Board

PowerSW

Ethernet CableJTAG Cable

110V AC

5V Cable

Base Board

SOM Board

Windows HostFor ethernet download(optional)Hyper-Terminal

in U-Boot For debug use(optional)

TFT-CLD

COM2

Virtual MachineLinux Host

基礎知識 嵌入式系統導覽 Embedded Linux 架構 完整的嵌入式系統發展工具解決方案 Windows Host 端─除錯環境介紹 Linux Host 端─編譯環境介紹 Linux Target 端─ Target Board 介紹 Linux Target 端和 Windows Host 端接線說明

1010

嵌入式系統導覽 常見的嵌入式硬體

X86 架構 ARM 架構 MIPS 架構 PowerPC 架構 其他: m68k 、 8051..

等等

常見的嵌入式作業系統 MS-DOS

Windows CE

Palm OS

EPOC

Symbain OS

即時嵌入式系統 Embedded Linux

1111

嵌入式系統導覽 (cont.)

Embedded Linux 的優點 開放原始碼,模組化設

計 高度穩定性 強化的網路功能 可以跨越各種硬體平台 應用軟體眾多

嵌入式 Linux 的應用範圍 PDA

Web PDA

Set-Top-Box

Cell phones and web

phones

各樣網路相關 Box

1212

Embedded Linux 架構

USER

Application utilities

Linux Kernel

BI OSBootloader

H/W initialization

Device driver

Hardware

Tool

CompilerDebugger

I CECompilerDebugger

I CELA. SCOPEI C Tool

USER

AP S/ W

Embedded Linux

H/ W

131313

Linux Kernel architecture Architecture of a generic Linux

system

Ref. [3]

1414

完整的嵌入式系統發展工具解決方案 一個完整的嵌入式系統發展工具解決方案包含,如下:

線路實體模擬器 (In-Circuit Emulator , ICE) 、 系統發展板 (Evaluation Board) 、 應用程式整合開發除錯工具 (Debugger)

編譯器 (Compiler)

Creator-XScale-PXA270 嵌入式系統 開發環境的稱謂

發展環境 稱謂編譯環境 Linux Host端除錯環境 Windows Host端

Target board Linux Target端

1515

完整的嵌入式系統發展工具解決方案(cont.)

Creator-

XScale-

PXA270 嵌入式系統架構圖

Linux Host

端為獨立 PC

模式

ICE / JTAGICE / JTAG

mtdd/gdbservermtdd/gdbserver

Linux target

CodeLyzerCodeLyzer

DomingoDomingo

Window Host

Samba ServerSamba Server

NFS ServerNFS Server

Linux Host

Ethernet

Print port

port / mountport / mount

LinuxKernel Source

LinuxKernel Source

Flash:Linux kernel

RootFS

Flash:Linux kernel

RootFS

TFTP ServerTFTP Server

TFTP ClientTFTP Client

1616

完整的嵌入式系統發展工具解決方案(cont.)

Linux Host

端為 Virtual

Machine 模式

ICE/JTAGICE/JTAG

mtdd/gdbservermtdd/gdbserver

Linux target

CodeLyzerCodeLyzer

DomingoDomingo

Samba ServerSamba Server

NFS ServerNFS Server

Linux Host

Ethernet

Printport

port/mountport/mount

LinuxKernelSource

LinuxKernelSource

Flash:Linux kernelRootFS

Flash:Linux kernelRootFS

TFTP ServerTFTP Server

TFTP ClientTFTP Client

Virtual MachineVirtual Machine

1717

完整的嵌入式系統發展工具解決方案(cont.)

Linux Host 端:提供編譯環境 Linux Host 端:扮演開發系統中的編譯環境部分,因為是用 GNU

的 compiler 所以需要安裝 Linux 作業系統,。 目的是用來製作和編譯要放在 Linux Target 端的 Boot

loader 、 Embedded Linux Kernel 、 root filesystem 等…image 檔。

Samba Server :建立 Linux Host 端 Samba Server 分享目錄的網路磁碟機。以達到 Linux Host 端和 Windows Host 端的檔案資源共享。

NFS Server : Linux Target 端掛載 Linux Host 端 NFS server 分享的檔案系統。以達到 Linux Host 端和 Linux Target 端的檔案資源共享。

1818

完整的嵌入式系統發展工具解決方案(cont.)

Windows Host 端:提供除錯環境 Window Host 端:扮演開發系統中的除錯環境部分,所以安裝

Domingo for Linux 及 CodeLyzer 這兩個除錯軟體。 Domingo for Linux :提供 Embedded Linux Kernel 及 Device

Driver 的除錯。 CodeLyzer :提供 Embedded Linux User Application 的除錯。 Virtual Machine :利用 Virtual PC 或 VMware 軟體,建立一個虛擬

空間並安裝 Linux Host 端的作業系統

Linux Target 端: 提供 EmbeddedCreator-XScale-PXA27 Target Board ,新華電腦

所提供的 Creator 開發學習版。

1919

Windows Host 端─除錯環境介紹 Embedded Linux 核心除錯工具

列印訊息法 (printk)

訊息記錄 (klogd/syslogd)

查詢除錯法 (proc)

Domingo for Linux

Embedded Linux 應用程式除錯工具 列印訊息法 (printf)

記憶體配置除錯 (memwatch/YAMD)

系統呼叫追蹤 (strace)

GDB/Insight

CodeLyzer

2020

Windows Host 端─除錯環境介紹(cont.)

Domingo for Linux

一套整合開發、驗證、燒錄及除錯的整合開發除錯軟體,其主要的功能說明如下:

整合操作視窗 提供使用 ICE 硬體資源時的設定管道 CPU 資源之觀察及修改 待發展程式之觀察,修改及執行 組合語言及高階語言除錯 Nor/Nand Flash 燒錄功能 在 Embedded Linux 系統中,提供針對 Linux Kernel 及 Device Driver 的除錯

2121

Windows Host 端—除錯環境介紹 (cont.)

除錯軟體— Domingo for Linux 介面介紹

2222

Windows Host 端─除錯環境介紹(cont.)

CodeLyzer

一套針對 Embedded Linux 中 User application 的除錯軟體,其主要的功能說明如下:

提供視窗化的整合除錯資訊 在 Embedded Linux 系統中,提供針對 user application 的除錯 提供 multi-process 的除錯模式 提供 multi-thread 的除錯模式 提供變數、中斷點、記憶體、程式等…除錯視窗

2323

Windows Host 端—除錯環境介紹 (cont.)

除錯軟體— CodeLyzer 介面介紹

2424

Linux Host 端─編譯環境介紹 安裝 Linux 作業系統

獨立的 PC 安裝 Linux 作業系統 在 Windows Host 上安裝 Linux 作業系統

Embedded Linux Kernel Image 的編譯和驗證 安裝 Tool Chain—GCC(GNU Cross Compiler Tool

Chain)

Embedded Linux Kernel 程式碼版本

2525

Linux Host 端—編譯環境介紹 (2)

Virtual PC

VMware

2626

Linux Host 端─編譯環境介紹(cont.)

編譯 Kernel Image Make menuconfig Make mrproper make dep make clean make zImage make modules make modules_install make install

驗證 Kernel Image

2727

Linux Host 端─編譯環境介紹(cont.)

Bootloader— 開機引導程式 啟動載入( Boot Loading )模式 下載模式( Downloading )模式

Linux Target 端的根目錄檔案系統 最起碼的目錄: /dev,/proc,/bin,/etc,/lib,/usr,/tmp 。 基本的工具程式: sh,ls,cp,mv,etc. 。 最起碼的組態設定檔: rc,inittab,fstab,etc. 。 設備檔: /dev/hd*,/dev/tty*,/dev/fd0,etc. 。 Runtime 函式庫以提供工具程式所使用之基本功能 (functions) 。

2828

Linux Host 端─編譯環境介紹(cont.)

Samba Server Network File System 的縮寫,意思是“網

路檔案系統”,最主要功能,在於提供各種不同硬體架構,不限任何作業系統的電腦,可以透過網路,達到分享彼此檔案的目的

我們將利用 Linux Host 端的這項功能,使得 Linux Target 端 (CreatorXScale-PXA270) 可以方便取得製作 Linux Host 端完成的程式碼,進行測試。

2929

Linux Host 端─編譯環境介紹(cont.)

NFS Server 是延伸自 SMB(Server Message Block) 的代名詞,其主要功能,在於提供 Linux Host 端的目錄與 Windows Host 端進行檔案資料共享。 Windows Host 端建立一個網路磁碟機對映到 Samba Server 所分享的目錄。

所以 Domingo for Linux便可藉由這個網路磁碟機直接取得 Linux Host 端編譯完成的Kernel image 檔。

3030

Linux Target 端─ Target Board 介紹

Creator 嵌入式發展系統母板

3131

Linux Target 端─ Target Board 介紹 (cont.)

Creator母版 Master 和 Slave bus 的支援

3232

Linux Target 端─ Target Board 介紹 (cont.)

Creator-XScale-PXA270 嵌入式系統 Flash 的配置u-boot.bin

U-BOOT 128K

128K

768K

3.5M

15M

0000 - 0000

0002 - 0000

0004 - 0000

0010 - 0000

0048 - 0000

0138 - 0000

01FF - FFFF

U-BOOT Parameter

diag_ram.bin

Diagnostic ProgramuImage.bin

Linux Kernelrootfs.jffs2.pxa270

Linux File Sysetm

Reserved

3333

Linux Target 端和 Windows Host 端接線說明

Windows Host 端和 Carrier ICE 、 Target Board 的接線圖

PC Host

Debugger

Carrier ICE

External Trigger connector

Current Measurement Module

CreatorSpeaker

Microphone

ARM POD

CMOS sensor

3434

Linux Target 端和 Windows Host 端接線說明 (cont.)

Windows Host 端和 Pocket ARM ICE 、 Target Board 的接線圖

Compact Flash Card

To PC

Pocket ARM ICE

Current Measurement Module

Creator

Speaker

Microphone

Power

CMOS sensor

3535

Linux Target 端和 Windows Host 端接線說明

CN

17 U

9

U15

G

BBBB

U1BB

CN6

U8

J2

CN8

J1

1 2 3 4 5 6

7 8 9101112

AB

12x

6x

8x

2x

9x

3x

10x

4x

11x

5x

7x

1x

Ethernet

A

12x

6x

8x

2x

9x

3x

10x

4x

11x

5x

7x

1x

C

POWERFAULT DATA ALARM

JTAG-ICE

HUB

5V DC

Printer Cable

Ethernet Cable

RS-232 Null Cable

Creator PXA270Main Board

PowerSW

Ethernet CableJTAG Cable

110V AC

5V Cable

Base Board

SOM Board

Windows HostFor ethernet download(optional)Hyper-Terminal

in U-Boot For debug use(optional)

TFT-CLD

COM2

Virtual MachineLinux Host

實習步驟

系統軟硬體設置 實習一: Virtual PC 安裝實作說明 實習二: Fedora Core 5.0 安裝實作說明

3737

系統設置 系統軟硬體的設置

建立 Windows Host 端、 Linux Host 端、 Linux Target 端三者之間的硬體環境連結。

建立 Linux Host 端的編譯環境。

實作程式碼設置

3838

實習一: Virtual PC 安裝實作說明 安裝 Virtual PC

建立 New Virtual Machine

Virtual Machine 的相關設定 Virtual Disk

3939

實習二: Fedora Core 5.0 安裝實作說明(1)

安裝前的建議

Virtual PC 在安裝 Virtual Machine 時,支援’安裝光碟’及’ ISO 檔’兩種安裝模式,雖然兩種模式都能順利安裝 Fedora Core 5.0 ,但是建議利用’ ISO 檔’的安裝模式,以減少安裝的時間。

4040

實習二: Fedora Core 5.0 安裝實作說明(2)

安裝 Fedora Core 5.0

Firewall 跟 SELinux 要設定為Disabled

Display 的設定: Color

Depth 設定為” Thousands

of Colors”

實作開始

操作時間 : 20 min

4242

習作及參考資料 習作

Exe_1

參考資料

[1] Intel PXA270 Processor Family Developer's Manual

[2] RM-033-04-100 : Introduction to Creator XScale-PXA270

[3] RM-033-04-101 : Creator PXA270 experiment environment overview

[4] Creator PreSOCes Development Kit User's Guide

Q & A