RM-033-04-101_Creator-PXA270_Creator-PXA270

Download Report

Transcript RM-033-04-101_Creator-PXA270_Creator-PXA270

Creator PXA270 experiment
environment overview
DOC Number : RM-033-04-101
DOC Version : V1.00
Release Date : 2007-01-18
Module Name : Creator PXA270 experiment environment
overview
Platform : Creator XScale-PXA270
Category : Non-OS embedded programming
Difficulty : Basic
Experiment time : Lecture
Operation
: 30 minutes
: 20 minutes
Key Word : XSCALE, PXA270, CREATOR, Non-OS,
Cygwin, Domingo, Toolchain
Author : Microtime Computer Inc.
http://www.microtime.com.tw
實習規範

目的

規格

關聯

背景需求

設備需求
目的

針對在 Creator XScale-PXA270 平台進行
嵌入式微處理器實驗時 , 所需要配合之實驗
系統架構及實驗環境做一介紹
‹#›
規格

實驗系統架構說明

Cygwin 安裝與設定

Toolchains 安裝與設定

TFTP 伺服器安裝與設定

Terminal 安裝與設定

Creator XScale-PXA270 實驗平台安裝與設定

U-Boot 監督程式安裝與設定

JTAG Debugger 安裝與設定

原始碼程式編組譯整合操作示範

下載及執行實驗程式碼整合操作示範

JTAG 除錯整合操作示範
‹#›
相依性-技術背景-設備需求

關聯



None
背景需求

具 C 語言程式設計基礎

稍具微處理器系統硬體設計基礎
設備需求


H/W requirements :

PC Host, COM port

Creator XCsale-PXA270 Development Kit

JTAG-ICE (Recommended)

Ethernet port, Hub (Optional)
S/W requirements :

Linux environment
: Cygwin
1.3.18

Toolchain
: GCC
2.95.3

Domingo debugger (Recommended)

TFTP server
: TFTPD (Optional)
‹#›
實習系統概論

簡介

系統架構

電路架構

程式流程
系統架構 : 實體
Printer Cable
Optional
for Ethernet
Download
PC-HOST
Ethernet Cable
Optional
for Debug Use
Ethernet
HUB
7x
8x
9x
1x
2x
3x
10x
11x
12x
7x
8x
9x
4x
5x
6x
1x
2x
3x
10x
11x
12x
4x
5x
6x
POWERFAULT DATA ALARM
C
7 8 9101112
A
12 34 56
A
B
JTAG-ICE
RS-232
Null modem Cable
Ethernet Cable
JTAG Cable
HyperTerminal
In U-Boot
110V AC
5V DC
CN1
7
Cygwin
In Console
Base Board
U
1
5 U
9
C
U
B
1
BB
BB
U
B
8
C
N
N
8Board
SOM
6
J
J
1
G
2
Power
SW
Creator
PXA270
Main Board
5V Cable
‹#›
系統架構 : 功能
PC-Host
Linux like environment for Windows
Debugger
Source
Code
ARM-Toolchain
arm-elf-gcc
...
Images
arm-elf-gcc
...
Dimingo IDE
Cygwin
PC-Terminal
TFTP Server
Hyper-Terminal
TFTPD
Windows
RS232 COM
Ethernet
Boot-Loader
U-Boot
Peripherals
XScale-PXA270
Creator XScale-PXA270 Development board
JTAG-ICE
‹#›
程式流程
main
process
DEMO_HUHU
Creator
系統板初始化
Creator
掃瞄機制初始化
huhu = 1
i=0
HUHU 功能展示
(call process)
HUHU 功能展示
(call
DEMO_HUHU)
Y
i=8
N
依 huhu 點亮
LED (D9 .. D15)
huhu << 1
delay 125ms
i=i-1
‹#›
基礎知識

系統運作說明

實驗程式目錄架構說明

U-Boot 常用命令介紹

Creator XScale-PXA270
實驗平台介紹
系統運作說明



PC-Host :

與target board作區別,可安裝研發軟體工具

提供編譯和除錯環境
Cygwin :

在Windows上提供UNIX環境的程式集合

可以編寫出win32介面或是GUI應用程式
Toolchains :

集合發展嵌入式系統的工具和C函數庫
‹#›
系統運作說明



TFTP伺服器 :

TFTP是一個傳輸文件的簡單協議,以UDP來實現

根據 TFTP 能為客戶端提供檔案服務
Hyper-Terminal :

Windows 內建應用程式,可使用纜線或網路連線到其他電腦

作為 target board 簡單的人機界面
Creator XScale-PXA270 實驗平台 :

目標板可執行 Xscale 程式碼

提供各種輸出入界面
‹#›
系統運作說明


U-Boot :

嵌入式系統所用的 Boot loader

用來啟動作業系統, 應用程式以及接受命令
Domingo debugger 及 JTAG-ICE :

Domingo 提供整合除錯之人機界面

JTAG-ICE 扮演 Domingo 與目標板 CPU 之實體
界面, 為 boundary scan 加速引擎之所在
‹#›
實驗程式目錄架構說明

‹#›
U-Boot 常用命令介紹

Printenv

protect

Setenv

erase

saveenv

Run

loadb

go

loady

Bootm

Tftp

Bootp

md

help

mm

ping

nm

Usb

mw

Kgo

cp

flinfo

cmp

Nfs

macaddr

Pinit
‹#›
Creator XScale-PXA270 實驗平台
D5
COM1
CN17
CN10
CN16
S2
COM2
FFUART
USB-Device
USB-Host
Ethernet
RESET
S3
D1
D2
D3
Create XScale-PXA270
D4
COMPACT FLASH
CN19
CN20
STUART
S1
IrDA
JH2
JH1
CN3
CAMERA
U13
U15
U1 B
SDRAM
FLASH
COMPACT
CN17
SDRAM
TP2
B B
CN14
1 2
MP1
123
MP2
CF
CN8
CN6
TP1
AD
JH2
J1
CN23
MS
D6
CN21
PMIC
G
CN24
J2
SIM
KeyPad
CN5
MIC
LINE HEADPHONE
CN11
CN12
CN13
128 X 128
LCD Module
S2 ~ S17
4X4 Key Pad
D5 ~ D8
7-Segment
S1
DIP_SW
S19
SYS_RST
LED : D9 ~ D16
CN7
SOM-PXA270
CN18
JP13
CMOS Camera
CN2
J8
+5V
U8 B
CN4
S18
Power SW
JTAG
XScale-270
J6
5V DC_IN
LCD
B B
U9
8888
‹#›
Creator XScale-PXA270 實驗平台
Optional for Ethernet
Download
RS-232
Null Cable
Optional for JTAG-ICE
Optional for TFT-LCD
Ethernet Cable
Base Board
U
1
5 U
110V AC
5V DC
Adaptor
CN1
7
J6
9
C
C
N
N
8
6SOM Board
Power
SW
G
5V Cable
U
B
1
BB
BB
U
B
8
S1
LED
Creator PXA270
Main Board
J
J
1
2
128x128
LCM
4X4
Keypad
8888
‹#›
基礎實驗之配備建置

PC Host 端基本配備建置

Cygwin 及 ARM_ELF Toolchain 設置

Creator XScale-PXA270 硬體平台設置

實驗程式原始碼設置

基礎實驗之系統環境建置

Domingo, JTAG-ICE 及 Creator XScale-PXA270 整合除錯環境建置

U-Boot 監督程式安裝與設定

原始碼程式編組譯整合操作示範

下載及執行實驗程式碼整合操作示範

JTAG 除錯整合操作示範
基礎實驗配備建置程序關係圖
基礎環境建置
4.2.4
4.2.1
4.2.2
PC Host 端基本配備建
置
Cygwin 及 GCC
Toolchain 設置
4.2.10
原始碼程式編組譯整
合操作示範
實驗程式原始碼設置
4.2.3
Creator XScale-PXA270
硬體平台設置
4.2.5
4.2.8
基礎實驗之系統環境
建置
利用 U-Boot 自 PC 端
經網路下載檔案
4.2.9
4.2.7
U-Boot 監督程式安裝
與設定
U-Boot 燒錄
4.2.6
Domingo , JTAG-ICE
Creator XScale-PXA270
整合除錯環境建置
4.2.12
利用 U-Boot 自 PC 端
經 RS-232 下載檔案
4.2.11
下載及執行實驗程式
碼整合操作示範
JTAG 除錯整合操作示
範
JTAG 整合除錯
基礎實驗操作
基礎實驗配備建置程序關係圖
‹#›
PC Host 端基本配備建置
Optional
for Ethernet
Download
Hyper-Terminal
PC-HOST
Optional
for Ethernet
Download
Ethernet Cable
Ethernet
HUB
8x
9x
1x
2x
3x
10x
11x
12x
7x
8x
9x
4x
5x
6x
1x
2x
3x
10x
11x
12x
4x
5x
6x
7 8 9 101112
A
RS-232
Null Cable
7x
C
123456
A
B
Ethernet Cable
TFTP-Server
‹#›
Cygwin 及 GCC Toolchain 設置
‹#›
Creator XScale-PXA270 硬體平台設置
Optional for Ethernet
Download
RS-232
Null Cable
Optional for JTAG-ICE
Optional for TFT-LCD
Ethernet Cable
Base Board
110V AC
5V DC
Adaptor
Power
SW
CN1
7
J6
U
1
5 U
9
C
U
B
1
BB
BB
U
B
8
C
N
N
8
6SOM Board
J
J1
G
2
Creator PXA270
Main Board
5V Cable
‹#›
實驗程式原始碼設置
RM-033-04-101.ZIP
RM-033-04-200.ZIP



以進行 RM-033-04-200 單元實習
為例
先解壓縮 RM-033-04-101.ZIP 到
\Cygwin\usr\var
再解壓縮 RM-033-04-200.ZIP 到
\Cygwin\usr\var
‹#›
基礎實驗之系統環境建置
Printer Cable
Optional
for Ethernet
Download
PC-HOST
Ethernet Cable
Optional
for Debug Use
Ethernet
HUB
7x
8x
9x
1x
2x
3x
10x
11x
12x
7x
8x
9x
4x
5x
6x
1x
2x
3x
10x
11x
12x
4x
5x
6x
POWERFAULT DATA ALARM
C
7 8 9101112
A
12 34 56
A
B
JTAG-ICE
RS-232
Null modem Cable
Ethernet Cable
JTAG Cable
HyperTerminal
In U-Boot
110V AC
5V DC
CN1
7
Cygwin
In Console
Base Board
U
1
5 U
9
C
U
B
1
BB
BB
U
B
8
C
N
N
8
6SOM Board
J
J
1
G
2
Power
SW
Creator
PXA270
Main Board
5V Cable
‹#›
Domingo, JTAG-ICE 及 Creator
XScale-PXA270 整合除錯環境建置
Domingo
Optional for Ethernet download
Printer Cable
PC-HOST
Ethernet Cable
Ethernet
HUB
7x
8x
9x
1x
2x
3x
10x
11x
12x
7x
8x
9x
4x
5x
6x
1x
2x
3x
10x
11x
12x
4x
5x
6x
POWERFAULT DATA ALARM
C
7 8 9 101112
A
12 34 56
A
B
JTAG-ICE
RS-232
Null Cable
Hyper-Terminal
Ethernet Cable
JTAG Cable
Base Board
110V AC
CN1
7
5V DC
Cygwin ARM Toolchain
Power
SW
U
1
5
U
B
1BB
BB
U
B
8
U
9 C
C
N
N
8Board
SOM
6
G
Creator PXA270
Main Board
J
J1
2
5V Cable
‹#›
U-Boot 監督程式安裝與設定

利用 Domingo 啟動 u-boot

Creator XScale-PXA270 硬體平台設置

Domingo 整合除錯環境建置

利用 Domingo 下載 / 執行 u-boot .bin

進入 u-boot 命令模式
‹#›
U-Boot 監督程式安裝與設定 (cont.)

利用 u-boot 命令燒寫 u-boot 至 Flash ROM

設定 u-boot 的環境變數



setenv ipaddr ; setenv serverip ; saveenv
利用tftp 下載 u-boot.bin

複製 u-boot.bin 檔到 c:\tftpd_read

tftp a0000000 u-boot.bin
燒寫 Flash ROM

Protect off ; erase ; cp.b

重開 Creator 實驗板 , u-boot 會自行啟動

講師實作展示 3 min
‹#›
利用 U-Boot 自 PC 端經網路下載檔案

下載 lab.bin 到實驗板位址 0xA0000000為例

完成 <4.2.5> 基礎實驗之系統環境建置

複製 lab.bin 檔到 c:\tfpd_read 目錄

設定 Host 及 Xscale 板之 IP address


u-boot$setenv ipaddr <board_ip>

u-boot$setenv serverip <host_ip>
將 lab.bin 載入Xscale 板位址 0xA0000000


u-boot$tftp a0000000 lab.bin
講師實作展示 2 min
‹#›
利用 U-Boot自 PC 端經 RS-232 下載檔案

下載 lab.bin 到實驗板位址 0xA0000000為例

完成 <4.2.5> 基礎實驗之系統環境建置

令 u-boot 進入 ymodem 接收狀態


u-boot$loady a0000000
操作終端機執行傳送檔案 , 通訊協定選用
Ymodem 即可

講師實作展示 2 min
‹#›
原始碼程式編組譯整合操作示範

完成 <4.2.5> 基礎實驗之系統環境建置

在 Cygwin 環境中進入實習目錄

以 RM-033-04-200 實習單元為例

cd usr/var/microtim_lab/lab_pxa270/prj/rm-03304-200/build/gnu/2953

編組譯 RM-033-04-200 產生目的碼 lab.bin


make clean; make
學員實作 2 min
‹#›
下載及執行實驗程式碼整合操作示範

建議採 JTAG-ICE 方式較為理想


下載效率以及除錯支援較完整
採用 U-Boot 下載 lab.bin 到實驗板記憶體位址
0xA0000000 並執行為例

參照 <4.2.8> 利用 U-Boot 自 PC 端經網路 , 或<4.2.9>
經 RS-232 下載檔案

利用 u-boot 命令 go a0000000 執行之

此時實驗板執行先前下載之程式
‹#›
JTAG 除錯整合操作示範

完成 <4.2.5> 基礎實驗之系統環境建置

完成 <4.2.6> Domingo 整合除錯環境建置

IDE 整合除錯環境介紹

以 RM-033-04-101 實習單元為例 , 載入含 elf 除錯資訊
之目的檔 lab.axf

瀏覽原始碼檔案

瀏覽系統資源 : reg, mem, break points, …

執行程式碼 : reset, step, free go, stop, …

學員實作 5 min
‹#›
Creator PXA270硬體檢測

應用軟體

利用Diag進行驗證

Cretaor PXA270 測試

實作
應用軟體
u-boot.bin
diag
RT-953-033-29_Creator_PXA270_All-App.tar.gz
解壓縮
rootfs.jffs2.pxa270-20061031-1014
uImage.pxa270.linux-2.6.15.3-20061031-1009
zImage.pxa270.linux-2.6.15.3-20061031-1009
TFTPD.exe
‹#›
利用Diag進行驗證
Test Prog V1.2
0:Next_Menu
1:Base SDRAM
2:Base Flah
3:Base MAC_IC
4:Base PC_CARD
5:Base CPLD
6:Base GPIO
7:Base TFT_LCD
8:Main Flash
9:Main CF
A:Main EEPROM
B:Main LED_SW
C:Main USB
Input
Test
Num : _
1.測試 SOM-PXA270
SDRAM
2.測試 SOM-PXA270
FLASH
3.測試 Create-PXA270
MAC IC (u10)
4.測試 Create-PXA270
CF Card (CN14)
5.測試 Create-PXA270
CPLD
(u9)
6.測試 Create-PXA270
GPIO
(s1-2 D1-4)
7.測試 Create-PXA270
TFT LCD (CN2)
8.測試 Creator板
FLASH
9.測試 Creator板
CF Card
A.測試 Creator板
EEPROM (u13)
B.測試 Creator板
LED&SW (s1 D9 ~ 16)
C.測試 Creator板
USB
(j4)
‹#›
利用Diag進行驗證(cont.)
Test Prog V1.2
0:Next_Menu
1:Main LCD
2:Main CCM
3:MTBT-C1
4:RFID
Input
1.測試 Creator板
2.測試 Creator板
LCD
CMOS
(jp13)
Test Num : _
‹#›
恢復出貨設置u-boot

利用Doming 載入/執行u-boot.bin

Option
P; 0x3f80000

Goto Main/Address
0x3f80000
‹#›
恢復出貨設置u-boot (cont.)

利用u-boot命令燒寫 u-boot.bin
u-boot $
u-boot $
u-boot $
u-boot $
u-boot $
u-boot $
setenv ipaddr xxx.xxx.xxx
setenv serverip zzz.zzz.zzz
tftp a0000000 u-boot.bin
protect off 0 3ffff
erase 0 3ffff
cp.b a0000000 0 40000
0000 - 0000
u-boot.bin
128K
0002 - 0000
U-BOOT
U-BOOT Parameter
128K
0004 - 0000
diag_ram.bin
Diagnostic Program
768K
0010 - 0000
uImage.bin
Linux Kernel
rootfs.jffs2.pxa270
3.5M
Linux File Sysetm
15M
0048 - 0000
0138 - 0000
Reserved
01FF - FFFF
‹#›
恢復出貨設置diag

利用u-boot 命令燒寫 diag_ram.bin
u-boot $
u-boot $
u-boot $
u-boot $
u-boot $
u-boot $
setenv ipaddr 10.0.0.70
setenv serverip 10.0.0.40
tftp a0000000 diag_ram.bin
protect off 40000 fffff
erase 40000 fffff
cp.b a0000000 40000 100000
Target IP
10.0.0.70
PC IP
10.0.0.40
0000 - 0000
u-boot.bin
128K
0002 - 0000
U-BOOT
U-BOOT Parameter
128K
0004 - 0000
diag_ram.bin
Diagnostic Program
768K
0010 - 0000
uImage.bin
Linux Kernel
rootfs.jffs2.pxa270
3.5M
Linux File Sysetm
15M
0048 - 0000
0138 - 0000
Reserved
01FF - FFFF
‹#›
恢復出貨設置(cont.)

利用u-boot 命令燒寫 Linux Kernel
0000 - 0000
u-boot.bin
u-boot $ setenv ipaddr 10.0.0.70
u-boot $ setenv serverip 10.0.0.40
u-boot $ tftp a0000000 uImage.pxa270.
linux-2.6.15.3-yyyymmdd-hhmm
u-boot $ protect off 100000 47ffff
u-boot $ erase 100000 47ffff
u-boot $ cp.b a0000000 100000 480000
Target IP
10.0.0.70
PC IP
10.0.0.40
★ yyyymmdd-hhmm 代表編譯好的時間日期
128K
0002 - 0000
U-BOOT
U-BOOT Parameter
128K
0004 - 0000
diag_ram.bin
Diagnostic Program
768K
0010 - 0000
uImage.bin
Linux Kernel
rootfs.jffs2.pxa270
3.5M
Linux File Sysetm
15M
0048 - 0000
0138 - 0000
Reserved
01FF - FFFF
(Creator Xscase PXA270 V1.04 CD中 RT-953-033-29_Creator_PXA270_All-App.tar.gz
解壓縮後得到 uImage.pxa270.linux-2.6.15.3-20061031-1009 )
建議修改為較短名稱
‹#›
恢復出貨設置(cont.)

利用u-boot 命令燒寫 Linux filesystem
u-boot $ setenv ipaddr 10.0.0.70
u-boot $ setenv serverip 10.0.0.40
u-boot $ tftp a0000000 rootfs.jffs2.
pxa270.linux-yyyymmdd-hhmm
u-boot $ protect off 100000 47ffff
u-boot $ erase 100000 47ffff
u-boot $ cp.b a0000000 100000 480000
Target IP
10.0.0.70
PC IP
10.0.0.40
0000 - 0000
u-boot.bin
128K
0002 - 0000
U-BOOT
U-BOOT Parameter
128K
0004 - 0000
diag_ram.bin
Diagnostic Program
768K
0010 - 0000
uImage.bin
Linux Kernel
rootfs.jffs2.pxa270
3.5M
Linux File Sysetm
15M
0048 - 0000
0138 - 0000
Reserved
01FF - FFFF
★ yyyymmdd-hhmm 代表編譯好的時間日期
(Creator Xscase PXA270 V1.04 CD中 RT-953-033-29_Creator_PXA270_All-App.tar.gz
解壓縮後得到 rootfs.jffs2.pxa270-20061031-1014)
建議修改為較短名稱
‹#›
Linux執行應用程式驗證
驗證
LED/DIP_SW
CCM-(Image)
CODEC
cd /lib/modules/2.6.15.3/
insmod creator-pxa270-cmos.ko
insmod creator-pxa270-lcd.ko
insmod creator-pxa270-codec.ko
cd /opt/microtime/creator-pxa270demo
./creator-pxa270-demo
相關文件 : RT-953-033-24
驗證
MTLCD
cd /opt/microtime/minigui_application
/same
./same
相關文件 : RT-953-033-22
‹#›
Q&A