Professional Documents
Culture Documents
X-Hyper270-TKU 교재 R1.0 PDF
X-Hyper270-TKU 교재 R1.0 PDF
Revision History
Date
2005. 11. 9
Version
R1.0
Updates
First Edition(Editor: Heo Young Wook)
X-Hyper270-TKU Manual
Table of Contents
1. Embedded System
.....7
3. ......94
4. .....144
4.1 Bootloader......144
4.2 Kernel compile...149
4.3 File System..212
X-Hyper270-TKU Manual
5. ..224
6. .....316
6.1 QT ..316
6.2 Web Server (GoAhead) ...336
6.3 Web Browser (Dillo) ..348
6.4 NAT ..353
6.5 NFS .....367
X-Hyper270-TKU Manual
6.6 MPEG Player Porting...372
6.7 USB Host ...381
7. ....415
X-Hyper270-TKU Manual
X-Hyper270-TKU Manual
1. Embedded System
, , , ,
.
TV, , ,
, PDA,
, , , ,
, (ATM), , ,
, , Post PC
.
X-Hyper270-TKU Manual
1.2. Embedded System
O/S
(embedded system)
.
(OS : Operation System)
.
,
.
(real time)
.
RTOS ,
(embedded)
.
(embedded
operation
software)
X-Hyper270-TKU Manual
Real Time ?
RT . RT Linux
. RT
RT .
X-Hyper270-TKU Manual
1.2.1
(porting)
PC
. Xinu, uC/OS
pSOS, VxWORKs Cisco
IOS
.
.
.
,
.
10
X-Hyper270-TKU Manual
,
.
,
.
.
.
, .
TCP/IP , ,
.
(license)
, (machine) .
.
11
X-Hyper270-TKU Manual
.
,
. (embedded
linux)
. PC
GNU/Linux . PC
Glibc C
(utility)
,
C
. ,
.
,
.
12
X-Hyper270-TKU Manual
1.2.2
Embedded System OS
.
Xinu
Xinu Purdue Douglas E. Comer
.
. TCP/IP
. Xinu ,
, (semaphore), , I/O
TCP/IP . ,
, Intel,
13
X-Hyper270-TKU Manual
uC/OS uC/OS-II
Jean J. Labrosse POSIX(1) uC/OS-II
.
.
,
. uC/OS uC/OS-II 4 C
CPU Intel,
Motorola, ARM, Sparc, Hitachi SH 32 CPU (Zilog) Z80
8 CPU, TI DSP . C
(preemptive) .
, , .
TCP/IP
uC/OS, uC/OS-II
.
14
X-Hyper270-TKU Manual
eCOS
eCOS
.
Power PC, Sparc, ARM, Mips CPU
GUI .
C EL/IX
API EL/IX
eCOS . ITRON
TCP/IP . TCP/IP
(beta)
.
.
1-1 eCOS .
15
X-Hyper270-TKU Manual
Embedded Application
ISO C Library
Native C API
Internal
Kernel API
EL/IX API
UTTRON
API
Davice Drivers
Kernel
- pluggable schedulers
- memory allocation
- synchronization
- timers
- interrupt and DSR support
- threads
Multithreaded
Support
HAL
- timers - interrupts
- general state manipulation
- init arch/cpu/platform
- thread state manipulation
- exceptions
Hardware
1- 1 eCOS
16
GDB
stubs
ROM
monitor
X-Hyper270-TKU Manual
1.2.3
Embedded System OS
100 TCP/IP
50 .
Motorola, ARM, Mips
(OS)
6 .
pSOS+
pSOS (WindRiver)
(Integrated Systems) (Kernel).
pSOSystem .
/ (module)
. (thread)
, (context switching)
.
.
pSOS+m ,
,
. pSOS+m
x86 Master/Slave
17
X-Hyper270-TKU Manual
. (priority) 256
. FIFO (Round Robin)
. MMU
4KB .
.
. TCP/IP
FTP, Telnet, TFTP, NFS, HTTP
. pSOSystem pRISM+
95/98, NT .
pRISM+
. pROBE+ GUI .
1.2 pSOSystem .
System
Task
User
Task
User
Task
C, C++ Interface
pSOS+
pHILE+
pRPC+
pROBE+
pNA+
pREPC+
other
components
Interrupt
Handlers
Drivers
1- 2 pSOS (Architecture)
18
X-Hyper270-TKU Manual
QNX
QNX QNX
/
.
QNX , , , IPC
. ,
, ,
. ,
CPU
.
QNX IPC
(process) (message)
.
QNX
QNX .
. . QNX 32
2 .
FIFO, (Round Robin), adaptive
. QNX MMU
4KB (virtual memory)
.
19
X-Hyper270-TKU Manual
.
. TCP/IP
.
1-3 QNX .
Application
Application
Photon
I/O
Manager
Others
Memory protected
MircoKernel
File
Systems
Memory protected
Device
Drivers
Network
Drivers
Graphic
drivers
Hardware
1- 3 QNX (Architecture)
20
X-Hyper270-TKU Manual
VRTX
VRTX (Mentor Graphics) (RTOS)
VRTXoc(on-chip)
VRTX sa(scalable architecture)
.
, POSIX/ANSI
, MS-DOS .
TCP/IP
. SNMP TMN/CMIP . , I/O,
(stream) . MMU
MMU .
XRAY (debugger) . XRAY
. ,
. 1.4 VRTX .
21
X-Hyper270-TKU Manual
Embedded Shell
VRTX
Interfaces
TCP/IP
network
File
System
POSIX
Interfaces
VRTX NanoKernel
1- 4 VRTX (Architecture)
22
X-Hyper270-TKU Manual
VxWORKs
VxWORKs VRTX pSOSystem
.
. VxWORKs
/ VxWORKs
Wind , ,
/, .
..
VxVMI
.
256 .
POSIX Wind . MMU VxVMI
8KB VxVMI
.
. , ,
. VxWORKs JVM, ,
,
(Tornado) . Tcl
.
VxSim .
VxWORKs
.
VxMP
23
X-Hyper270-TKU Manual
.
. TCP/IP
. 1.5 VxWORKs .
Graphics
Internet
Support
Multiprocessing
Support
Java
Support
POSIX
Library
File
Systems
WindNet Networking
Core OS
Wind Kernel
1- 5 VxWORKs (Architecture)
24
X-Hyper270-TKU Manual
Nucleus PLUS
Nucleus Accelerated Technology
Nucleus
PLUS. Necleus NET
TCP/IP . Nucleus
PLUS ANSI C
, , ,
. Nucleus NET
TCP/IP
Telnet, FTP, WWW .
Nucleus NET TCP/IP 60KB
. Nucleus PLUS
.
CPU
.
. Nucleus PLUS
, ,
. MMU
.
25
X-Hyper270-TKU Manual
Window CE
Window CE .
, GUI
.
Windows CE
32
. ,
. (thread)
(thread) .
.
. Windows
CE . ,
Windows CE ,
, , . ,
(poll) . Windows CE
.
. Windows CE .
, , .
Windows CE
API . WinInet
API FTP HTTP 1.0 .
Secure Sockets Layer(SSL) 2.0, Secure Sockets Layer(SSL) 3.0 Private
26
X-Hyper270-TKU Manual
27
X-Hyper270-TKU Manual
.
, , , Windows CE
.
28
X-Hyper270-TKU Manual
1.3
Embedded
Linux System
(Minix)
(Linus Torvalds)
.
. (Richard Stallman)
(FSF: Free Software Foundation) GNU
GPL(General Public License) .
, 1994 5 (3) 1.0.0
1996 6 2.0.0 . 2001 1
2.4.0 .
. ,
.
. ,
.
.
.
29
X-Hyper270-TKU Manual
,
.
TCP/IP,PPP,X.25,HDLC,FDDI
.
.
.
PC
. ,
.
30
X-Hyper270-TKU Manual
(embedded Linux)
. OS
.
(embedded Linux)
. (micro process),
, (tool)
.
31
X-Hyper270-TKU Manual
32
X-Hyper270-TKU Manual
2. X-Hyper270-TKU Hardware
2.1. PXA27X
PXA27X
2.1.1.
PXA27X
,
peripheral
Intel
XscaleTM
micro
architecture systemon-chip .
PXA27X 32-bit memory data bus peripheral 23X23mm
256-pin PBGA . memory interface
memory 800x600 pixel 1, 2, 4, 8-bit gray scale 8,16,18-bit color pixel
display .
33
X-Hyper270-TKU Manual
2.1.2.
34
X-Hyper270-TKU Manual
35
X-Hyper270-TKU Manual
2.1.3.
PXA27X
1. Memory Controller
36
X-Hyper270-TKU Manual
37
X-Hyper270-TKU Manual
38
X-Hyper270-TKU Manual
4. DMA Controller(DMAC)
39
X-Hyper270-TKU Manual
5. LCD Controller
- Display mode
- Support for single- or dual-scan display modules
- Passive monochrome mode supports up to 256 gray-scale levels (8 bits)
- Active color mode supports up to 16777216 colors (24 bits)
- Passive color mode supports a total of 16777216 colors (24 bits)
- Support for LCD panels with an internal frame buffer
- Support for 8-bit (each) passive dual-scan color displays
- Support for up to 18-bit per pixel single-scan color displays without an
internal framebuffer
- Support for up to 24-bit per pixel single-scan color displays with an internal
frame buffer
- Support for display sizes from 1x1 to 800 x 600 pixels.
- Programmable pixel clock from 52.0 MHz to 25.4 kHz.
- Supports pixel depths of 2, 4, 8, 16, 18, and 24 bits per pixel (bpp) in RGB format
- Overlays supported with pixel depths of 16, 19, 24, and 25 bpp in RGBT format
40
X-Hyper270-TKU Manual
41
X-Hyper270-TKU Manual
6. AC97 Controller
AC97 Connection
42
X-Hyper270-TKU Manual
43
X-Hyper270-TKU Manual
44
X-Hyper270-TKU Manual
45
X-Hyper270-TKU Manual
46
X-Hyper270-TKU Manual
47
X-Hyper270-TKU Manual
12. GPIO
48
X-Hyper270-TKU Manual
13. UARTs
A.
B.
Bluetooth UART(BTUART)
BTUART 921Kbps baud rate modem control pin :
nCTS, nRTS . modem control pin GPIO
memory memory DMA access FIFO .
C.
Standard UART(STUART)
STUART 230Kbps baud rate modem control pin
GPIO pin . memory memory DMA
access FIFO . STUART transmit receive pin IRDA port
mux .
49
X-Hyper270-TKU Manual
50
X-Hyper270-TKU Manual
15. OS Timers
OS Timer 4 match register 3.25-MHz reference counter
51
X-Hyper270-TKU Manual
52
X-Hyper270-TKU Manual
53
X-Hyper270-TKU Manual
54
X-Hyper270-TKU Manual
55
X-Hyper270-TKU Manual
2.2. FPGA (Cyclone)
Cyclone FPGA family 20,060 LEs(Logic Elements) 288Kbit RAM,
1.5V, 0.14um, SRAM .
56
X-Hyper270-TKU Manual
57
X-Hyper270-TKU Manual
2.3. X-Hyper270-TKU
1.
58
X-Hyper270-TKU Manual
. SDRAM(128MB), OS
Flash Memory (32MB) .
. SDRAM Data /
Address Bus Buffer CPLD
. SDRAM Address CPLD .
SDRAM Data / Address Bus SDRAM
.
FanOut .
Address Map .
59
X-Hyper270-TKU Manual
2. Power Supply
270-TKU . PXA270
60
X-Hyper270-TKU Manual
.
1. VCC_CORE : CPU CORE 1.45V
. 270-TKU 520MHz
.
2. VCC_SRAM : CPU SRAM 1.1V .
3. VCC_PLL
4. VCC_MEM
5. VCC_IO
Name
Enable
Units
Sleep-active units,
Default
Allowed
Voltage
Levels
(V)
(V)
3.0
3.0
25
3.0,3.3
10
Tolerance
(%)
VCC_BATT
None
VCC_IO
SYS_EN
Peripheral I/O
3.3
VCC_LCD
SYS_EN
LCD I/O
3.3
VCC_USB
SYS_EN
USB I/O
3.3
VCC_MEM
SYS_EN
VCC_BB
SYS_EN
3.3
VCC_USIM
SYS_EN
USIM Interface
3.3
1.8,3.0,3.3
10
VCC_PLL
PWR_EN
1.3
1.3
10
VCC_SRAM
PWR_EN
1.1
1.1
10
VCC_CORE
PWR_EN
Any
0.85 1.55
10
Oscillators
Memory Controller
Interface
61
3.3
1.8,2.5,3.0,
3.3
3.0,3.3
1.8,2.5,3.0,
3.3
1.8,2.5,3.0,
3.3
10
10
10
10
X-Hyper270-TKU Manual
PXA270 .
Voltage
Symbol
Description
Min
Typical
Max
Units
2.25
3.00
3.75
1.17
1.30
1.43
VCC_BATT Voltage
VVCC0
VCC_PLL Voltage
VVCC1
VCC_BB Voltages
VCC2a
1.71
1.80
2.16
VCC2b
2.25
2.50
2.75
VCC2c
2.70
3.0
3.30
VCC2d
2.97
3.3
3.63
VCC_LCD Voltage
VCC3a
1.71
1.80
2.16
VCC3b
2.25
2.50
2.75
VCC3c
2.70
3.0
3.30
VCC3d
2.97
3.3
3.63
VCC_IO Voltage
VCC4a
2.6917
3.0
3.30
VCC4b
2.97
3.3
3.63
VCC_USIM Voltage
VCC5a
1.71
1.80
2.16
VCC5b
2.70
3.0
3.30
0.99
1.10
1.21
VCC_SRAM Voltage
VCC6
VCC_USB Voltage
VCC7a
2.70
3.00
3.30
VCC7b
2.97
3.30
3.65
62
X-Hyper270-TKU Manual
Symbol
Description
Min
Typical
Max
Units
1.71
1.80
2.16
13
104
MHz
13
104
MHz
2.25
2.50
2.75
13
104
MHz
13
104
MHz
2.70
3.0
3.3
13
104
MHz
13
104
MHz
2.97
3.30
3.63
13
104
MHz
13
104
MHz
fSM1B
synchronous
memory
fSM2B
synchronous
memory
fSM3B
synchronous
memory
fSM4B
synchronous
memory
63
X-Hyper270-TKU Manual
Symbol
Description
Min
Typical
Max
Units
0.8075
0.85
1.705
13
13
MHz
0.855
0.9
1.705
91
104
MHz
0.95
1.00
1.705
156
MHz
1.12
1.18
1.705
208
MHz
0.9975
1.05
1.705
208
MHz
0.99
1.1
1.705
312
MHz
1.2825
1.35
1.705
416
MHz
1.3775
1.45
1.705
520
MHz
Min
Typical
Max
Units
1.4725
1.55
1.705
624
MHz
fCORE1
fCORE2
fCORE3
fCORE4
fCORE4a
fCORE5
fCORE6
fCORE7
Symbol
Description
fCORE8
64
X-Hyper270-TKU Manual
5V 5V
3.3V 3.3V
.
270-TKU
PC ATX Power Supply .
Regulator(AME1085) 3.3V . 3.3V
LDO(MIC5219 / MIC5238), StepDown Dc-Dc Converter(TPS62000)
PXA270 . CS8900, ADS7843, CS4299
LDO(AME1085) 3.3V LCD LCD BLU
, Audio AMP Power Supply 5V .
Regulator CPU SDRAM 3.3V Regulator
3.3V .
Data Sheet .
65
X-Hyper270-TKU Manual
3. Interface
PXA270 .
PXA270 Data Sheet
1.
SDRAM : K4561632 4 EA
SDRAM Interface
PXA270 SDRAM . PXA270A or PXA272A SDRAM
. SDRAM
SDRAM
. SDRAM CAS,
RAS, CLK . CLK, RAS, CAS .
270-TKU 16MBit X 4Bank X 16Bit SDRAM 4 Data Bus 128MB
.
66
X-Hyper270-TKU Manual
Flash Interface
Flash Memory Address Map 0x0000_0000 Chip Select0 .
Data Bus, Address Bus, new, OE, CS CPLD .
System 0 SRAM
.
67
X-Hyper270-TKU Manual
3. 10 Base-T Ethernet
: CS8900
68
X-Hyper270-TKU Manual
LAN91C111 2EA
69
X-Hyper270-TKU Manual
K9K1G08U0M
70
X-Hyper270-TKU Manual
Tolerant Buffer .
71
X-Hyper270-TKU Manual
72
X-Hyper270-TKU Manual
TL16C554
73
X-Hyper270-TKU Manual
74
X-Hyper270-TKU Manual
75
X-Hyper270-TKU Manual
* Main Board
Name
Address
Size
Description
Flash
0x00000000
0x2000000
CS8900
0x10000000
0x100000
NAND CWE
0x10300000
0x100000
Nand Command CS
IDE CS 0
0x10400000
0x100000
ATA IDE CS 0
IDE CS 1
0x10500000
0x100000
ATA IDE CS 1
USB CS
0x10600000
0x100000
DEVICE PWR
0x10700000
0x100000
EXTEND PORT 0
0x10800000
0x100000
EXTEND PORT 1
0x10900000
0x100000
16C554 CS A
0x10A00000
0x100000
Serial Controller CS A
16C554 CS B
0x10B00000
0x100000
Serial Controller CS B
16C554 CS C
0x10C00000
0x100000
Serial Controller CS C
16C554 CS D
0x10D00000
0x100000
Serial Controller CS D
UART PWR
0x10E00000
0x100000
NAND CS
0x10F00000
0x100000
Nand Data CS
LAN91C111 EN 1
0x14000000
0x100000
LAN91C111 EN 2
0x14100000
0x100000
Name
Address
Size
FND1
0x11000000
0x100000
7-segment 1
FND2
0x11100000
0x100000
7-segment 2
FND3
0x11200000
0x100000
7-segment 3
FND4
0x11300000
0x100000
7-segment 4
FND5
0x11400000
0x100000
7-segment 5
FND6
0x11500000
0x100000
7-segment 6
FND7
0x11600000
0x100000
7-segment 7
FND8
0x11700000
0x100000
7-segment 8
DOT_1 Col
0x11800000
0x100000
Dot collumn 1
DOT_2 Col
0x11900000
0x100000
Dot collumn 2
* IEB Board
76
Description
X-Hyper270-TKU Manual
DOT_3 Col
0x11A00000
0x100000
Dot collumn 3
DOT_4 Col
0x11B00000
0x100000
Dot collumn 4
DOT_5 Col
0x11C00000
0x100000
Dot collumn 5
KEY_W
0x11D00000
0x100000
Key Write
KEY_R
0x11E00000
0x100000
Key Read
DAC
0x11F00000
0x100000
ADC
0x12000000
0x100000
STEP Motor
0x12100000
0x100000
DC Motor
0x12200000
0x100000
DC Motor controller
Character LCD
0x12300000
0x100000
LED
0x12400000
0x100000
LED
77
X-Hyper270-TKU Manual
7. GPIO MAP
Alternate value
A The corresponding GPIO pin (GPIO[x]) is used as a general purpose I/O.
B The corresponding GPIO pin (GPIO[x]) is used for its alternate function 1(In).
C The corresponding GPIO pin (GPIO[x]) is used for its alternate function 2(In).
D The corresponding GPIO pin (GPIO[x]) is used for its alternate function 3(In).
E The corresponding GPIO pin (GPIO[x]) is used for its alternate function 1(Out).
F The corresponding GPIO pin (GPIO[x]) is used for its alternate function 2(Out).
G The corresponding GPIO pin (GPIO[x]) is used for its alternate function 3(Out).
GPIO Pin
PIN Name
Alternate
Description
value
GPIO<0>
No Use.
GPIO<1>
No Use.
SYS_EN
Reversed.
GPIO<3>
No Use.
GPIO<4>
No Use.
PWR_CAP<0>
Reversed.
PWR_CAP<1>
Reversed.
PWR_CAP<2>
Reversed.
PWR_CAP<3>
Reversed.
GPIO<9>
PCMCIA_IREQ
10
GPIO<10>
ADS7843-IRQ
11
GPIO<11>
CF_IREQ
12
GPIO<12>
CF_CD
13
GPIO<13>
PCMCIA_CD
14
GPIO<14>
TL16C554_INTA
15
GPIO<15>
16
GPIO<16>
ADC_INT
17
GPIO<17>
BHDD_INT
18
GPIO<18>
RDY
19
GPIO<19>
TL16C554_INTB
20
GPIO<20>
nSDCS2
78
X-Hyper270-TKU Manual
21
GPIO<21>
nSDCS3
22
GPIO<22>
TL16C554_INTC
23
GPIO<23>
CIF_MCLK
24
GPIO<24>
CIF_FV
25
GPIO<25>
CIF_LV
26
GPIO<26>
CIF_PCLK
27
GPIO<27>
CS8900-INT
28
GPIO<28>
29
GPIO<29>
30
GPIO<30>
31
GPIO<31>
AC97_SYNC(CS4299 ASUNC)
32
GPIO<32>
MMCLK
33
GPIO<33>
34
GPIO<34>
35
GPIO<35>
36
GPIO<36>
37
GPIO<37>
38
GPIO<38>
RADIO_SI/TX2
39
GPIO<39>
40
GPIO<40>
RADIO_SO/RX2
41
GPIO<41>
42
GPIO<42>
43
GPIO<43>
44
GPIO<44>
45
GPIO<45>
46
GPIO<46>
47
GPIO<47>
48
GPIO<48>
nPOE
49
GPIO<49>
nPWE
50
GPIO<50>
nPLOIR
51
GPIO<51>
nPLOIW
52
GPIO<52>
USB_INT
53
GPIO<53>
nSMSC_INT2
54
GPIO<54>
nSMSC_INT1
79
X-Hyper270-TKU Manual
55
GPIO<55>
nPREG
56
GPIO<56>
nPWAIT
57
GPIO<57>
nIOIS16
58
GPIO<58>
59
GPIO<59>
60
GPIO<60>
61
GPIO<61>
62
GPIO<62>
63
GPIO<63>
64
GPIO<64>
65
GPIO<65>
66
GPIO<66>
67
GPIO<67>
68
GPIO<68>
69
GPIO<69>
70
GPIO<70>
71
GPIO<71>
72
GPIO<72>
73
GPIO<73>
74
GPIO<74>
75
GPIO<75>
76
GPIO<76>
77
GPIO<77>
78
GPIO<78>
nPCE2
79
GPIO<79>
PSKTSEL
80
GPIO<80>
81
GPIO<81>
SSPTXD3
82
GPIO<82>
SSPRXD3
83
GPIO<83>
SSPSFRM3
84
GPIO<84>
SSPSCLK3
85
GPIO<85>
TL16C554_INTD
86
GPIO<86>
87
GPIO<87>
88
GPIO<88>
No Use.
80
X-Hyper270-TKU Manual
89
GPIO<89>
ARDIO_PKT_INT
90
GPIO<90>
SD_WP
91
GPIO<91>
NFRNB
92
GPIO<92>
MSBS
93
GPIO<93>
CIF_DD6
94
GPIO<94>
CIF_DD5
95
GPIO<95>
CIF_DD4
96
GPIO<96>
RTC-SDA
97
GPIO<97>
SD_CD
98
GPIO<98>
CIF_DD0
99
GPIO<99>
RADIO_SFD
100
GPIO<100>
RADIO_SCLK
101
GPIO<101>
No Use.
102
GPIO<102>
nPCE1
103
GPIO<103>
CIF_DD3
104
GPIO<104>
CIF_DD2
105
GPIO<105>
CIF_DD1
106
GPIO<106>
CIF_DD9
107
GPIO<107>
CIF_DD8
108
GPIO<108>
CIF_DD7
109
GPIO<109>
MSSDIO
110
GPIO<110>
MMCCS0
111
GPIO<111>
MMCCS1
112
GPIO<112>
MMCMD
113
GPIO<113>
114
GPIO<114>
USBC_INT
115
GPIO<115>
IDE_DREQ
116
GPIO<116>
IDE_DACK
117
GPIO<117>
SCL
118
GPIO<118>
SDA
119
GPIO<119>
120
GPIO<120>
No Use.
81
X-Hyper270-TKU Manual
2.4. X-Hyper270-TKU Package contents
1.
Hardware specification
* Main Board
CPU
Memory
PXA270(520MHz)
BULVERDE(VF-BGA)
TE28F128J3C
SDRAM 128MByte
K4S561632-TC75
Serial x 1Ports
RS-232 LEVEL
Display
Peripheral
TD242LP
Nand Flash
K9F1208U0M
64MByte
IDE I/F
mini IDE
External
THS8135
Peripheral
Ethernet(10)
CS8900A
Ethernet(10/100)
SMSC91C111
Audio(CS4299)
SPEAKER
1 Port
2Port.
Touch Panel
BATTERY
RTC4513
Extension
Conn.
CPLD
160 pin
2.54mm pitch
XC2C256-7FT256C(BGA)
* IEB Board
82
X-Hyper270-TKU Manual
FPGA
EP1C6240PQFP
Cyclone (PQFP-240)
Programming Rom
EPC2
EP2(PLCC/SOCKET)
RF Device
CC2420
CC2420(QLP48)
DC Mocter Control
L298
DIP
L297
DIP
ADC
ADC0804
DAC
DAC0800
7-Segment
7-Segment * 8
DOT Matrix
DOT Matrix
Charicter LCD
Charicter LCD
83
X-Hyper270-TKU Manual
Software Specification
2.
* Main Board
O/S
Device
Driver
Linux
Linux 2.6.11
CS8900
10Base-T 1Port
SMC91C111
10/100Base-T 2Port
TFT LCD
ADS7843
16C554
CS4209
MMC/SD/SDIO Controller
USB 1.1 Host(PXA Intenal)
USB 1.1 Slave(PXA Intenal)
TD242
PCMCIA/CF
FileSystem
IrDA
FIR Mode
IDE
JFFS2(Rootfile system)
Ext2, ext3, yaffs, ramfs, nfs
Tiny X-Server
MatchBox
Windows manager
Mp3 Player
Application
Player
Web Brower
USB Cam
OV511 CAM
Access Pointer
802.a, 802.b
* IEB Board
Device
DC Mocter Control
L298
Driver
L297
ADC
ADC0804
DAC
DAC0800
7-Segment
8 ea
84
X-Hyper270-TKU Manual
Application
DOT Matrix
5*7
Charicter LCD
2 * 16
85
X-Hyper270-TKU Manual
3.
Box contents
Main Board
X-Hyper270-TKU Board
CD
Power
Cables
Serial cable
JTAG cable
Ethernet cross cable
USB cable
FPGA cable
Document
X-Hyper270-TKU
Case
Aluminum case
86
X-Hyper270-TKU Manual
2.5. X-Hyper270-TKU Layout
87
X-Hyper270-TKU Manual
88
X-Hyper270-TKU Manual
2.6. X-Hyper270-TKU Connecting
X-Hyper270-TKU , TFT LCD CPU
LCD
.
X-Hyper270-TKU .
1.
JTAG Cable .
JTAG Cable
89
X-Hyper270-TKU Manual
2.
Serial Cable .
X-Hyper270-TKU
Serial Cable
90
PC Com1(or com2
X-Hyper270-TKU Manual
91
X-Hyper270-TKU Manual
4.
92
X-Hyper270-TKU Manual
93
X-Hyper270-TKU Manual
3.
( redhat ) PC
.
3.1. Toolchain
X-HYPER270-TKU PC .
3.1.1.
Toolchain
Embedded System Host System .
Embedded System
. Toolchain .
X-Hyper270-TKU PXA27X MPU , desktop x86
compiler(ARM cross compiler) .
GNU binutil
GNU C Library
GNU C header
94
X-Hyper270-TKU Manual
Serial, Ethernet
Host system
Target Board
95
X-Hyper270-TKU Manual
3.1.2.
Toolchain
X-Hyper270-TKU Redhat 9 PC .
.
X-Hyper270-TKU Toolchain
.
binutils-2.15.tar.gz
gcc-3.4.3.tar.gz
glibc-2.3.2.tar.gz
glibc-linuxthreads-2.3.2.tar.gz
CD . Host PC
.
Host PC CD . . (
CD . CD
.
.)
Host PC .
/XHYPER270-TKU Host PC .
( .
. XHYPER270-TKU
.)
/XHYPER270-TKU .
96
X-Hyper270-TKU Manual
/mnt/cdrom cp /XHYPER270TKU
/XHYPER270-TKU .
(: CD
.)
cd iwmmxt-1.0.0 .
bin ls
97
X-Hyper270-TKU Manual
.
.
.
98
X-Hyper270-TKU Manual
3.1.3.
Toolchain Test
toolchain test .
X86 gcc ARM
.
compile , .
.
gcc arm-linux-gcc .
vi hello.c .
Hello World .
. (vi
.)
gcc o hello hello.c
arm-linux-gcc o hello-arm hello.c .
99
X-Hyper270-TKU Manual
ls .
hello-arm, hello .
//X86
//arm
//
//
100
X-Hyper270-TKU Manual
. ./hello ./hello-arm .
( shell ./hello ./
.)
hello hello-arm . hello-arm
arm Host PC .
hello-arm Xscale .
(Xscale arm core arm .)
(hello-arm) X-Hyper270-TKU
Hello World .
(Download minicom .
Minicom 3.4 .
minicom minicom
Ctrl+A, Z, S zmodem hello-arm
( ).
hello-arm ( )
. minicom help
hello-arm .)
101
X-Hyper270-TKU Manual
3.2. JTAG
JTAG
3.2.1
3.2.2
JTAG
70 bed-of-nails" PCBs(print circuit boards)
board .( )
Board test
multi layer board
. 80 Joint European Test Access
Group a serial shift register around the boundary of
the device .
102
X-Hyper270-TKU Manual
3.2.3
JTAG
JTAG (CPU)
.
JTAG .
.
( )
5 .
(TDI, TMS, TCK, nTRST, TDO)
Test .
Test .
103
X-Hyper270-TKU Manual
3.2.4
JTAG Building
JTAG .
( CD jflashmm
. JTAG .)
Makefile make JTAG .
(Make clean clean make
.)
Jflashmm .
jflashmm .
Bootloader boot
. /XHYPER270-TKU/images/ .
104
X-Hyper270-TKU Manual
. , Fusing .
Verification successful! Fusing .
ON JTAG
. .
105
X-Hyper270-TKU Manual
3.3. Bootloader
3.3.1
Bootloader Building
3.3.2
Bootloader
Bootloader .
Hardware
CPU clock, Memory timing, interrupt, UART, GPIO .
Linux Booting
Bootloader .
Kernel image SDRAM Kernel image .
Bootloader .
Image download
Kernel image filesystem SDRAM download .
Download Ethernet .
Ethernet tftp, bootp
Flash
Flash write, erase
Flash lock, unlock
106
X-Hyper270-TKU Manual
3.3.3
Bootloader compile
1. Bootloader Toolchain .
( 3.1 .)
2. /XHYPER270-TKU/
cd
XHYPER270-
TKU/bootloader/bboot-1.0.1 .
3. make boot .
107
X-Hyper270-TKU Manual
Compile , boot .
boot bootloader image.
3.2 jflashmm Flash Memory Fusing
.
bootloader Bootloader
JFlash Bootloader .
.
108
X-Hyper270-TKU Manual
3.3.4
Bootloader
jflashmm
Fusing .
jflashmm JTAG PC
Fusing .
./jflashmm pxa27x32.dat boot
Fusing .
109
X-Hyper270-TKU Manual
110
X-Hyper270-TKU Manual
3.4. Minicom
3.4.1
Minicom Setting
1.
minicom .
.
3-2 minicom
111
X-Hyper270-TKU Manual
2.
-s configuration .
configuration .
3-3 minicom
112
X-Hyper270-TKU Manual
3.
3-4 a /dev/modem
. com port 1
Serial Device /dev/ttyS0 com port 2
/dev/ttyS1 ..
e 3-5 , ,
, . X-Hyper270-TKU -115200,
-8, -No, -1
. I .
113
X-Hyper270-TKU Manual
3- 6 minicom
114
X-Hyper270-TKU Manual
4.
5.
Autobooting 3
115
X-Hyper270-TKU Manual
. hybus>
. minicom
X-Hyper270-TKU .
6.
3 Autobooting
116
X-Hyper270-TKU Manual
45:85:80
none
117
X-Hyper270-TKU Manual
118
X-Hyper270-TKU Manual
119
X-Hyper270-TKU Manual
7.
Booting LCD X .
, Board ,
.
LCD .
. ( version .)
120
X-Hyper270-TKU Manual
121
X-Hyper270-TKU Manual
3.5. Bootp tftp
3.5.1.
Bootp
1. bootp
?
Bootp tcp/ip ,
.
udp ip .
2. bootpd
bootpd xinetd .
xinetd rpm .
122
X-Hyper270-TKU Manual
i.
xinetd
xinetd xinetd .
( xinetd . xinetd
93 page bootp rpm .)
1.
2.
/etc/rc.d/init.d/xinetd
.
3.
4.
xinetd .
xinetd ,
123
bootpd .
X-Hyper270-TKU Manual
ii.
bootp rpm
xinetd bootpd .
bootpd rpm .
Host PC bootp , .
Cd bootp rpm .
CD RPM .
rpm e . (e:erase)
-e rpm .
rpm -qa .
program .
124
X-Hyper270-TKU Manual
bootpd xinetd .
Xinetd bootpd /etc/xinetd.d/bootp
.
125
X-Hyper270-TKU Manual
/etc/xinetd.d/bootp .
.
bootp .
126
X-Hyper270-TKU Manual
iii.
bootptab
hostname:tg=value:tg=value:tg=value:
bootptab
/etc/bootptab .
xhyper255 hostname
ht (Hardware Type) 10Mb Ethernet 1 (=Ethernet),
127
X-Hyper270-TKU Manual
ip Target IP Address,
sm (subnet mask) Host (Bootp Server) .
Host PC ip board ip .
(ex Host PC IP: 192.168.10.100, Board IP : 192.168.10.50)
128
X-Hyper270-TKU Manual
iv.
Bootloader
bootp
xined
Host PC xinetd .
(/etc/rc.d/rc.sysinit/xinetd restart)
bootp Host PC
IP . (IP .)
61.74.264.2 ip .
tftp download .
bootp
hybus> setmyipaddr 192.168.1.3
hybus> setdestipaddr 192.168.1.216
bootp tftp .
129
X-Hyper270-TKU Manual
3.5.2.
tftp
1.
tftp ?
ip, udp .
2.
tftp rpm
tftp rpm . tftp rpm client server , tftp-server
rpm . CD
.
Host PC RPM , .
tftp .
130
X-Hyper270-TKU Manual
3.
/etc/xinet.d/tftp
tftp rpm /etc/xinetd.d/tftp .
bootp tftp xinetd .
Xinetd tftp /etc/xinetd.d/tftp
.
( /etc/xinetd.d/tftp
.)
/tftpboot Host PC .
.
131
X-Hyper270-TKU Manual
CD Image
zImage( ) root() . /tftpboot
.
132
X-Hyper270-TKU Manual
4.
Bootloader
tftp image
Host PC bootpd tftpd .
bootpd, tftpd .
133
X-Hyper270-TKU Manual
134
X-Hyper270-TKU Manual
3.5.3.
downloading
1.
downloading
bootp, tftp .
(zImage) SDRAM kernel (0xA0008000)
.
// SDRAM
// kernel
SDRAM
.
(SDRAM .
SDRAM
135
X-Hyper270-TKU Manual
.)
136
X-Hyper270-TKU Manual
2.
downloding
rootfs.img tftp .
SDRAM
// SDRAM
// root
137
X-Hyper270-TKU Manual
3.
booting
boot
.
138
X-Hyper270-TKU Manual
45:85:80
none
139
X-Hyper270-TKU Manual
140
X-Hyper270-TKU Manual
141
X-Hyper270-TKU Manual
Host PC .
142
X-Hyper270-TKU Manual
143
X-Hyper270-TKU Manual
4.
4.1. Bootloader
Bootloader .
4.1.1.
Bootloader command
.
.
help
Usage
Help
Description
Arguments
None
Example
hybus> Help
4-1. Bootloader command (help)
load
Usage
load [kernel/ramdisk]
Description
Arguments
Example
bootp
Usage
Bootp
Description
Arguments
None
Example
hybus> bootp
144
X-Hyper270-TKU Manual
tftp
Usage
Description
Arguments
Example
flash
Usage
flash {loader/kernel/root/ramdisk}
Description
SDRAM flash ..
Arguments
Example
145
X-Hyper270-TKU Manual
erase
Usage
erase {loader/kernel/ramdisk/root}
Description
Flash block .
Arguments
Example
boot
Usage
Boot
boot [addr]
Description
SDRAM kernel .
arguments
.
Arguments
Example
hybus> boot
4-7. Bootloader command (boot)
set
Usage
Description
Arguments
Example
//set
hybus> set
//Host pc ip
// mac
ping
Usage
// ip
ping
146
//
X-Hyper270-TKU Manual
Description
Ping Host PC .
Arguments
Example
ping 192.168.100.xx
4-9. Bootloader command(ping)
reboot
Usage
reboot
Description
Soft reset
Arguments
None
Example
reboot
4-10. Bootloader command(reboot)
147
X-Hyper270-TKU Manual
4.1.2.
Bootloader compile
/XHYPER270-TKU/
cd
XHYPER270-
TKU/bootloader/bboot-1.0.1 .
.
3. make boot .
boot bootloader image .
jflashmm , bootloader Board
. ( 3.2)
148
X-Hyper270-TKU Manual
4.2. Kernel Compile
.
.
( .)
.
. C
. X-Hyper270-TKU
.
149
X-Hyper270-TKU Manual
4.2.1.
/Kernel]# cd linux-2.6.11-h270-tku_v1.0
/linux-2.6.11-h270-tku_v1.0]# make xhyper270tku_defconfig
/linux-2.6.11-h270-tku_v1.0]# make menuconfig
# make xhyper270tku_defconfig Kernel
X-Hyper270-TKU . .
150
X-Hyper270-TKU Manual
built-in(*) Module(M)
. .
. ,
.
151
X-Hyper270-TKU Manual
152
X-Hyper270-TKU Manual
.
, Exit .
.
153
X-Hyper270-TKU Manual
# make zImage Kernel image .
[root@hybus linux-2.6.11-h270-tku_v1.0]# make zImage
,
. 10~20 .
154
X-Hyper270-TKU Manual
4.2.2.
4.2.1 .
.
menuconfig .
( )
.
"---->" .
<ESC> <Exit> .
h <Help> .
<Tab> .
Y , N , M .
[ ] < > * (), M (), () .
(M) "< >" .
155
X-Hyper270-TKU Manual
. .
156
X-Hyper270-TKU Manual
--->
157
X-Hyper270-TKU Manual
General setup
--->
158
X-Hyper270-TKU Manual
159
X-Hyper270-TKU Manual
, .
160
X-Hyper270-TKU Manual
--->
161
X-Hyper270-TKU Manual
162
X-Hyper270-TKU Manual
[*] Enable Loadable module Support
version 1.2 .
.
,
.
,
. ,
, . [*] .
[*] Module unloading
[*] Forced module unloading
163
X-Hyper270-TKU Manual
System Type
--->
164
X-Hyper270-TKU Manual
System Type
--->
165
X-Hyper270-TKU Manual
166
X-Hyper270-TKU Manual
System Type
--->
--- >
167
X-Hyper270-TKU Manual
168
X-Hyper270-TKU Manual
General setup
--->
169
X-Hyper270-TKU Manual
170
X-Hyper270-TKU Manual
General setup
--->
--->
PCMCIA Interface .
171
X-Hyper270-TKU Manual
172
X-Hyper270-TKU Manual
(console=ttyS0,115200 console=tty0 mem=128M root=1F02 rw) Default kernel command
string)
Kernel . Console , , Root filesystem
.
173
X-Hyper270-TKU Manual
Memory Technology Devices (MTD)
--->
, RAM,
..
174
X-Hyper270-TKU Manual
Memory Technology Devices (MTD)
RAM/ROM/Flash chip drivers
--->
--->
175
X-Hyper270-TKU Manual
--->
176
X-Hyper270-TKU Manual
XHyper2xx Xscale eval board
177
X-Hyper270-TKU Manual
Networking support
--->
-> Network
178
X-Hyper270-TKU Manual
Network device support
--->
179
X-Hyper270-TKU Manual
Network device support
--->
Networking options
--->
180
X-Hyper270-TKU Manual
181
X-Hyper270-TKU Manual
Network device support
--->
--->
182
X-Hyper270-TKU Manual
Ethernet (10 or 100Mbit) --->
[*] Ethernet (10 or 100Mbit)
<*>
CS89x0 support
183
X-Hyper270-TKU Manual
ATA/ATAPI/MFM/RLL support
--->
184
X-Hyper270-TKU Manual
<*>
185
X-Hyper270-TKU Manual
Character devices
--->
, , ,
.
186
X-Hyper270-TKU Manual
187
X-Hyper270-TKU Manual
Character devices
--->
Serial drivers
--- >
188
X-Hyper270-TKU Manual
. (
.)
. [Y]
/dev/tty0
.
"console=ttyS1" . "man bootparam"
(lilo loadlin) ..
VGA ,
/dev/ttyS0 .
,
. ,
.
189
X-Hyper270-TKU Manual
File systems
--->
.
.
.
.
190
X-Hyper270-TKU Manual
File systems
--->
YFFS support
--->
191
X-Hyper270-TKU Manual
192
X-Hyper270-TKU Manual
<*> Second extended fs support
[*]
193
X-Hyper270-TKU Manual
File systems
--->
194
X-Hyper270-TKU Manual
File systems
--->
--->
195
X-Hyper270-TKU Manual
(SLIP, PLIP, PPP Ethernet ) ( )
Network File Sharing protocol NFS server
(mount) .
[*] Provide NFSv4 client support
[*] Root file System on NFS
"IP: kernel level autoconfiguration"
. .
196
X-Hyper270-TKU Manual
-> Linux ,
197
X-Hyper270-TKU Manual
198
X-Hyper270-TKU Manual
<*>
--->
199
X-Hyper270-TKU Manual
Graphics support --- >
Logo configuration
--- >
200
X-Hyper270-TKU Manual
[*] Standard 224-color Linux logo
201
X-Hyper270-TKU Manual
Sound
--->
.
202
X-Hyper270-TKU Manual
203
X-Hyper270-TKU Manual
Sound
--->
Open Sound System --- >
204
X-Hyper270-TKU Manual
205
X-Hyper270-TKU Manual
USB support
--- >
206
X-Hyper270-TKU Manual
207
X-Hyper270-TKU Manual
USB support
--- >
--- >
208
X-Hyper270-TKU Manual
MMC/SD Card support
--->
-> MMC, SD .
209
X-Hyper270-TKU Manual
210
X-Hyper270-TKU Manual
211
X-Hyper270-TKU Manual
4.3. File System
filesystem .
Ramdisk, Jffs, Jffs2, Cramfs, Ramfs
filesystem .
.
Root filesystem(/) library, util .
212
X-Hyper270-TKU Manual
4.3.1.
1.
JFFS2
JFFS2 MTD flash filesystem.
JFFS2 file , .
2.
Kernel Configuration
File systems
--->
Miscellaneous filesystems
--->
213
X-Hyper270-TKU Manual
214
X-Hyper270-TKU Manual
215
X-Hyper270-TKU Manual
216
X-Hyper270-TKU Manual
217
X-Hyper270-TKU Manual
--->
218
X-Hyper270-TKU Manual
--->
219
X-Hyper270-TKU Manual
drivers/mtd/maps/xhyper270.c.
220
X-Hyper270-TKU Manual
JFFS2 Image
3.
# rm rf rootfs.img
# ./mkjffs2
// .
// mkjffs2 rootfs.img
#!/bin/sh
srcpath=${1:-"rootfs"}
imgname=${2:-"rootfs.img"}
221
X-Hyper270-TKU Manual
222
X-Hyper270-TKU Manual
223
X-Hyper270-TKU Manual
5.
.
.
.
.
. .
X-Hyper270-TKU Board
.
224
X-Hyper270-TKU Manual
5.1. Linux Device Driver
5.1.1
(Device)
(Interface)
(Kernel)
.
(File Operation) .
(Major Number) (Minor Number) .
225
X-Hyper270-TKU Manual
(Character Device),
(Block Device) (Network Device) .
. ,
. Raw
Terminal, Console, Keyboard, Sound card,
Scanner, Printer, Serial/Parallel, Mouse, Joystick .
Random Access .
(Block) , . Hard Disk,
Floppy Disk, RAM Disk, CD-ROM .
. Ethernet, PPP, Slip, ATM, ISDN NIC(Network Interface
Card) .
226
X-Hyper270-TKU Manual
5.1.2
5-1 ,
.
.
Application area
Kernel area
:
VFS : VFS
.
: , , IPC , ,
,
Hardware
227
X-Hyper270-TKU Manual
(Kernel Module)
,
.
. , ,
.
. , ,
. <linux/module.h> ,
char kernel_version[ ] . insmod
.
.
228
X-Hyper270-TKU Manual
<linux/module.h>
#define __NO_VERSION__ .
insmod f(force)
.
,
.
(Kernel Symbol)
(Symbol) .
(symbol export) ,
(symbol import) .
(symbol table) , /proc/ksyms
.
,
/proc/ksyms . (symbol linking)
static linking dynamic linking .
register_symtab()
.
export . printk()
printk() export,
printk() printk_xxxxxx
export . .
#ifdef CONFIG_MODVERSIONS
229
X-Hyper270-TKU Manual
#define MODVERSIONS
#include <linux/modversions.h>
#endif
Module
insmod
Kernel
init_module( )
register_capability( )
capabilities[]
printk( )
.....
rmmod
cleanup_module( )
230
unregister_capability( )
X-Hyper270-TKU Manual
.
Hello, World ,
Goodbye .
[Hello.c]
/*
Hello, World Module Program Example
*/
#include <linux/kernel.h>
#include<linux/module.h>
World\n);
return 0; }
Makefile make
. Makefile vi .
Makefile .
[Makefile]
CC
:= /opt/iwmmxt-1.0.0/bin/arm-linux-gcc
KDIR
:= /XHYPER270-TKU/kernel/linux-2.6.11-h270-tku
TEST_TARGET = hello
231
X-Hyper270-TKU Manual
TEST_OBJS
= hello.o
TEST_SRCS
= hello.c
obj-m
:= hello.o
build: $(TEST_TARGET)
make -C $(KDIR) SUBDIRS=`pwd` modules
$(TEST_TARGET) : $(TEST_OBJS)
$(CC) -o $@ $(TEST_OBJS)
clean:
rm -rf *.o *.ko
rm -f $(TEST_TARGET)
Makefile make .
make clean. hello.ko .
hellok.o insmod
.
insmod
hello.ko
lsmod
.
lsmod
rmmod . hello.ko
hello .
rmmod
hello
232
X-Hyper270-TKU Manual
tail
/var/log/messages
tail
-f
/* */
/var/log/messages
/* */
(use count)
(process)
. (access)
.
(busy)
.
(character device) .
/proc/modules ,
-1
.
(macro) .
MOD_INC_USE_COUNT
.
MOD_DEC_USE_COUNT
.
MOD_IN_USE
COUNT = 0 TRUE .
233
X-Hyper270-TKU Manual
5.1.3
1. (character
device driver)
(Character Device)
(buffer cache) . ,
. Terminal, Console, Touch
Screen, Keyboard, Sound Card, Scanner, Printer, Serial/Parallel, Mouse, Joystick
.
234
X-Hyper270-TKU Manual
(Major Number) .
/dev/hda1 , b . c
. 127 (major number) , 1
(minor number) . 0 255
. 8bit .
$ mknod
$ ls al
/dev/hda1
127
/dev/hda1
$ brw-rw----
root
disk
Mar
25
12:00
/dev/hda1
. (Major Number) (Minor Number)
,
inode i_rdev . inode
. inode i_rdev
.
Kdev_t(/linux/kdev_t.h)
(Macro) kdev_t .
235
X-Hyper270-TKU Manual
inode .
struct inode {
struct
list_head
i_hash;
struct
list_head
i_list;
struct
list_head
i_dentry;
struct
list_head
i_dirty_buffers;
unsigned
long
atomic_t
i_count;
kdev_t
i_rdev;
umode_t
i_mode;
uid_t
i_uid;
gid_t
i_gid;
.
time_t
unsigned
i_atime;
long
i_blksize, i_blocks;
struct inode_operations
*i_op;
struct file_operations
*i_fop;
236
X-Hyper270-TKU Manual
(Device Driver)
(Major Number) .
/linux/fs.h
.
int
register_chrdev(unsigned
int
major,
const
char
*name,
struct
file_operations *fops)
237
X-Hyper270-TKU Manual
5-3
/proc/devices
.
cleanup_module
.
int unregister_chrdev(unsigned int major,
(Major Number)
(Deviced Name).
.
EINVAL .
238
X-Hyper270-TKU Manual
(File Operations)
(file interface)
. register_chrdev()
, file_operations .
File_operations /linux/fs.h .
file .
[struct file_struct]
struct file{
struct list_head
f_list;
struct dentry
f_dentry;
struct vfsmount
*f_vfsmnt;
struct file_operations
atomic_t f_count;
/* */
f_op;
/* */
/* */
f_flags;
mode_t
f_mode;
loff_t
f_pos;
unsigned long
f_reada,f_ramax,f_raend,f_ralen,f_rawin;
struct fown_struct
unsigned int
/* */
/* */
f_owner;
f_uid,f_gid;
239
/* */
X-Hyper270-TKU Manual
int
f_error;
unsigned long
f_version;
void
*private_data; /* */
};
[struct file_operations]
loff_t
int);
- (read), (write) .
ssize_t
(*read)
- .
ssize_t
(*write)
- .
int
(*readdir)
- (,
NULL ), .
- .
int
- . ,
.
int
- .
int
- .
240
X-Hyper270-TKU Manual
int
- .
int
- flush . ,
.
int
-
(*fasync) (int,
struct file *,
(Asynchronous
int);
notification)
FLAG
FASYNC flag .
dev);
- Media
.
dev);
- (buffer cache)
.
241
X-Hyper270-TKU Manual
File_operations
. NULL .
struct
file_operations device_fops = {
NULL,
/* seek*/
device_read,
/*read*/
device_write,
/*write*/
NULL,
/*readdir*/
NULL,
/*poll*/
NULL,
/*ioctl*/
NULL,
/*mmap*/
device_open,
/*open*/
NULL,
/*flush*/
device_release,
/*release*/
};
242
X-Hyper270-TKU Manual
2. (block
device driver)
243
X-Hyper270-TKU Manual
(Major Number) .
.
Int register_blkdev(unsigned int major, const char *name, struct file_operations
*fops)
Int unregister_blkdev(unsigned int major, const char *name)
major (Major Number), 0
. name
. fops .
0
, .
5-4
.
Module
insmod
Kernel
init_module( )
register_blkdev )
blkdev[]
Request( )
block_read( )
fops
blkdevs[]
printk( )
.....
rmmod
cleanup_module( )
244
unregister_blkdev( )
X-Hyper270-TKU Manual
(File Operation)
.
. read/write/fsync ,
block_read(), block_write(), block_fsync() . open,
release . ioctl
.
ioctl ,
. BLKGETSIZE,
flush BLKFLSBUF, (read-ahead)
BLKRAGET, BLKRASET,
FLAG BLKROGET, BLKROSET,
BLKRRPART,
HDIO_GETGEO .
check_media_change (media)
.
1, 0 . Revalidate
File_operations .
NULL .
struct
file_operations blkdevice_fops = {
245
X-Hyper270-TKU Manual
NULL,
/* seek*/
block_read,
/*read*/
block_write,
/*write*/
NULL,
/*readdir*/
NULL,
/*poll*/
NULL,
/*ioctl*/
NULL,
/*mmap*/
block_open,
/*open*/
NULL,
/*flush*/
block_release,
/*release*/
};
246
246
X-Hyper270-TKU Manual
3. (Network device driver)
(Network Device)
. Ethernet, PPP, Slip, ATM,
ISDN NIC(Network Interface Card) .
.
.
5-5 .
Application
TCP
UDP
IP
Ethernet
247
KENREL
X-Hyper270-TKU Manual
Socket
.
. Network
. Network file system .
file file descriptor
file operation . init_module() open()
socket() bind() .
Association
Host Host
.
, , , ,
.
248
X-Hyper270-TKU Manual
System
Socket
249
X-Hyper270-TKU Manual
5.2. Frame Buffer (TFT LCD)
FrameBuffer
.
X-Hyper270-TKU SDRAM FrameBuffer .
LCD Controller DMA , FrameBuffer LCD .
drivers/video/fbcon.c
drivers/video/fbmem.c
250
X-Hyper270-TKU Manual
drivers/video/pxafb.c
include/linux/linux_logo.h
Device Node
/dev/fb0
Kernel configuration
Graphics support
--->
--->
--->
.pixclock
= 54000,
.xres
= 640,
.yres
= 480,
.bpp
= 16,
.hsync_len
= 60,
.left_margin
= 84,
.right_margin
= 16,
.vsync_len
= 2,
.upper_margin
= 33,
.lower_margin
= 10,
.sync
= FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
.lccr0
251
X-Hyper270-TKU Manual
.lccr3
= LCCR3_PCP,
.pxafb_backlight_power = pxafb_backlight_power,
.pxafb_lcd_power = pxafb_lcd_power,
};
= 0x44000000,
.end
= 0x4400ffff,
.flags
= IORESOURCE_MEM,
},
[1] = {
.start
= IRQ_LCD,
.end
.flags
= IRQ_LCD,
= IORESOURCE_IRQ,
},
};
= "pxa2xx-fb",
= -1,
.dev
={
.platform_data
.dma_mask
= &pxa_fb_info,
= &fb_dma_mask,
.coherent_dma_mask = 0xffffffff,
},
.num_resources
.resource
= ARRAY_SIZE(pxafb_resources),
= pxafb_resources,
};
252
X-Hyper270-TKU Manual
VGA OUTPUT
X-Hyper270-TKU VGA .
LCD RSTCPU VGA TFT LCD
, VGA OUT .
TFT LCD VGA (, ) .
drivers/video/pxafb.c
static irqreturn_t port_change(int irq, void *dev_id, struct pt_regs *regs)
{
//
if(port_mask == 0 ){
//
port_mask = 1;
udelay(100);
} else {
//
port_mask = 0;
udelay(100);
}
return IRQ_HANDLED;
}
: http://www.tldp.org/HOWTO/Framebuffer-HOWTO.html
Intel PXA27X Applications Processor Developers Manual
253
X-Hyper270-TKU Manual
5.3. Ethernet
5.3.1 CS8900
Cirrus Logic 10 Base-T Ethernet chip CS8900A Device Driver.
X-Hyper270-TKU Static Chip Select 4(0x10000000) .
Memory map arch/arm/mach-pxa/xhyper270tku.c .
drivers/net/cs89x0.h
Kernel configuration
Networking support
--->
--->
CS890x0 support
254
X-Hyper270-TKU Manual
5.3.2 LAN91C111
SMSC 10/100 Base-T Ethernet chip LAN91C111 Device Driver.
X-Hyper270-TKU 0x14000000, 0x14100000 .
drivers/net/smc91x_2.c
drivers/net/smc91x.h
Kernel configuration
Networking support
--->
--->
<*>
<*>
= (0x14000000 + 0x300),
.end
.flags
= (0x14000000 + 0xfffff),
= IORESOURCE_MEM,
},
[1] = {
.start
= IRQ_GPIO(54),
.end
.flags
= IRQ_GPIO(54),
= IORESOURCE_IRQ,
}
};
= "smc91x_1",
= 0,
.num_resources
= ARRAY_SIZE(smc91x_1_resources),
255
X-Hyper270-TKU Manual
.resource
= smc91x_1_resources,
};
= (0x14100000 + 0x300),
.end
.flags
= (0x14100000 + 0xfffff),
= IORESOURCE_MEM,
},
[1] = {
.start
= IRQ_GPIO(53),
.end
.flags
= IRQ_GPIO(53),
= IORESOURCE_IRQ,
}
};
= "smc91x_2",
= 0,
.num_resources
.resource
= ARRAY_SIZE(smc91x_2_resources),
= smc91x_2_resources,
};
256
X-Hyper270-TKU Manual
257
X-Hyper270-TKU Manual
5.4. Sound
PXA270 AC97 Controller Unit(ACUNIT) .
ACUNIT audio controller link(AC-link) . digital audio, modem, Mic-in,
register control, status information serial interface .
Audio Codec CIRRUS LOGIC CS4299A .
sound/oss/ pxa-ac97.c
sound/oss/ pxa-audio.c
Device Node
/dev/dsp
/dev/mixer
258
X-Hyper270-TKU Manual
Kernel configuration
Sound
--->
<*>
Mixer Setting
Mixer Setting smixer .
Setting /etc/smixer.conf . /etc/ .
/etc]$ vi smixer.conf
# smixer input file
#
# These values are for my Soundblaster Live!, you will need to modify
# which lines are used or not
#
# set volumes
vol Vol
60
#vol
Bass
50
#vol
Trebl
50
#vol
Synth
vol Pcm
88
vol Spkr
vol Line
vol Mic
100
vol CD
#vol
Mix
#vol
Pcm2
#vol
Rec
vol IGain
#vol
0
0
100
OGain
vol Line1
#vol
0
0
Line2
100
259
X-Hyper270-TKU Manual
#vol
Line3
#vol
Digital1
#vol
Digital2
100
#vol
Digital3
vol PhoneIn
100
#vol
PhoneOut
#vol
Video
#vol
Radio
#vol
Monitor
Mic
Test
Record :
[root@Xhyper ~]# cd /tmp
[root@Xhyper /tmp]# cat /dev/dsp > test.wav
Play :
[root@Xhyper /tmp]# cat test.wav > /dev/dsp
Loop back:
[root@Xhyper ~]# cat /dev/dsp > /dev/dsp
Loop back 1
.
260
X-Hyper270-TKU Manual
261
X-Hyper270-TKU Manual
5.5. UARTs
PXA270 UARTs .
Full Function UART(FFUART), Bluetooth UART(BTUART), Standard UART(STUART).
16C554A 4Port .
X-Hyper270-TKU console FFUART . BTUART console
, STUART IrDA .
4Port Full Function UART .
UART Define
Port
Signals
Level
UART Name
Part Name
COM1(ttyS0)
Rx/Tx
RS232
FFUART
DEBUG1
COM2(ttyS1)
Rx/Tx
RS232
BTUART
Not used
COM3(ttyS2)
Full Function
TTL
EXT A
CON2
COM4(ttyS3)
Full Function
TTL
EXT B
CON3
COM5(ttyS4)
Full Function
RS232
EXT C
J8
COM6(ttyS5)
Full Function
RS232
EXT D
J9
COM7(ttyS6)
Rx/Tx
TTL
STUART
IrDA
Device Node
/dev/ttyS0
/dev/ttyS1
/dev/ttyS2
16C554 A
/dev/ttyS3
16C554 B
/dev/ttyS4
16C554 C
/dev/ttyS5
16C554 D
/dev/ttyS6
IrDA
Kernel configuration
262
X-Hyper270-TKU Manual
Character devices
--->
Serial drivers
--->
= "pxa2xx-uart",
= 0,
};
static struct platform_device btuart_device = {
.name
.id
= "pxa2xx-uart",
= 1,
};
static struct platform_device ext_uartA_device = {
.name
.id
= "pxa2xx-uart",
= 2,
};
static struct platform_device ext_uartB_device = {
.name
.id
= "pxa2xx-uart",
= 3,
};
static struct platform_device ext_uartC_device = {
.name
.id
= "pxa2xx-uart",
= 4,
};
static struct platform_device ext_uartD_device = {
.name
.id
= "pxa2xx-uart",
= 5,
};
static struct platform_device stuart_device = {
.name
.id
= "pxa2xx-uart",
= 6,
};
263
X-Hyper270-TKU Manual
5.6. USB Slave
PXA27x USB Slave , USB-Ethernet
.
Test redhat 9.0 . Host PC
. .
Kernel configuration
USB support
--->
--->
--->
--->
Target Board
[root@xhyper ~]# ifconfig usb0 10.0.0.2
USB Cable Host PC
.
Host PC
#tail f /var/log/message
Apr
Apr
Apr
Apr
Apr
. .
264
X-Hyper270-TKU Manual
ifconfig a usb0 .
Host PC
[root@xhyper ~]# ifconfig usb0 10.0.0.1
IP Target Board .
265
X-Hyper270-TKU Manual
5.7. PCMCIA & CF
PXA27X 16-bit PC CARD interface .
X-Hyper270-TKU socket 0 PCMCIA slot, socket 1 CF slot .
Socket PSKTSEL .
SOCKET0
VS1,2
Control Signal
PXA27X
SOCKET1
CD GPIO IRQ
IREQ-GPIO IRQ
SOCKET0,1
RESET
VCC5-EN,VCC3-EN
EN0,EN1
DC5V
PCMCIA
VCC-3.3V,5V
DC3.3
VCC-3.3V
266
CF
X-Hyper270-TKU Manual
Kernel configuration
General setup
--->
--->
267
X-Hyper270-TKU Manual
<*>
Initiallize
X-Hyper270-TKU device , system init
cardmgr . , ,
.
[root@xhyper /root]$ /etc/rc.d/pcmcia restart
// restart
- /var/run/stab
cardmgr socket .
Test Socket 0 : Wiress LAN CARD Socket 1 : CF Memory CARD 32M
.
[root@xhyper /root]$ cat /var/run/stab
Socket 0: Z-Com XI300 11Mb/s WLAN Card
0
network hostap_cs
wlan0
hda
ide
ide_cs
- cardctl
socket .
[root@xhyper /root]$ cardctl config
Socket 0:
Vcc 5.0V
Vpp1 0.0V
Vpp2 0.0V
268
X-Hyper270-TKU Manual
option 0x41
io 0xf6000000-0xf600003f [16bit]
Socket 1:
Vcc 3.3V
Vpp1 0.0V
Vpp2 0.0V
PCMCIA
#/etc/pcmcia .
# /etc/pcmcia cardmgr .
# cardmgr /sbin/cardmgr .
269
X-Hyper270-TKU Manual
5.8. USB Host
PXA270 USB 1.1 Host Controller .
USB Features
Sgnal Descriptions
drivers/usb/host/ohci-hcd.c
drivers/usb/host/ohci-pxa27x.c
--->
--->
USB support
--->
270
X-Hyper270-TKU Manual
Kernel , Kernel .
[root@Xhyper /root]# fdisk /dev/sda
USB Keyboard
USB Keyboard .
--->
[*] Keyboards
USB support
--->
Kernel , Kernel .
USB Mouse
USB Mouse .
--->
--->
Kernel , Kernel .
USB Printer
271
X-Hyper270-TKU Manual
USB Printer .
USB support
--->
272
X-Hyper270-TKU Manual
5.9. MMC/SD/SDIO
MMC/SD/SDIO
Controller
memory card
serial
interface
drivers/mmc/ pxamci.c
drivers/mmc/mmc_block.c
Device Node
/dev/mmc
MMC node
/dev/mmc1
MMC partition 1
273
X-Hyper270-TKU Manual
/dev/mmc2
MMC partition 2
/dev/mmc3
MMC partition 3
Kernel configuration
MMC/SD Card support
--->
<*>
<*>
Device Boot
Start
End
31360
/dev/mmc1
Blocks
Id
15679+
System
83
Linux
/* . */
Command (m for help): d
Partition number (1-4): 1
Command (m for help): p
Device Boot
Start
End
274
Blocks
Id
System
X-Hyper270-TKU Manual
/* . */
Command (m for help): n
Command action
e
extended
p
Partition number (1-4): 1
First cylinder (2-31360, default 2):
Using default value 2
Last cylinder or +size or +sizeM or +sizeK (2-31360, default 31360):
Using default value 31360
Device Boot
Start
/dev/mmcda1
End
2
31360
Blocks
Id
15679+
System
83 Linux
/* .
Command (m for help): w
The partition table has been altered!
275
X-Hyper270-TKU Manual
MMC Format
[root@xhyper /root]# mkfs.ext2 /dev/mmc1
mke2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
3920 inodes, 15679 blocks
783 blocks (4.99%) reserved for the super user
First data block=1
2 block groups
8192 blocks per group, 8192 fragments per group
1960 inodes per group
Superblock backups stored on blocks:
8193
Writing inode tables: done
Writing superblocks and filesystem accounting information:
[root@xhyper /root]#
MMC Mount
[root@xhyper /root]# mount /dev/mmc1 /media/mmc/
[root@xhyper /root]# df
Filesystem
1k-blocks
/dev/root
30976
20788
/dev/mmc1
15180
13
276
10188 68% /
14384
1% /media/mmc
X-Hyper270-TKU Manual
5.10. RTC
X-Hyper270-TKU RTC RTC4513 .
RTC4513 Deivce Driver , Kernel Time
.
source
arch/arm/mach-pxa/rtc4513.c
arch/arm/mach-pxa/xhyper270tku.c
Test
Linux data .
[root@xhyper ~]# date 2005.11.8-18:14:00
Tue Nov
[root@xhyper ~]#
.
277
X-Hyper270-TKU Manual
5.11. Touch(ADS7843)
X-Hyper270-TKU Touch Controller ADS7843 .
ADS7843 12bit .
Device Node
/dev/ts
touch node
drivers/char/ads7843_ts.h
Kernel configuration
Character devices
--->
278
X-Hyper270-TKU Manual
5.12. Dot Matrix
X-Hyper270-TKU FPGA DOT MATRIX
.
DOT Matrix LED LED
. LED . LED
LED .
. LED
. 30%
.
CD/fpga_device/dot/dot.c
#define DOT_DEVMAJOR
232
#define DOT_DEVNAME
"dot"
#define DOT_RESET
#define FPGA_DOT_COL_1
(0x11800000)
#define FPGA_DOT_COL_2
(0x11900000)
#define FPGA_DOT_COL_3
(0x11A00000)
#define FPGA_DOT_COL_4
(0x11B00000)
#define FPGA_DOT_COL_5
(0x11C00000)
279
X-Hyper270-TKU Manual
#define DOT_COL_1
#define DOT_COL_2
#define DOT_COL_3
#define DOT_COL_4
#define DOT_COL_5
GPCR(DOT_RESET) |= GPIO_bit(DOT_RESET);
GPSR(DOT_RESET) |= GPIO_bit(DOT_RESET);
return 0;
}
/************************************************************************
** ssize_t dot_write (struct file *file, const char *buf, size_t count, loff_t *f_pos)
**
**
**
************************************************************************/
static ssize_t dot_write (struct file *file, const char *buf, size_t count, loff_t *f_pos){
280
X-Hyper270-TKU Manual
make .
Makefile /opt/iwmmxt-1.0.0/bin/arm-linux-gcc
X-Hyper270-TKU
insmod .
X-Hyper270-TKU
fusing DOT
rmmod .
281
X-Hyper270-TKU Manual
282
X-Hyper270-TKU Manual
5.13. FND
CD/fpga_device/fnd/fnd.c
#define FND_MAJOR
231
#define FND_NAME
"fnd"
#define MAX_FND
#define FPGA_FND_CS0
(0x11000000)
#define FPGA_FND_CS1
(0x11100000)
#define FPGA_FND_CS2
(0x11200000)
#define FPGA_FND_CS3
(0x11300000)
#define FPGA_FND_CS4
(0x11400000)
#define FPGA_FND_CS5
(0x11500000)
#define FPGA_FND_CS6
(0x11600000)
#define FPGA_FND_CS7
(0x11700000)
283
X-Hyper270-TKU Manual
*mem_fnd_cs6, *mem_fnd_cs7;
#define FND_CS0
#define FND_CS1
#define FND_CS2
#define FND_CS3
#define FND_CS4
#define FND_CS5
#define FND_CS6
#define FND_CS7
**
**
** FND
**
******************************************************************************/
static ssize_t fnd_write (struct file *filp, const char *buf, size_t count, loff_t *f_pos)
{
int i;
284
X-Hyper270-TKU Manual
i=1;
copy_from_user(disp, buf, count);
for(i =1; i <= MAX_FND; i++){
switch(i)
{
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
default :
break;
}
}
return 0;
}
make .
Makefile /opt/iwmmxt-1.0.0/bin/arm-linux-gcc
. X-Hyper270-TKU
285
X-Hyper270-TKU Manual
insmod .
X-Hyper270-TKU
fusing FND
rmmod .
286
X-Hyper270-TKU Manual
8 FND count .
287
X-Hyper270-TKU Manual
5.14. Char LCD
X-Hyper270-TKU HD44780 LCD .
- : 16 / 2
- : 57
- LCD Controller : HD44780
-
+5[V]
DC5V
DC5V
VR?
R107
0
C161
104C
U38
15
2
LCD module
100KR
LCD_D[7..0]
LCD_D0
LCD_D1
LCD_D2
LCD_D3
LCD_D4
LCD_D5
LCD_D6
LCD_D7
7
8
9
10
11
12
13
14
6
5
4
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
LCD_EN
R/W#
LCD_RS
CHAR LCD
16
1
K
GND
nLCD_CS
LCD_RW
LCD_RS
VCON
LCD_MODULE
A
VDD
R111
10K
CharLCD 16x2
Vss
0V
VDD
+5V
VL
RS
LCD
H/L
L: ( )
H:
R/W
H:
H/L
288
X-Hyper270-TKU Manual
DB0
DB1
H/L
DB2
H/L
DB3
H/L
10
DB4
H/L
11
DB5
H/L
12
DB6
H/L
13
DB7
H/L
14
DB8
H/L
enable
LCD
CD/fpga_device/clcd/clcd.c
#define CLCD_MAJOR
238
#define CLCD_NAME
"clcd"
#define FPGA_CLCD_WR_ADD
(0x12300000)
#define FPGA_CLCD_RS_ADD
(0x12380000)
/************************************************************************
** static void lcd_init(void)
**
** char LCD
**
************************************************************************/
static void lcd_init(void) //LCD
{
*((volatile unsigned char *)(mem_base_wr)) = 0x38; // 8 2
mdelay(100);
*((volatile unsigned char *)(mem_base_wr)) = 0x38;
mdelay(100);
*((volatile unsigned char *)(mem_base_wr)) = 0x38;
mdelay(100);
289
X-Hyper270-TKU Manual
**
**
*********************************************************************************/
static void string_out(char *str)
{
char *s;
int i=0;
printk("clcd.o: %s\n", str);
lcd_init();
for (s=str; *s; s++){
*((volatile unsigned char *)(mem_base_rs)) = *s;
if(i == 15) {
udelay(100);
//CLCD_CMD_ADDR = 0xC0;
*((volatile unsigned char *)(mem_base_wr)) = 0xC0;
}
udelay(100);
i++;
}
}
/********************************************************************************
** Ioremap() FPGA Char LCD **
*********************************************************************************/
static int clcd_init(void)
{
290
X-Hyper270-TKU Manual
mem_addr_wr =
FPGA_CLCD_WR_ADD;
mem_addr_rs = FPGA_CLCD_RS_ADD;
mem_len
= 0x1000;
make .
CD
Makefile
/opt/iwmmxt-1.0.0/bin/arm-linux-gcc .
291
X-Hyper270-TKU
X-Hyper270-TKU Manual
insmod .
X-Hyper270-TKU
292
X-Hyper270-TKU Manual
5.15. Key Scan
X-Hyper270-TKU 4 x 4 Key Matrix .
1 16 16 push button
KEY
Matrix
KEY OUT0
KEY OUT1
KEY OUT2
KEY OUT3
KEYIN0
KEYIN1
KEYIN2
KEYIN0
1
KB1
3
TACT
1
KB2
3
TACT
1
KB3
3
TACT
1
KB4
3
TACT
KEYIN1
1
KB5
3
TACT
1
KB6
3
TACT
1
KB7
3
TACT
1
KB8
3
TACT
KEYIN2
1
KB9
3
TACT
1
KB10
3
TACT
1
KB11
3
TACT
1
KB12
3
TACT
KEYIN3
1
KB13
3
TACT
1
KB14
3
TACT
1
KB15
3
TACT
1
KB16
3
TACT
R115
R116
R117
R118
10K
10K
10K
10K
KEYIN3
KEYOUT0
KEYOUT1
KEYOUT2
KEYOUT3
4 4
.
(4 x 4 = 16) 16 .
16 .
16 .
4 KEYOUT0, KEYOUT1, KEYOUT2, KEYOUT3
1 set 0 .
KEYOUT0 1 set KEYIN0 ~ KEYIN3 KEY4, KEY8, KEY12, EY16
KEY .
KEYOUT1 ~ KEYOUT3 KEYIN0 ~ KEYIN3
293
X-Hyper270-TKU Manual
KEY .
KEYOUT0 ~ KEYOUT3 1 set .
(KEYOUT0 1 set KEYOUT1 ~ KEYOUT3 0 .)
KEYIN . KEYIN 0
KEYOUT .
( KEYOUT0 , KEYOUT1 , KEYOUT2 , KEYOUT3 1 set. )
KEYIN KEYOUT
.
KEYOUT0 KEYIN KEY13 ~ KEY16
. KEYIN0 KEY13
KEYIN1 KEY14 KEYIN2 KEY15
KEYIN3 KEY16 .
CD/fpga_device/key/key.c
void Print_Key(int out , int in){
switch(out){
case 1:
if(in == 1)
{ dbg("key 4 is pressed\n");
key_data = 4;}
key_data = 8;}
key_data = 12;}
key_data = 16;}
break;
case 2:
if(in == 1)
{ dbg("key 3 is pressed\n");
key_data = 3;}
key_data = 7;}
key_data = 11;}
key_data = 15;}
break;
294
X-Hyper270-TKU Manual
case 3:
if(in == 1)
{ dbg("key 2 is pressed\n");
key_data = 2;}
key_data = 6;}
key_data = 10;}
key_data = 14;}
break;
case 4:
if(in == 1)
{ dbg("key 1 is pressed\n");
key_data = 1;}
key_data = 5;}
key_data = 9;}
key_data = 13;}
break;
}
}
init_timer(&key_timer_str); // timer
pointer
295
X-Hyper270-TKU Manual
key_timer_str.function =&key_timer_function ;
key_timer_str.data = (unsigned long)n;
key_timer_str.expires = jiffies + (HZ/100);
add_timer(&key_timer_str);
}
void remove_timer(void)
{
del_timer(&key_timer_str);
}
/********************************************************************************
** Ioremap() FPGA Char LCD **
*********************************************************************************/
static int key_init(void)
{
mem_addr_out = FPGA_KEY_OUT;
mem_addr_in
= FPGA_KEY_IN;
mem_len = 0x1000;
mem_key_out = ioremap_nocache (mem_addr_out, mem_len);
if(!mem_key_out) {
printk(" Error mapping key_out memory\n");
return -EBUSY;
}
296
X-Hyper270-TKU Manual
make .
CD
Makefile
/opt/iwmmxt-1.0.0/bin/arm-linux-gcc .
X-Hyper270-TKU
insmod .
fusing
X-Hyper270-TKU
KEY
rmmod .
297
X-Hyper270-TKU Manual
key_test
.
298
X-Hyper270-TKU Manual
5.16. Stepper Motor
X-Hyper270-TKU Steper Motor Device (Input electrical pulse) L297
.
Step , , ,
OA, FA .
L297/L297D
299
X-Hyper270-TKU Manual
CW/CCW . HIGH
CW() LOW CCW( ) .
CLK Clock . .
. (
.)
CD/fpga_device/st_motor/st_motor.c
/************************************************************************
** PXA255 OS Timer Interrupt MOTOR
**
************************************************************************/
#define OSTIMER_IRQ
IRQ_OST1
/*************************************************************************
** MOTOR_InterruptHandler motor_speed
** .
**
**
************************************************************************/
void MOTOR_ReSetting(int motor_speed)
{
300
X-Hyper270-TKU Manual
OSTIMER_ON;
OSMR1 = OSCR + Usec_Clk*motor_speed;
}
void MOTOR_InterruptHandler(int irq, void *dev_id, struct pt_regs *regs)
{
/**********************************************************************************
**static int st_motor_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg)**
** Application DC .
**
***********************************************************************************/
static int st_motor_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg)
{
switch (cmd) {
case MOTOR_Forward : {
OSTIMER_OFF;
MOTOR_Init();
Motor_Direction( Forward );
MOTOR_ReSetting(motor_speed);
break;
}
case MOTOR_Reverse : {
OSTIMER_OFF;
MOTOR_Init();
Motor_Direction( Reverse );
MOTOR_ReSetting(motor_speed);
break;
}
case MOTOR_SpeedUp : {
if(motor_speed > 150){
motor_speed -= 50;
// Speed Up
301
X-Hyper270-TKU Manual
case MOTOR_SpeedDown : {
motor_speed += 50;
// Speed Down
break;
}
case MOTOR_STOP : {
Motor_Stop();
break;
}
default:
return 0;
}
return 0;
}
make .
CD Makefile
/opt/iwmmxt-1.0.0/bin/arm-linux-gcc . X-Hyper270-TKU
.
302
X-Hyper270-TKU Manual
insmod .
X-Hyper270-TKU
./st_motor_test .
1 , 2 , 3 ,4 ,
0 .
303
X-Hyper270-TKU Manual
304
X-Hyper270-TKU Manual
5.17. DC Motor
DC
. DC Motor
. , ,
.
X-Hyper270-TKU DC Motor L298P( PowerSO20 package)
.
CD/fpga_device/dc_motor/dc_motor.c
/************************************************************************
305
X-Hyper270-TKU Manual
**
** DC application
**
** ioctl .
**
************************************************************************/
static void Dc_Moter_Clock(void)
{
if ( motor_mask == 0 ){
// LEFT Motor
if(mask == 1 ){
// forward
MOTOR_ClearBit(1);
MOTOR_SetBit(0);
MOTOR_SetBit(4);
} else if (mask == 2){
// reverse
MOTOR_ClearBit(0);
MOTOR_SetBit(1);
MOTOR_SetBit(4);
} else {
MOTOR_ClearBit(0);
// stop
MOTOR_ClearBit(1);
MOTOR_ClearBit(4)
// reset low
}
} else {
// RIGHT Motor
if(mask == 1 ){
// forward
MOTOR_ClearBit(3);
MOTOR_SetBit(2);
MOTOR_SetBit(5);
} else if (mask == 2){
// reverse
MOTOR_ClearBit(2);
MOTOR_SetBit(3);
MOTOR_SetBit(5);
} else {
MOTOR_ClearBit(3);
// stop
MOTOR_ClearBit(2);
MOTOR_ClearBit(5)
}
}
306
// reset low
X-Hyper270-TKU Manual
}
/*************************************************************************************
** static int data_motor_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg **
** DC application
** DC Motor
**
**
*************************************************************************************/
static int data_motor_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg)
{
switch (cmd) {
case _IOCTL_LEFT_FORWARD : {
OSTIMER_OFF;
motor_mask = 0;
mask = 1;
Dc_Moter_Clock();
DC_MOTOR_ReSetting(motor_speed);
break;
}
case _IOCTL_LEFT_REVERSE : {
OSTIMER_OFF;
motor_mask = 0;
mask = 2;
Dc_Moter_Clock();
DC_MOTOR_ReSetting(motor_speed);
break;
}
case _IOCTL_LEFT_STOP : {
OSTIMER_OFF;
motor_mask = 0;
mask = 0;
Dc_Moter_Clock();
DC_MOTOR_ReSetting(motor_speed);
break;
}
307
X-Hyper270-TKU Manual
case _IOCTL_RIGHT_FORWORD : {
OSTIMER_OFF;
motor_mask = 1;
mask = 1;
Dc_Moter_Clock();
DC_MOTOR_ReSetting(motor_speed);
break;
}
case _IOCTL_RIGHT_REVERSE : {
OSTIMER_OFF;
motor_mask = 1;
mask = 2;
Dc_Moter_Clock();
//enable_irq(OSTIMER_IRQ);
DC_MOTOR_ReSetting(motor_speed);
break;
}
case _IOCTL_RIGHT_STOP : {
OSTIMER_OFF;
motor_mask = 1;
mask = 0;
Dc_Moter_Clock();
// enable_irq(OSTIMER_IRQ);
DC_MOTOR_ReSetting(motor_speed);
break;
}
default:
return 0;
}
return 0;
}
make .
CD Makefile
308
X-Hyper270-TKU Manual
/opt/iwmmxt-1.0.0/bin/arm-linux-gcc . X-Hyper270-TKU
.
insmod .
X-Hyper270-TKU
fusing Dc Motor
rmmod
.
309
X-Hyper270-TKU Manual
Test
./dc_motor_test .
1 , 2 , 4
, 5 . 3 6 .
0 .
310
X-Hyper270-TKU Manual
5.18. LED
X-Hyper270-TKU 8 LED FPGA
8 LED .
<LED >
CD/fpga_device/led/led.c.
/***********************************************************************************
** FPGA LED 0x12400000
**
**
**
** .
**
***********************************************************************************/
#define LED_DEVMAJOR
239
#define LED_DEVNAME
"led"
/***********************************************************************************
** Application LED LED LED data .
**
***********************************************************************************/
static ssize_t led_write (struct file *file, const char *buf, size_t count, loff_t *f_pos){
311
X-Hyper270-TKU Manual
/**********************************************************************************
**static int st_motor_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg)**
** Application DC .
**
***********************************************************************************/
static int __init led_init(void){
..
mem_addr =
LED_PHYS;
mem_len = 0x1000;
make .
CD Makefile
/opt/iwmmxt-1.0.0/bin/arm-linux-gcc . X-Hyper270-TKU
312
X-Hyper270-TKU Manual
insmod .
X-Hyper270-TKU
fusing LED
rmmod .
313
X-Hyper270-TKU Manual
./led_test 1 LED
2 LED , 3
. 0 .
314
X-Hyper270-TKU Manual
315
X-Hyper270-TKU Manual
6.
QT
6.1.
QT/Embedded
6.1.1.
6.1.1.1
Qt/Embedded
.
QT qte-3.3.3 .
316
X-Hyper270-TKU Manual
6.1.1.2
Qt/Embedded (host)
.
--
QTDIR : Qt
--
LD_LIBRARY_PATH : Qt
path ~/.bash_profile .
/qte-3.3.3]#vi ~/.bash_profile
317
X-Hyper270-TKU Manual
.
PATH=$PATH:$HOME/bin
export QTDIR=/root/qt/qte-3.3.3
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib
.
/qte-3.3.3]# source ~/.bash_profile
318
X-Hyper270-TKU Manual
6.1.1.3
.
.
. qte-3.3.3/src/embedded
qmouselinuxtp_qws.cpp .
149 161 .
/dev/ts .
/qte-3.3.3]# vi /src/embedded/qmouselinuxtp_qws.cpp
. QT
.
QT/Embedded Configuratin .
319
X-Hyper270-TKU Manual
6.1.1.4
Qt/Embedded Configuration
ARM Makefile .
PLATFORM file .(Makefile, Readme)
configure
-shared :
-static :
-release :
-debug :
-thread :
-depths 16 : 16
-no-cups: cups
-qt-mouse-linuxtp :
Framebuffer ?
Framebuffer VESA
. 97
framebuffer .
Framebuffer .
Framebuffer ,
320
X-Hyper270-TKU Manual
.
,
.
Makefile .
/qte-3.3.3]# vi Makefile
configure .
/qte-3.3.3]# ./configure embedded ipaq shared depths 16 thread
-no-cups qt-mouse-linuxtp
-
. yes .
321
X-Hyper270-TKU Manual
.
Embedded ipaq Configuration Build type
Building on :
qws/linux-x86-g++
322
X-Hyper270-TKU Manual
.
323
X-Hyper270-TKU Manual
6.1.2
6.1.2.1.
QT/Embedded
QT/ARM
.
.
: http://www.hybus.net
///qt-3.3.3
: qt_libstdc++-3-libc6.1.2.2.10.0.so Host PC .
stdc++-3-libc6.1.2.2.10.0.so .
/opt/iwmmxt-1.0.0/lib/libstdc++.so .
/root#] ln s qt_libstdc++-3-libc6.1.2.2.10.0.so
/opt/iwmmxt-1.0.0/lib/libstdc++.so
//
324
X-Hyper270-TKU Manual
6.1.2.2.
UIC, QVFB
cp /qte-3.3.3/bin/ .
.
/bin]# cp /root/qt/uic ./
/bin]# cp /root/qt/qvfb ./
/bin]# chmod u+x uic
//
//
325
X-Hyper270-TKU Manual
6.1.2.3.
make .
/qte-3.3.3]# make
.
.
.
QT/Embedded .
/qte-3.3.3]# cd $QTDIR/lib
//QTDIR/lib
/lib]# ll
/lib]# file libqte-mt.so.3.3.3
326
X-Hyper270-TKU Manual
4 .
File ARM .
QT/Embedded .
327
X-Hyper270-TKU Manual
6.1.3. (Hello)
6.1.3.1
Hello
Qte-3.3.3 examples/hello .
/hello]# make
//
hello .
328
X-Hyper270-TKU Manual
6.1.3.2
NFS
QT NFS QT . NFS
. .
NFS .
NFS UDP ,
NFS
. NFS .
NFS NIC .
make menuconfig CS8900 .
/2.6.11/]# make menuconfig
//
Network Support -
[*] Network device Support
Ethernet (10 or 100Mbit) -
329
X-Hyper270-TKU Manual
.
File system -
Network File system -
pc /etc/exports .
pc /mnt/nfs nfs .
( PC /mnt/nfs ).
192.168.128.128 IP nfs .
( IP. PC IP 192.168.128.129.)
rw,no_root_squash .
pc /etc/exports nfs .
Stop , start .
330
X-Hyper270-TKU Manual
/etc/rc.d/init.d/nfs start PC .
6.1.3.3
qte-3.3.3
// nfs
//
/mnt/nfs]# cp /root/qt_libstdc++-3-libc6.1-2-10.0.so ./
// nfs
331
X-Hyper270-TKU Manual
6.1.3.4
IP PC .
Host PC .
332
X-Hyper270-TKU Manual
portmap . (portmap .)
. PC .
/mnt/nfs .
/mnt/nfs PC nfs .
6.1.3.5
QT/Embedded
333
X-Hyper270-TKU Manual
QT .
/root]# vi ~/.profile
.
.
//
6.1.3.6
ARM
/mnt/nfs/ qt_libstdc++-3-libc6.1-2-10.0.so .
/mnt/nfs/qte-3.3.3/lib]# ln s qt_libstdc++-3-libc6.1-2-10.0.so libstdc++-libc6.1-2.so.3
334
X-Hyper270-TKU Manual
6.1.3.7
QT/E
XServer .
[root@xhyper /mnt/nfs/qte-3.3.3]# ps
...
1148 root
4696 S
1155 root
3348 S
1156 root
3872 S
matchbox-window-manager
1157 root
1492 S
1158 root
3344 S
mb-applet-menu-launcher
1159 root
1548 S
mb-applet-system-monitor
1160 root
1544 S
mb-applet-wireless
1161 root
3672 S
mb-applet-clock
XServer kill .
/mnt/nfs/qte-3.3.3/examples/hello . Hello .
/root]$ cd /mnt/nfs/qte-3.3.3/examples/hello
/hello]$ ./hello -qws
Target Board LCD Hello world .
QT Hello .
QT . QT
Application .
335
X-Hyper270-TKU Manual
6.2.
6.2.1.
336
X-Hyper270-TKU Manual
GoAhead 2.1.6.
http://data.goahead.com/Software/Webserver/2.1.6/webs216.tar.gz
.
ws030325 .
337
X-Hyper270-TKU Manual
6.2.2.
Compile
.
LINUX .
338
X-Hyper270-TKU Manual
Makefile .
CC=/opt/iwmmxt-1.0.0/bin/arm-linux-gcc
AR=/opt/iwmmxt-1.0.0/bin/arm-linux-ar .
make .
339
X-Hyper270-TKU Manual
webs .
file webs ARM .
webs .
340
X-Hyper270-TKU Manual
6.2.3.
Web Server
ifconfig ip /etc/hosts ip .
341
X-Hyper270-TKU Manual
hostname
.
GoAhead .
web , asp html, cgi
. X-Hyper270-TKU .
342
X-Hyper270-TKU Manual
web.tar . web .
( / ) .
343
X-Hyper270-TKU Manual
web .
web GoAhead .
( / ) web webs .
Web Server .
344
X-Hyper270-TKU Manual
X-Hyper270-TKU .
Web Server .
cgi .
GoAhead cgi test .
.
cgi test ./web/cgi-bin/ .
345
X-Hyper270-TKU Manual
cgittest PC .
http://192.168.128.128/cgi-bin/cgitest .
346
X-Hyper270-TKU Manual
347
X-Hyper270-TKU Manual
6.3.
Dillo C gtk
6.3.1.
Dillo dillo-0.8.0 .
http://dillo.auriga.wearlab.de/download/dillo-0.8.0.tar.bz2
.
.
dillo-0.8.0 .
348
X-Hyper270-TKU Manual
6.3.2.
Compile
.
linux application configure ,
Makefile . configure Cross compiler .
arm-linux-gcc export CC=arm-linux-gcc .
configure .
349
X-Hyper270-TKU Manual
configure Makefile .
make .
350
X-Hyper270-TKU Manual
src dillo .
file ARM .
arm-linux-strip .
X-Hyper270-TKU . serial ftp .
6.3.3.
351
X-Hyper270-TKU Manual
dillo zmodem .
dillo .
352
X-Hyper270-TKU Manual
6.4.
NAT
Kernel
Iptables
Iptables-1.3.0.tar.bz2
NIC1
NIC2
IP
IP * 2, IP * 2
353
X-Hyper270-TKU Manual
NAT
354
X-Hyper270-TKU Manual
6.4.1.
NAT
make menuconfig .
NAT .
355
X-Hyper270-TKU Manual
356
X-Hyper270-TKU Manual
NAT .
2.2 IPCHAINS 2.4 IPTABLES
, 2.6 IPTABLES
.
357
X-Hyper270-TKU Manual
6.4.2.
IPTABLES
NAT iptables .
.
.
iptables RPM iptables-1.2.7a-2.armv4l.rpm
http://rpmfind.net/linux/rpm2html/search.php ARM iptables .
iptables-1.2.7a-2.armv4l.rpm .
358
X-Hyper270-TKU Manual
NAT
6.4.3.
NAT iptables .
.
iptables .
.
,
zmodem ftp .
.
iptables /sbin .
libipt_MASQUERADE.so /lib/iptables
.
/lib/iptables .
iptables
.
iptables help iptables .
359
X-Hyper270-TKU Manual
360
X-Hyper270-TKU Manual
6.4.4.
Network
NAT PC IP .
ifconfig IP .
NAT SMC91C111(eth1) IP
, CS8900(eth0) IP .
PC PING
NAT PING
361
X-Hyper270-TKU Manual
PC PING
.
PC IP
362
X-Hyper270-TKU Manual
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/resolv.conf
363
X-Hyper270-TKU Manual
NAT IP
.
/etc/sysconfig/network .
/etc/sysconfig/network-scripts/ifcfg-eth0 eth0
.
/etc/resolv.conf
364
X-Hyper270-TKU Manual
6.4.5.
NAT TEST
NAT iptalbes .
IPTABLES .
IPTABLES man .
IPTABLES iptables-save
.
365
X-Hyper270-TKU Manual
CONNECTION NAT PC
IP PING .
PING .
NAT .
366
X-Hyper270-TKU Manual
6.5.
NFS
6.5.1.
NFS
NFS () ( PC)
,
C/S . NFS ,
( ) NFS . ,
TCP/IP , , NFS
TCP/IP (,
NFS
TCP
UDP
).
NFS , .
RPC .
NFS ,
. ( )
.
NFS .
6.5.2.
NFS NIC .
make menuconfig CS8900
.
Networking support --->
[*] Networking support
[*] Networ device support
Ethernet (10 or 100Mbit) --->
[*] Ethernet (10 or 100Mbit)
<*> CS89x0 support
367
X-Hyper270-TKU Manual
.
File systems --->
Network File Systems --->
<*> NFS file system support
[*] Provides NFSv3 client support
[*] Provides NFSv4 client support (EXPERIMENTAL)
[*] Root file system on NFS
368
X-Hyper270-TKU Manual
6.5.3.
Host PC
pc /etc/exports .
pc /mnt/nfs nfs .
( PC /mnt/nfs ).
192.168.128.128 IP nfs .
( IP. PC IP 192.168.128.129.)
rw,no_root_squash .
pc /etc/exports nfs .
Stop , start .
/etc/rc.d/init.d/nfs start PC nfs .
369
X-Hyper270-TKU Manual
6.5.4.
PC /etc/exports 192.168.128.128
eth0 IP .
IP PC .
370
X-Hyper270-TKU Manual
portmap . (portmap .)
PC /mnt/nfs /mnt/nfs .
.
PC .
371
X-Hyper270-TKU Manual
6.6.
MPlayer (MPlayer ) .
MPlayer X-Hyper270-TKU MPEG .
6.6.1 MPlayer
MPlayer . MPlayer-0.91.tar.bz2
372
X-Hyper270-TKU Manual
.
http://www.mplayerhq.hu/homepage/design7/dload.html
MPlayer-0.91 .
6.6.2 Makefile
373
X-Hyper270-TKU Manual
Makefile 248 .
6.6.3 configure
. X-Hyper270-TKU
374
X-Hyper270-TKU Manual
. mymplayerconfig .
6.6.4 make
make .
375
X-Hyper270-TKU Manual
mplayer .
.
6.6.5 (mplayer)
make .
NFS .
376
X-Hyper270-TKU Manual
6.6.6 mplayer
mplayer . .
377
X-Hyper270-TKU Manual
mplayer test.mpeg .
378
X-Hyper270-TKU Manual
379
X-Hyper270-TKU Manual
380
X-Hyper270-TKU Manual
6.7.
USB Host
6.7.1 USB
1. menuconfig
Host PC menuconfig .
[root@HostPC linux-2.6.11-h270-tku]# make menuconfig
Menuconfig . .(
)
Main USB Support .
381
X-Hyper270-TKU Manual
382
X-Hyper270-TKU Manual
USB Mass Storage SCSI device emulation .
Menuconfig . menuconfig .
383
X-Hyper270-TKU Manual
2.
Menuconfig .
[root@HostPC linux-2.6.11-h270-tku]# make clean
[root@HostPC linux-2.6.11-h270-tku]# make dep zImage
arch/arm/boot
zImage . .
384
X-Hyper270-TKU Manual
3. USB Storage
USB
.
USB Storage .
.
385
X-Hyper270-TKU Manual
sda . .
[root@hybus dev]# mknod sda b 8 0
[root@hybus dev]# mknod sda1 b 8 1
sda .
4. USB Storage
386
X-Hyper270-TKU Manual
[root@hybus dev]# fdisk /dev/sda .
fdisk /dev/sda p, d, ,
n . n default .
[root@hybus dev]# mkfs.ext2 /dev/sda1 .
387
X-Hyper270-TKU Manual
USB .
388
X-Hyper270-TKU Manual
1. menuconfig
Host PC menuconfig .
[root@HostPC linux-2.6.11-h270-tku]# make menuconfig
Menuconfig .
.( )
389
X-Hyper270-TKU Manual
Menuconfig . menuconfig .
390
X-Hyper270-TKU Manual
2.
Menuconfig .
arch/arm/boot zImage
. .
3. USB Keyboard
Mouse
USB
.
USB Mouse . .
391
X-Hyper270-TKU Manual
. xterm .
USB Keyboard
.
. xterm .
* , MOP-35
.
392
X-Hyper270-TKU Manual
1. menuconfig
Host PC menuconfig .
* USB Camera
.
Menuconfig . .(
)
393
X-Hyper270-TKU Manual
. Multimedia devices .
394
X-Hyper270-TKU Manual
Menuconfig . menuconfig .
395
X-Hyper270-TKU Manual
2.
Menuconfig .
arch/arm/boot zImage
. .
3. USB Camera
396
X-Hyper270-TKU Manual
4. USB Camera
397
X-Hyper270-TKU Manual
.
Version
: effectv-0.3.9
To
: /PROJECT/270_CAM/EffecTV
Source
: effectv-0.3.9.tar.gz
EffecTV .
SDL(Simple DirectMedia
Layer).
Requirements (software)
- Latest bttv driver, if you have a capture card using Bt848 family.
- SDL library(version 1.1.7 or later).
- GCC. NASM for some effects. (optional)
- vloopback for video loop back feature. (version 0.91 or later, optional)
X-Hyper270-TKU USB Camera Player SDL-1.2.6 .
SDL .
SDL http://libsdl.org/release/SDL-1.2.6.tar.gz .
398
X-Hyper270-TKU Manual
SDL . X-Hyper270-TKU
. mysdlconfig .
399
X-Hyper270-TKU Manual
#!/bin/sh
export NM="/opt/iwmmxt-1.0.0/bin/arm-linux-nm"
export LD="/opt/iwmmxt-1.0.0/bin/arm-linux-ld"
export CC="/opt/iwmmxt-1.0.0/bin/arm-linux-gcc"
export CXX="/opt/iwmmxt-1.0.0/bin/arm-linux-g++"
export RANLIB="/opt/iwmmxt-1.0.0/bin/arm-linux-ranlib"
export AR="/opt/iwmmxt-1.0.0/bin/arm-linux-ar"
./configure --build=i386-linux --host=arm-linux \
--prefix=/usr/ARMV5TE-linux \
// install directory
--x-includes=/usr/X11R6_ARM/include \
// X
--x-libraries=/usr/X11R6_ARM/lib \
--disable-debug --disable-joystick --disable-cdrom \
--disable-diskaudio --disable-mintaudio --disable-esd \
--disable-nasm --disable-dga --disable-video-x11-dgamouse \
--disable-video-x11-xv --disable-video-x11-xinerama \
--disable-video-x11-xme --disable-video-dga --disable-video-photon \
--disable-video-ps2gs --disable-video-xbios \
--disable-video-gem --disable-video-opengl --disable-input-events \
--disable-stdio-redirect --disable-directx --disable-atari-ldg
.
[root@HostPC SDL-1.2.6]# chmod +x mysdlconfig
[root@HostPC SDL-1.2.6]# ./mysdlconfig
.
[root@HostPC SDL-1.2.6]# make clean
[root@HostPC SDL-1.2.6]# make
[root@HostPC SDL-1.2.6]# make install
SDL
Tiny-X . Tiny-X XFree86 source download
400
X-Hyper270-TKU Manual
http://www.xfree.org/ . X-Hyper270-TKU
xfree86-4.4.0
<EffecTV-2>
.
401
X-Hyper270-TKU Manual
effectv-0.3.9/ .
<EffecTV-3> X-Hyper270-TKU
EffecTV X-Hyper270-TKU 10.
patching file config.mk
402
X-Hyper270-TKU Manual
403
X-Hyper270-TKU Manual
404
X-Hyper270-TKU Manual
405
X-Hyper270-TKU Manual
406
X-Hyper270-TKU Manual
407
X-Hyper270-TKU Manual
408
X-Hyper270-TKU Manual
<EffecTV-4. >
.
409
X-Hyper270-TKU Manual
410
X-Hyper270-TKU Manual
411
X-Hyper270-TKU Manual
USB .
.
412
X-Hyper270-TKU Manual
.
LCD USB .
413
X-Hyper270-TKU Manual
414
X-Hyper270-TKU Manual
7.
7.1
Pin Description
No.
Signal
Description
VCC
UDC-
Data -
UDC+
Data +
GND
Ground.
USB Slave connector
No.
Signal
Description
VCC
UDC-
Data -
UDC+
Data +
GND
Ground.
USB Host connector
No.
Signal
Description
1,5
VCC
2,6
UDC-
Data -
3,7
UDC+
Data +
4,8
GND
Ground.
USB Host connector
415
X-Hyper270-TKU Manual
No.
1
Name
TPOP
Description
Twisted-Pair Output Positive. Differential outputs to the
twisted-pair cable.
TPON
TPIP
NC
Not Connect.
NC
Not Connect.
TPIN
NC
Not Connect.
NC
Not Connect.
Link LED
Link LED
10
DC3P3V
+ 3.3V
11
Lan LED
Lan LED
12
DC3P3V
+ 3.3V
Ethernet
5. J8 : Serial (RS232)
The pin out of Serial (For Debug)
No.
Name
Description
FFTXD
FFRXD
GND
Ground
NC
Not Connect
1,4,6,7,8,
9
Serial(Standard)
416
X-Hyper270-TKU Manual
No.
1
Name
TPOP
Description
Twisted-Pair Output Positive. Differential outputs to the
twisted-pair cable.
TPON
TPIP
COM11
COM11
COM11
COM11
TPIN
COM12
COM12
COM12
COM12
Link LED
Link LED
10
DC3P3V
+ 3.3V
11
Lan LED
Lan LED
12
DC3P3V
+ 3.3V
Ethernet
No.
Name
Description
GND
Ground
TMS
TDO
TDI
TCK
NTRST
Boundary Reset.
JTAG connector
417
X-Hyper270-TKU Manual
No.
Name
Description
VTref
X-nTRST
X-TDI
X-TMS
X-TCK
13
X-TDO
15
RESET-CPU
2,17,19
NC
Not Connect.
4,6,8,10,
GND
Ground.
11,12,14,
16,18,20
ICE connector
No.
Name
Description
MIC
MIC Jack
EAR
SPK Jack
No.
Name
Description
GND
TXD
Transmitted Data
RXD
Received Data
RTS
Request To Send
418
X-Hyper270-TKU Manual
CTS
Clear To Send
DC3.3V
+3.3V
DC5V
+5V
NC
Not Connect
DCD
10
DSR
11
DTR
12
/RST
Reset
13
GND
Ground
14
RI
Ring Indicator
15
NC
Not Connect
16
NC
Not Connect
17
NC
Not Connect
18
NC
Not Connect
19
NC
Not Connect
20
NC
Not Connect
Serial(FullFunction)
No.
Name
Description
DCD
RXD
Received Data
TXD
Transmitted Data
RTS
Request To Send
GND
Signal Ground
CTS
Clear To Send
DTR
DSR
RI
Ring Indicator
Serial(FullFunction)
419
X-Hyper270-TKU Manual
No.
Name
Description
Reset
Reset
GND
Ground
DD7
Data Bus 7
DD8
Data Bus 8
DD6
Data Bus 6
DD9
Data Bus 9
DD5
Data Bus 5
DD10
Data Bus 10
DD4
Data Bus 4
10
DD11
Data Bus 11
11
DD1
Data Bus 1
12
DD12
Data Bus 12
13
DD2
Data Bus 2
14
DD13
Data Bus 13
15
DD1
Data Bus 1
16
DD14
Data Bus 14
17
DD0
Data Bus 0
18
DD15
Data Bus 15
19
GND
Ground
20
NC
Not Connect
21
DMARQ
22
GND
Ground
23
DIOW
24
GND
Ground
25
DIOR
26
GND
Ground
27
IORDY
28
PSYNC:CSEL
29
DMACK
420
X-Hyper270-TKU Manual
30
GND
Ground
31
INTRQ
32
IOCS16
33
DA1
Address Bus 1
34
PDIAG
35
DA0
Address Bus 0
36
DA2
Address Bus 2
37
CS0
Chip Select 0
38
CS1
Chip Select 1
39
DASP
40
GND
Ground
41
+5V
42
+5V(Motor)
43
GND
Ground
44
TYPE
Serial(FullFunction)
No.
Name
Description
DC3P3V
+ 3.3 V
DC3P3V
+ 3.3 V
CIF_DD9
CIF_DD8
CIF_DD7
CIF_DD6
CIF_DD5
CIF_DD4
CIF_DD3
10
CIF_DD2
11
CIF_DD1
421
X-Hyper270-TKU Manual
12
CIF_DD0
13
CIF_MCLK
14
SCL
15
SDA
16
HHSUNV
17
HVSYNC
18
RESET
Reset
19
GND
Ground
20
GND
Ground
Serial(FullFunction)
No.
Name
Description
RED
Red Video.
GREEN
Green Video.
BLUE
Blue Video.
GND
Monitor ID Bit 2.
GND
Ground
RGND
Red Ground.
GGND
Green Ground.
BGND
Blue Ground.
GND
Key(No Pin).
10
SGND
Sync Ground.
11
GND
Monitor ID Bit 0.
12
DDC DATA
Monitor ID Bit 1.
13
HSYNC
Horizontal Sync.
14
VSYNC
Vertical Sync.
15
DDC CLOCK
Monitor ID Bit 3.
Serial(FullFunction)
422
X-Hyper270-TKU Manual
7.2
J1 Connector
No.
Name
Description
CD31
Data Bus 31
CD30
Data Bus 30
CD29
Data Bus 29
CD28
Data Bus 28
CD27
Data Bus 27
11
CD26
Data Bus 26
13
CD25
Data Bus 25
15
CD24
Data Bus 24
17
CD23
Data Bus 23
19
CD22
Data Bus 22
21
CD21
Data Bus 21
23
CD20
Data Bus 20
25
CD19
Data Bus 19
27
CD18
Data Bus 18
29
CD17
Data Bus 17
31
CD16
Data Bus 16
33
CD15
Data Bus 15
35
CD14
Data Bus 14
37
CD13
Data Bus 13
39
CD12
Data Bus 12
41
CD11
Data Bus 11
43
CD10
Data Bus 10
45
CD9
Data Bus 9
47
CD8
Data Bus 8
49
CD7
Data Bus 7
51
CD6
Data Bus 6
No.
Name
Description
53
CD5
Data Bus 5
55
CD4
Data Bus 4
423
X-Hyper270-TKU Manual
No.
Name
Description
57
CD3
Data Bus 3
59
CD2
Data Bus 2
61
CD1
Data Bus 1
63
CD0
Data Bus 0
65
GND
Ground.
67
CA25
Address Bus 25
69
CA24
Address Bus 24
71
CA23
Address Bus 23
73
CA22
Address Bus 22
75
CA21
Address Bus 21
77
CA20
Address Bus 20
79
GND
Ground.
81
GND
Ground.
83
DC3P3V
+ 3.3 V
85
DC3P3V
+ 3.3 V
87
GND
Ground.
89
GND
Ground.
91
GND
Ground.
93
GND
Ground.
95
GND
Ground.
97
DC5V
+ 5 V.
99
DC5V
+ 5 V.
No.
Name
Description
CGP34/FFRXD
FFRXD
CGP42/BTRXD
BTRXD
CGP39/FFTXD
FFTXD
CGP43/BTTXD
GPIO 43
10
CGP35/FFCTS
GPIO 35
12
CGP44/BTCTS
GPIO 44
14
CGP41/FFRTS
GPIO 41
16
CGP45/BTRTS
GPIO 45
18
CGP36/FFDCD
GPIO 36
424
X-Hyper270-TKU Manual
No.
Name
20
CGP46/STDRXD
STDRXD
22
CGP37/FFDSR
GPIO 37
24
CGP47/STDTXD
STDTXD
26
CGP38/RADIO_SI/TX2
GPIO 38
28
CGP99/RADIO_SFD
GPIO 99
30
CGP40/RADIO_SO/RX2
GPIO 40
32
Description
CGP100/RADIO_SCLK
GPIO 100
34
CUIO
UIO
36
CGP89/RADIO_PKT_INT
GPIO 89
38
CGP88
GPIO 88
40
CGP81/SSPTXD3
SSPTXD3
42
CGP16/ADC_INT
ADC_INT
44
CGP82/SSPRXD3
SSPRXD3
46
CGP40/RADIO_SO/RX2
GPIO 40
48
CGP83/SSPSFRM3
SSPSFRM3
50
CGP26/CIF_PCLK
CIF_PCLK
52
CGP84/SSPSCLK3
SSPSCLK3
54
CGP11/CF-IREQ#
CF-IREQ#
56
CGP18/RDY
RDY
58
CGP12/CF-CD#
CF-CD#
60
CGP101
GPIO 101
62
CGP116/IDE_DACK
IDE_DACK
64
CGP20/DREQ/nSDCS2v
GPIO 20
66
CGP115/IDE_DREQ
IDE_DREQ
68
CGP21/DVAL0/nSDCS3
GPIO 21
70
CGP1
GPIO 1
72
CGP91/NFRNB
NFRNB
74
CGP0
GPIO 0
76
CGP96/RTC-SDA
RTC-SDA
78
CGP9/PCMCIA-IREQ#
PCMCIA-IREQ#
80
GND
Ground
82
GND
Ground
84
DC3P3V
+ 3.3 V
425
X-Hyper270-TKU Manual
No.
Name
Description
86
DC3PV
+ 3.3 V
88
GND
Ground
90
GND
Ground
92
GND
Ground
94
GND
Ground
96
GND
Ground
98
DC5V
+5V
100
DC5V
+ 5V
External Interface
426
X-Hyper270-TKU Manual
J2 Connector
No.
Name
Description
CA19
Address Bus 19
CA18
Address Bus 18
CA17
Address Bus 17
CA16
Address Bus 16
CA15
Address Bus 15
11
CA14
Address Bus 14
13
CA13
Address Bus 13
15
CA12
Address Bus 12
17
CA11
Address Bus 11
19
CA10
Address Bus 10
21
CA9
Address Bus 9
23
CA8
Address Bus 8
25
CA7
Address Bus 7
27
CA6
Address Bus 6
29
CA5
Address Bus 5
31
CA4
Address Bus 4
33
CA3
Address Bus 3
35
CA2
Address Bus 2
37
CA1
Address Bus 1
39
CA0
Address Bus 0
41
GND
Ground
43
GND
Ground
45
CnBCS1
Chip Select 1
47
CnBCS4
Chip Select 4
49
CnBCS5
Chip Select 5
51
CBRDnWR
RDnWR
53
CBnWE
nWE
55
CBnOE
nOE
57
CGP117/SCL
SCL
59
CGP118/SDA
SDA
61
CGP3/PWR_SCL
GPIO 3
63
CGP4/PWR_SDA
GPIO 4
65
GND
Ground
427
X-Hyper270-TKU Manual
67
GND
Ground
69
GND
Ground
71
GND
Ground
73
DC3P3V
+ 3.3 V
75
DC3P3V
+ 3.3 V
77
GND
Ground
79
GND
Ground
81
GND
Ground
83
DC5V
+5V
85
DC5V
+5V
87
GND
Ground
89
GND
Ground
91
GND
Ground
93
DC12V
+ 12 V
95
DC12V
+ 12 V
97
DC12V
+ 12 V
99
GND
Ground
No.
Name
Description
CGP114/USBC_INT
USBC_INT
CEXT_RESET
EXT_RESET
CGP13/PCMCIA-CD#
PCMCIA-CD
CRESET-OUT
RESET-OUT
10
CGP49/nPWE
nPWE
12
CGP54/nSMSC-INT1
nSMSC-INT1
14
CGP48/nPOE
nPOE
16
CGP53/nSMSC-INT2
nSMSC-INT2
18
CGP79/PSKTSEL
PSKTSEL
20
CGP14/TL16C554_INTA
TL16C554_INTA
22
CGP102/nPCE1
nPCE1
24
CGP19/TL16C554_INTB
TL16C554_INTB
26
CGP57/nIOIS16
nIOIS16
28
CGP22/TL16C554_INTC
TL16C554_INTC
30
CGP56/nPWAIT
nPWAIT
32
CGP85/TL16C554_INTD
TL16C554_INTD
428
X-Hyper270-TKU Manual
No.
Name
Description
34
CGP55/nPREG
nPREG
36
CGP32/MMCLK
MMCLK
38
CGP78/nPCE2
nPCE2
40
CGP90/SD_WP
SD_WP
42
CGP51/nPIOIW
nPIOIW
44
CGP97/SD_CD
SD_CD
46
CGP50/nPIOIR
nPIOIR
48
CGP92/MSBS
MSBS
50
CGP111/MMCCS1
MMCCS1
52
CGP112/MMCMD
MMCMD
54
CGP110/MMCCS0
MMCCS0
56
GND
Ground
58
GND
Ground
60
GND
Ground
62
GND
Ground
64
GND
Ground
66
GND
Ground
68
GND
Ground
70
GND
Ground
72
GND
Ground
74
DC3P3V
+ 3.3 V
76
DC3P3V
+ 3.3 V
78
GND
Ground
80
GND
Ground
82
GND
Ground
84
DC5V
+5V
86
DC5V
+5V
88
GND
Ground
90
GND
Ground
92
GND
Ground
94
DC12V
+ 12 V
96
DC12V
+ 12 V
98
DC12V
+ 12 V
429
X-Hyper270-TKU Manual
100
GND
Ground
430