You are on page 1of 18

n tt nghip

trang 26

CHNG 4: GII THIU BOARD KM9260


4.1 GII THIU PHN CNG BOARD KM9260
KM9260 l board nhng trn nn vi iu khin ARM9. Board c kch thc nh
gn v c tnh nng mnh, s dng dng vi iu khin AT91SAM9 ca ATMEL
cho php h thng chy vi cc h iu hnh nhng Linux, WinCE v C/OS-II
RTOS. Hoc c th chy chng trnh ng dng standalone nh cc h thng vi
iu khin thng thng.
Cc chc nng chnh ca board km9260:

B x l ARM 9260EJ-S, 8Kbyte b nh m lnh, 8Kbyte b


nh m d liu.

Bus giao tip b nh ngoi 32 bit h tr 4 bank


SDRAM/LPSDR, static memory, CompactFlash, NAND Flash vi EEC.

4Kbyte b nh SRAM ni, 32 Kbyte b nh ROM ni cha


bootstrap.

Ma trn bus AHB 6 lp 32 bit vi tc 90Mhz.

22 knh DMA.

Boot t NAND Flash, SDCard, DataFlash, Serial Data Flash.

4 b ADC 10 bit.b USART, 2 UART.

10/100 mbps ethernet.

Giao tip SPI.

Chng 4 : Gii thiu board KM9260

n tt nghip
4.2 S KHI CA BOARD

HNH 4.1 : S khi ca board KM9260.


T chc phn cng trong s khi ca board KM9260.

Chng 4 : Gii thiu board KM9260

trang 27

n tt nghip

trang 28

SRAM

HNH 4.2 : S khi SRAM.


B nh chnh s dng SDRAM bus 133Mhz, SDRAM c cu hnh vi bus
data 16 bit.
Bng sau trnh by thng s memory map ca SDRAM trong h thng.
BNG 4.1 memory map ca SDRAM.

Serial Dataflash

HNH 4.3 : S khi serial dataflash.


Board s dng chp nh serial dataflash kt ni qua ng SPI0 (slot CS1).

Chng 4 : Gii thiu board KM9260

n tt nghip

trang 29

AT91Bootstrap, cc bin mi trng (U-Boots Environment Variables), U-Boot


c lu tr trong serial dataflash. Cc phn vng cha cc bootloader c th
hin bi bng sau:
BNG 4.2 : Phn vng memory map ca NAND Flash.

Nand Flash

HNH 4.4 :S khi Nand flash.


NAND Flash (256MB) dng cha nhn Linux v root file system. 3MB vng
nh u tin dnh cho vic cha kernel Linux, phn vng cn li cha root file
system ca h thng.

Chng 4 : Gii thiu board KM9260

n tt nghip

trang 30

MicroSD Connector

HNH 4.5 : MicroSD Connector.


Do c h tr microSD, c th thay th vai tr ca NAND Flash cho vic lu tr
kernel Linux v rootfs. Phn vng u tin c nh dng theo nh dng FAT,
phn vng th 2 c nh dng theo ext2 hoc ext3 dng cha rootfs. load
kernel Linux t MicroSD vo SDRAM i hi U-Boot phi h tr mmc sub system
command set. MicroSD thng c dng boot Linux c roofs dung lng ln,
v d nh Debian distribution.
USB Host Connector
USB host full speed, tng t MicroSD, h thng c th boot Linux thng qua
a di ng USB. Ngoi ra ta c th nng cp chc nng sound cho KM9260 bng
cch gn thm thit b HID sound adapter.

HNH 4.6 :USB Host

Chng 4 : Gii thiu board KM9260

n tt nghip

trang 31

USB Device Connector


Vi USB device connector, ta c th bin board nhng thnh cc thit b USB,
v d nh lp HID (keyboard & mouse), lp CDC (serial communication), lp
mng RDN hoc lp mass storage Tt c cc thit b ny nm trong phn lp
USB gadget trong trnh iu khin gc ca Linux. Ngoi ra MCU AT91SAM9260
cho php ta truy xut n tt c cc vng nh trong h thng thng qua chng
trnh ng dng trn my tnh SAMBA, khi dy cable USB ny c dng n.

Hnh 4.7: USB Device.


Serial DBGU (BD9 MALE)
AT91SAM9260 c tch hp cng RS232 h tr cho knh debug, knh giao tip
debug. KM9260 dng DBGU ny cho vic hin th, xut nhp vi console chnh
ca Linux.
Ethernet Connector
AT91SAM9260 c tch hp b iu khin MAC (base 10/100 full-duplex), kt
hp vi chp Fast Ethernet PHY DM9161AEP mang li cho h thng tnh nng
mnh m v cc ng dng mng. KM9260 c th s dng nh h thng webserver
nhng, s dng trong h thng thu thp o lng, iu khin t xa

Chng 4 : Gii thiu board KM9260

n tt nghip

trang 32

HNH 4.8 : Hnh nh thc t ca board KM9260


4.3 CH THCH C BIT TRN KT KM9260
Bng 4.3: Cc ch thch c bit trn kt KM9260.
Mc nh
J7

Thng m

S1
S2
S3

Thng m
Thng m
Thng m

ng
Boot t embedded rom

S5

Thng ng Chn CS data flash

S6

Thng ng Chn CS nand flash

J13

Ty chn

S7
S8

Ty chn
Ty chn

M
Boot t
EBI_NCS0

B chn CS data
flash
B chn CS nand
flash

1-3, 2-4: chn cng com debug


5-3, 6-4: chn cng com user
Cp ngun t adapter 5V
Cp ngun t cng USB-B

Ch : Ch c ng mt trong hai S7, S8 khi cp ngun.

Chng 4 : Gii thiu board KM9260

n tt nghip

trang 33

4.4 T CHC PHN MM TRONG H THNG NHNG KM9260

HNH 4.9 : T chc phn mm trong h thng nhng KM9260.


4.4.1 Bootstrap
BootStrap l mt chng trnh khi ng c np xung trc tin cho cc vi
iu khin dng ARM 9 ca Atmel.
BootStrap l mt module ng dng, n c s dng thc hin cc chc
nng sau:

Khi to phn cng nh tn s xung clock, thit lp cc PIO


(programmable Input Output).

Thit lp cc ngoi vi nh PIO, PCM, SDRAM,..

Thc hin cc thc ton truy xut vt l cc ngoi vi nh


DataFlash, NANDFlash, Paralell Flash..

iu khin cc tp tin h thng nh JFFS2, FAT..

Thc thi cc ng dng nh ELF, Linux,


BootStrap c th c t trong vng bootLoader, c th l c t trong vng
DataFlash. BootStrap c chp ln RAM ni bi trnh SAM-BA Boot.
BootLoader thc hin khi to vi x l (PLL, PIO, SDRAMC, SPI).
BootStrap thc hin load U-boot t DataFlash ln SRAM v tr n thc hin
chng trnh U-Boot.

Chng 4 : Gii thiu board KM9260

n tt nghip

trang 34

4.4.2 U-boot
U-boot (universal bootLoader) l mt tp m ngun m, h tr bootLoader cho
nhiu kin trc nn khc nhau. U-boot h tr cc lnh tng tc, cc bin mi
trng, cc lnh thc thi v boot h thng t cc thit b bn ngoi. U-boot h tr
nhiu lai CPU v cc h CPU thng dng hin nay. U-boot h tr cc board pht
trin trn nn cc vi x l thng dng hin nay.
U-boot thc hin cu hnh cc khi phn cng trong mt board v t chng vo
trng thi hot ng. N c th ti v thc th h iu hnh mt cch t ng (autoboot) hoc ngc li n cho php ngi dng khi ng h iu hnh thng qua cc
lnh giao tip m u-boot h tr. Tp lnh chun ca u-boot cung cp kh nng cho
php ngi s dng thao tc trn b nh, mng v nhiu thao tc khc khi h thng
khi ng.
Thng thng u-boot c t trong phn vng u tin ca Flash, bt u t
sector hay block no c nh ngha bi vi x l. U-boot khi to CPU v mt vi
phn cng trn board, to mt vi cu trc d liu cho kernel s dng v ti n
ln phn vng u tin ca b nh.
Khi quyn iu khin c chuyn n cho u-boot, n s khi ta cc ngt v
cc thit b ngoi vi. Sau u-boot ch nhp cc lnh t ngi dng. Nu u-boot
nhn c lnh boot nh ca kernel hoc nu n c s dng boot kernel trc
tip th u-boot s gii nn nh ca kernel, ti kernel ln b nh v chuyn iu khin
n kernel. Kernel s thc thi m khng c s tng tc vi u-boot.
U-boot cung cp cc hm chun hiu chnh qa trnh khi ng v khi to
kernel. Thng th n cung cp cc thao tc di dng cc lnh (command-line).
Cu trc th mc ca U-boot.

HNH 4.10 : Cu trc th mc U-boot


4.4.3 Kernel
Nhn c v nh tri tim ca h iu hnh . V bn cht nhn cng l mt
chng trnh phn mm my tnh nhng cp h thng c vai tr iu khin
cc thnh phn ca h thng my tnh , qun l ti nguyn ca h thng , cung cp
mt s dch v v phn mm c bn cho my tnh , cung cp mi trng thc thi
Chng 4 : Gii thiu board KM9260

n tt nghip

trang 35

cho cc ng dng khc nhau chy trn h thng . Nhn chnh l cu ni gia phn
cng vt l ca my tnh vi v chng trnh ng dng .
Cc dch v ca nhn c chy trong ch c quyn ca b x l . Tri li,
cc chng trnh ng dng c chy trong ch ngi dng hon ton cch ly
vi h iu hnh . Khi ng dng chy trong ch ngi dng gi ti mt dch v
h thng thng qua mt giao din , b x l chn li li gi v thi hnh dch v mc
nhn h iu hnh. Thng thng vic thi thc thi mc nhn n gin v nhanh
hn bi v n khng b chuyn gia ch c quyn v khng c quyn .
Nhn Linux l phn mm t do c phn phi theo Giy php s hu cng
cng phn mm GNU GPL ( General Public License ) .
Nhn linux c nhiu hng phn phi ng gi v pht trin thnh nhiu bn
phn phi (Distribution) khc nhau nh Ubuntu, Fedora, OpenSUSE, Redhat....mi
bn phn phi u c ng gi vi cc phn mm tin ch hng ti nhiu th
trng khc nhau
4.4.4 File system
Trong h iu hnh Linux, nhng tp tin m ngi s dng nhn thy c u
theo cu trc cy th mc, vi root nm trn cng. T im ny cc th mc v
tp tin mi mc nhnh ra lan dn xung pha di. Th mc cao nht, c k hiu
bng vch /, c gi l root directory (th mc gc).
Vi ngi s dng bnh thng th cy th mc ny l mt di nhng tp tin v
th mc ni lin nhau. Trn thc t, nhiu th mc trong cy th mc ny nm
nhiu v tr vt l khc nhau, trn cc partition khc nhau, v thm ch trn cc a
khc nhau. Khi mt trong cc partition y c kt ni vi cu trc cy ti mt th
mc gi l mount point (im kt ni, im lp rp), th mount point ny v tt c
cc th mc cp di c gi l file system.
H iu hnh Linux hnh thnh t nhiu th mc v tp tin khc nhau. Cc th
mc c th lp thnh nhiu file system khc nhau, ty vo cch ci t bn chn.
Nhn chung, a phn h iu hnh nm hai file system: root file system (file
system gc) c k hiu l /, v mt file system khc c kt ni theo /usr (c l
user).
Khi dng lnh cd / chuyn v th mc gc v gi hin th danh sch th mc,
bn s thy nhiu th muc. Nhng th mc ny to thnh ni dung ca root file
system, ng thi cung cp mount point cho cc file system khc. Cc th mc
c lit k chi tit ti chng 2.

Chng 4 : Gii thiu board KM9260

n tt nghip

trang 36

Hnh 4.11 : Cu trc file system


4.5 CI T CHNG TRNH CHO H THNG
Hng dn Ci t SAMBA
Vo th mc DVD\SW\SAMBA trn a chn Install AT91-ISP v1.13.exe
ci t.
Sau khi ci t xong, chp th mc ATMEL Corporation chp
ln th mc ci t mc nh: C:\Program Files\
Qu trnh ci t SAMBA thnh cng.
Np Bootloader vo board bng SAM-BA.
Gm cc bc sau:
1. M jumper S7 v S8 sau gn cp ngun cho board (USB-B hoc 5VDC)
2. Tho Jumper S5 trn board AT91SAM9 (gn IC AT45DB041D-SU).
3. ng S8 cp ngun cho board bng USB-B hoc S7 nu cp ngun 5VDC
ngoi.
4. Gn cable USB-B kt ni board AT91SAM9 v my vi tnh (nu dng ngun
5VDC) Nu kt ni ln u cn ci driver cho chip AT91 ti th mc phn ci
SAMBA.
5. Sau khi my tnh nhn dng c thit b USB ta ng Jumper S5 vo board
AT91SAM9. Nu nhn thit b tt s hin driver nh sau

Chng 4 : Gii thiu board KM9260

n tt nghip

trang 37

Hnh 4.12 : My windows kt ni KM9260 qua Samba.


6. Khi ng chng trnh SAMBA trn my vi tnh v thc hin cc bc
sau:
Bc 1: Chn tn board v kiu kt ni n nt Connect.

Hnh 4.13 : Giao din chn kt ni Samba.


Ti scripts chn :Send Boot File:
Ti Address chn:0x0 a ch offset ca Bootstrap
Nhn nt Excute SW s browse ti bootstrap.bin chn v nhn nt open th
bootstrap code s t ng np vo dataflash.

HNH 4.14 : Np bootstrap


Chng 4 : Gii thiu board KM9260

n tt nghip

trang 38

Np U-Boot
Ti script chn Enable NandFlash
Ti Address chn 0x20000 a ch offset ca U-Boot trn NandFlash
Ti Send file name : chn ng dn ti U-boot.bin

HNH 4.15 : Np U-boot

Chng 4 : Gii thiu board KM9260

n tt nghip

trang 39

Np kernel
Ti script chn: Enable NandFlash
Ti Address chn :0x200000 a ch offset ca Kernel trn NandFlash
Ti send file name : chn ng dn ti Kernel :uImage
Nhn nt send file

HNH 4.16 : Np kernel

Chng 4 : Gii thiu board KM9260

n tt nghip

trang 40

Np roots
Ti script chn: Enable NandFlash
Ti Address chn 0x500000 a ch offset ca Rootfs trn NandFlash
Ti Send file name : chn ng dn ti roort:*.jffs2,*.*
Nhn nt Send file

HNH 4.17 : Np roots


Thit lp bin mi trng cho U-boot ln u s dng
S dng lnh printenv xem tt c cc bin mi trng c thit lp trong
U-boot. Cc lnh c trnh by vi nh dng bng font in m, mu d
phn bit.
U-Boot> printenv
Thit lp bin mi trng cho Uboot trong ln u s dng.
U-Boot> setenv bootcmd nand read 0x20000000 0x20000 0x200000;bootm
0x20000000
U-Boot> setenv bootargs root=/dev/mtdblock5 rw rootfstype=jffs2
U-Boot> setenv ipaddr 192.168.1.35
U-Boot> setenv serverip 192.168.1.34
Ch : S serverip ny phi trng vi ip ca my PC cha file cn download .
U-Boot> setenv ethaddr 00:11:22:33:44:55
U-Boot> setenv netmask 255.255.255.0
Chng 4 : Gii thiu board KM9260

n tt nghip

trang 41

Lu li bng lnh
U-Boot> save
Mc ch: bootup t ng load kernel v rootfs.
4.6 XY DNG V PHT TRIN H THNG
4.6.1 Bootstrap
Bootstrap do nh sn xut h tr, download bootstrap.bin ti trang ca
atmel.com .
4.6.2 U-boot
Uboot c nhiu phin bn, tuy nhin t phin bn 1.3.4 tr i th mi h tr
board AT91SAM9260, y ta doawload u-boot phin bn 2009.
Sau khi download u-boot v, chp n vo mt th mc no trong my tnh
ci h iu hnh linux.
Vic chp vo my tnh linux c th c thc hin thng qua nhiu cch, v d
bn c th ti trc tip trn my tnh Linux c ni mng internet, hoc t my tnh
Windows XP sau chp sang my tnh Linux thng qua dch v truyn file ca
SSH server client, hoc c th chp bng cc thit b lu tr nh USB.
Bin dch uboot cho arm khng s dng trnh bin dch gcc c sn trn my tnh
ci linux. Trc ht bn cn ci gi phn mm bin dch arm-linux-gcc.
Gi phn mm bin dch bn c th ti v t trn mng. Sau khi ti ta c file
arm-2009q3-67-arm-none-linux-gnueabi-.tar v v gii nn vo th mc gc ca
my tnh.
Trc khi bin dch, cn thit lp bin mi trng v ng dn cho trnh bin
dch, v d nh sau:
$export PATH=$PATH:/home/arm/project/compile/arm-2009q3/bin/
Trong th mc PATH=/home/arm/project/compile/arm-2009q3/bin/ cha
cc trnh bin dch nh arm-linux-gcc.
Bin dch uboot cho h thng
Make CROSS_COMPILE=arm-none-linux-gnueabi- distclean: Xa
ht cc cu hnh bin dch trc .
Make at91sam9260ek_nandflash_config: Khai bo bin dch uboot cho
h thng board at91sam9260ek.
Make CROSS_COMPPILE= arm-none-linux-gnueabiNu qu trnh bin dch thnh cng trong th mc u-boot-2009 s tn ti file uboot.bin.

Chng 4 : Gii thiu board KM9260

n tt nghip

trang 42

Hnh 4.18: My linux sau khi bin dch xong u-boot.


4.7 BIN DCH LINUX KERNEL.
H thng nhng s dng b x l ARM9 ca Atmel s dng h iu hnh ca
linux c phin bn t 2.6.27. Bin dch nhn h iu hnh cho h thng l qu trnh
thay i cu hnh nhn h iu hnh Linux sao cho tng thch vi h thng, qu
trnh ny thng thng mt phn c thc hin bi cc nh sn xut, mt phn
c thc hin bi cc nh pht trin h thng. y ta xi phin bn Linux-2.6.30,
ti phin bn Linux-2.6.30 v my tnh di dng m ngun linux-2.6.30.tar.bz2.
Chp v gii nn m ngun Linux vo my tnh Linux thc hin bin dch.
Trc khi bin dch, dowload trnh bin dch cross compile v ci vo my tnh
Linux.
Phn mm arm-2011q3-67-arm-none-linux-gnueabi-i686-pc-linuxgnu.tar.bz2 cha cc trnh bin dch cn thit phc v cho qu trnh bin dch nhn
h iu hnh Linux. Chp v v gii nn vo my tnh Linux.
Tin hnh thm ng dn n trnh bin dch nh sau:
To bin mi trng nh sau:
$export PATH=$PATH:/home/project/compiler/arm-2011q3/bin/ l ng
dn ti compiler
Sau khi chn xong tin hnh bin dch uImage.
Make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage
Sau khi bin dch thnh cng,tp tin nh ca nhn h iu hnh c to ra
trong th mc /arch/arm/boot.

Chng 4 : Gii thiu board KM9260

n tt nghip

HNH 4.19 :My linux sau khi bin dch xong uImage

Chng 4 : Gii thiu board KM9260

trang 43

You might also like