Lecture01-嵌入式Linux系統介紹

Download Report

Transcript Lecture01-嵌入式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
Operation
: 60-90 minutes
: 30-60 minutes
Key Word : XSCALE, PXA270, CREATOR, User Application
Author : Microtime Computer Inc.
http://www.microtime.com.tw
實習規範

目的

規格

關聯

背景需求

設備需求
目的

瞭解嵌入式Linux系統架構和一個完整的開發環
境包含了拿些應用工具,並針對除錯、編譯等…
開發環境一一說明。
‹#›
技術背景-設備需求

技術背景需求


具 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 XScalePXA270光碟中Linux\Doc路徑下。

Create-XScale-PXA270 User’s Guide。

通訊軟體:例如Windows的超級終端機
‹#›
實習系統概論

簡介

系統架構

電路架構

程式流程
簡介
本章實習的主要內容,在於說明何謂Embedded Linux系統、架
構及其開發環境,所以將針對下列幾點加以說明:



說明嵌入式系統為何,及Embedded Linux系統的優缺點和
應用範圍。
說明Embedded Linux系統架構。
說明CreateXScale-PXA270嵌入式系統發展工具解決方案
,包含如下三個部分:

Windows Host端—除錯環境

Linux Host端—編譯環境

Linux Target端—Target Board
‹#›
系統架構
Window Host
CodeLyzer
Domingo
Ethernet
Print port
ICE / JTAG
TFTP Server
Linux Host
Samba Server
Linux
Kernel
Source
NFS Server
Linux target
TFTP Client
mtdd/gdbserver
Flash:
Linux kernel
RootFS
port / mount
‹#›
電路架構
Hyper-Terminal
in U-Boot
Windows Host
For ethernet download(optional)
For debug use(optional)
Printer Cable
Ethernet Cable
HUB
POWERFAULT DATA ALARM
Ethernet
Virtual Machine
Linux Host
7x
8x
9x
1x
2x
3x
10x
11x 12x
7x
8x
9x
4x
5x
1x
2x
3x
10x
11x 12x
4x
5x
C
7 8 9101112
A
12 34 56
A
6x
B
6x
JTAG-ICE
RS-232
Null Cable
Ethernet Cable
JTAG Cable
Base Board
110V AC
CN1
7
5V DC
9
C
U
B
1BB
BB
U
B
8
C
N
N
8Board
SOM
6
J
1J
G
2
Power
SW
COM2
U
1
5 U
Creator PXA270
Main Board
TFT-CLD
5V Cable
‹#›
基礎知識

嵌入式系統導覽

Embedded Linux架構

完整的嵌入式系統發展工具解決方案

Windows Host端─除錯環境介紹

Linux Host端─編譯環境介紹

Linux Target端─Target Board介紹

Linux Target端和Windows Host端接線說明
嵌入式系統導覽

常見的嵌入式硬體

常見的嵌入式作業系統

X86架構

MS-DOS

ARM架構

Windows CE

MIPS架構

Palm OS

PowerPC架構

EPOC

其他:m68k、8051..

Symbain OS
等等

即時嵌入式系統

Embedded Linux
‹#›
嵌入式系統導覽(cont.)

Embedded Linux的優點

嵌入式Linux的應用範圍
開放原始碼,模組化設

PDA
計

Web PDA

高度穩定性

Set-Top-Box

強化的網路功能

Cell phones and web

可以跨越各種硬體平台

應用軟體眾多

phones

各樣網路相關Box
‹#›
Embedded Linux架構
USER
USER
AP S/W
Embedded
Linux
Application
utilities
Linux Kernel
BIOS
H/W
Tool
Bootloader
H/W
initialization
Hardware
Device
driver
Compiler
Debugger
ICE
Compiler
Debugger
ICE
LA. SCOPE
IC Tool
‹#›
Linux Kernel architecture

Architecture of a generic Linux
system
Ref. [3]
13
‹#›
完整的嵌入式系統發展工具解決方案


一個完整的嵌入式系統發展工具解決方案包含,如下:

線路實體模擬器(In-Circuit Emulator,ICE)、

系統發展板(Evaluation Board)、

應用程式整合開發除錯工具(Debugger)

編譯器(Compiler)
Creator-XScale-PXA270嵌入式系統

開發環境的稱謂
發展環境
稱謂
編譯環境
Linux Host端
除錯環境
Windows Host端
Target board
Linux Target端
‹#›
完整的嵌入式系統發展工具解決方案
(cont.)
Window Host

CreatorXScalePXA270嵌入
CodeLyzer
Domingo
Ethernet
Print port
ICE / JTAG
TFTP Server
式系統架構圖

Linux Host端
Linux Host
Linux target
為獨立PC模式
Samba Server
TFTP Client
mtdd/gdbserver
Linux
Kernel
Source
NFS Server
Flash:
Linux kernel
RootFS
port / mount
‹#›
完整的嵌入式系統發展工具解決方案
(cont.)
Ethernet

Linux Host端
為Virtual
Machine模式
CodeLyzer
Domingo
Printport
ICE/JTAG
TFTP Server
Virtual Machine
Linux Host
Samba Server
Linux target
TFTP Client
mtdd/gdbserver
Linux
Kernel
Source
NFS Server
Flash:
Linux kernel
RootFS
port/mount
‹#›
完整的嵌入式系統發展工具解決方案
(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端的檔案資
源共享。
‹#›
完整的嵌入式系統發展工具解決方案
(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開發學習版。
‹#›
Windows Host端─除錯環境介紹


Embedded Linux核心除錯工具

列印訊息法(printk)

訊息記錄(klogd/syslogd)

查詢除錯法(proc)

Domingo for Linux
Embedded Linux應用程式除錯工具

列印訊息法(printf)

記憶體配置除錯(memwatch/YAMD)

系統呼叫追蹤(strace)

GDB/Insight

CodeLyzer
‹#›
Windows Host端─除錯環境介紹
(cont.)

Domingo for Linux
一套整合開發、驗證、燒錄及除錯的整合開發除錯軟體,其主要的功能
說明如下:

整合操作視窗

提供使用ICE硬體資源時的設定管道

CPU資源之觀察及修改

待發展程式之觀察,修改及執行

組合語言及高階語言除錯

Nor/Nand Flash燒錄功能

在Embedded Linux系統中,提供針對Linux Kernel及Device Driver的除錯
‹#›
Windows Host端—除錯環境介紹
(cont.)

除錯軟體—Domingo for Linux介面介紹
‹#›
Windows Host端─除錯環境介紹
(cont.)

CodeLyzer
一套針對Embedded Linux中User application的除錯軟體,其主要
的功能說明如下:

提供視窗化的整合除錯資訊

在Embedded Linux系統中,提供針對user application的除錯

提供multi-process的除錯模式

提供multi-thread的除錯模式

提供變數、中斷點、記憶體、程式等…除錯視窗
‹#›
Windows Host端—除錯環境介紹
(cont.)

除錯軟體—CodeLyzer介面介紹
‹#›
Linux Host端─編譯環境介紹


安裝Linux作業系統

獨立的PC安裝Linux作業系統

在Windows Host上安裝Linux作業系統
Embedded Linux Kernel Image的編譯和驗證


安裝Tool Chain—GCC(GNU Cross Compiler Tool
Chain)
Embedded Linux Kernel程式碼版本
‹#›
Linux Host端—編譯環境介紹 (2)

Virtual PC

VMware
‹#›
Linux Host端─編譯環境介紹
(cont.)


編譯Kernel Image

Make menuconfig

Make mrproper

make dep

make clean

make zImage

make modules

make modules_install

make install
驗證Kernel Image
‹#›
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)。
‹#›
Linux Host端─編譯環境介紹
(cont.)

Samba Server


Network File System的縮寫,意思是“網
路檔案系統”,最主要功能,在於提供各種
不同硬體架構,不限任何作業系統的電腦,
可以透過網路,達到分享彼此檔案的目的
我們將利用Linux Host端的這項功能,使得
Linux Target端(CreatorXScalePXA270)可以方便取得製作Linux Host端
完成的程式碼,進行測試。
‹#›
Linux Host端─編譯環境介紹
(cont.)

NFS Server


是延伸自SMB(Server Message Block)的代名
詞,其主要功能,在於提供Linux Host端的目錄
與Windows Host端進行檔案資料共享。
Windows Host端建立一個網路磁碟機對映到
Samba Server所分享的目錄。
所以Domingo for Linux便可藉由這個網路磁
碟機直接取得Linux Host端編譯完成的Kernel
image檔。
‹#›
Linux Target端
─Target Board介紹

Creator嵌入式發展系統母板
‹#›
Linux Target端
─Target Board介紹(cont.)

Creator母版Master和Slave bus的支援
‹#›
Linux Target端
─Target Board介紹(cont.)

Creator-XScale-PXA270嵌入式系統Flash的配置
0000 - 0000
u-boot.bin
U-BOOT
U-BOOT Parameter
128K
0002 - 0000
128K
0004 - 0000
diag_ram.bin
Diagnostic Program
uImage.bin
768K
Linux Kernel
rootfs.jffs2.pxa270
3.5M
Linux File Sysetm
15M
0010 - 0000
0048 - 0000
0138 - 0000
Reserved
01FF - FFFF
‹#›
Linux Target端和Windows Host端接線
說明

Windows Host端和Carrier ICE、Target Board的接線圖
Carrier ICE
Debugger
ARM POD
External Trigger connector
PC Host
Current Measurement Module
Speaker
Creator
Microphone
CMOS sensor
‹#›
Linux Target端和Windows Host端接線
說明(cont.)

Windows Host端和Pocket ARM ICE、Target Board的接線圖
To PC
Current Measurement Module
Pocket ARM ICE
Compact Flash Card
Speaker
Creator
Microphone
CMOS sensor
Power
‹#›
Linux Target端和Windows
Host端接線說明
Hyper-Terminal
in U-Boot
Windows Host
For ethernet download(optional)
For debug use(optional)
Printer Cable
Ethernet Cable
HUB
POWERFAULT DATA ALARM
Ethernet
Virtual Machine
Linux Host
7x
8x
9x
1x
2x
3x
10x
11x 12x
7x
8x
9x
4x
5x
1x
2x
3x
10x
11x 12x
4x
5x
C
7 8 9101112
A
12 34 56
A
6x
B
6x
JTAG-ICE
RS-232
Null Cable
Ethernet Cable
JTAG Cable
Base Board
110V AC
CN1
7
5V DC
Power
SW
U
1
5 U
9 C
C
N
N
8
6SOM Board
G
COM2
U
B
1BB
BB
U
B
8
J
J1
2
Creator PXA270
Main Board
TFT-CLD
5V Cable
‹#›
實習步驟

系統軟硬體設置

實習一:Virtual PC安裝實作說明

實習二: Fedora Core 5.0安裝實作說明
系統設置

系統軟硬體的設置



建立Windows Host端、 Linux Host端、 Linux
Target端三者之間的硬體環境連結。
建立Linux Host端的編譯環境。
實作程式碼設置
‹#›
實習一:Virtual PC安裝實作說明

安裝Virtual PC

建立New Virtual Machine

Virtual Machine的相關設定

Virtual Disk
‹#›
實習二: Fedora Core 5.0安裝實作說明(1)

安裝前的建議
Virtual PC在安裝Virtual Machine時,支援’
安裝光碟’及’ISO檔’兩種安裝模式,雖然
兩種模式都能順利安裝Fedora Core 5.0,但
是建議利用’ISO檔’的安裝模式,以減少安
裝的時間。
‹#›
實習二: Fedora Core 5.0安裝實作說明(2)

安裝Fedora Core 5.0

Firewall跟SELinux要設定為
Disabled

Display的設定: Color Depth
設定為”Thousands of
Colors”
‹#›
實作開始

操作時間 : 20 min
習作及參考資料

習作
Exe_1

參考資料
[1] Intel PXA270 Processor Family Developer's Manual
[2] RM-033-04-100 : Introduction to Creator XScalePXA270
[3] RM-033-04-101 : Creator PXA270 experiment
environment overview
[4] Creator PreSOCes Development Kit User's Guide
‹#›
Q&A