[Laptrinh.vn]-Hệ điều hành nhúng uClinux

Embed Size (px)

Citation preview

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    1/56

    Mc lc

    M u ...........................................................................2Phn A : L thuyt chung ............................................3Chng 1 . H iu hnh nhng uClinux ...................3

    Nhn h iu hnh Linux ...........................................................................................3Lch s nhn h iu hnh Linux ...........................................................................3T chc ca nhn h iu hnh Linux ...................................................................4T chc th mc ...................................................................................................6

    H iu hnh nhng uClinux ......................................................................................7

    Qu trnh pht trin h iu hnh nhng uClinux ...................................................8Kin trc h iu hnh uClinux ..............................................................................9Cc th vin s dng pht trin h iu hnh uClinux ......................................9Driver ca cc ngoi vi .......................................................................................10M ngun h iu hnh uClinux ..........................................................................11

    Chng 2 . Vi iu khin S3C44B0X v kit phttrin .............................................................................13

    Vi iu khin S3C44B0X ........................................................................................13Cc c im ca vi iu S3C44B0X ..................................................................13

    S chn ...........................................................................................................18S khi ............................................................................................................19Chc nng mt s khi chnh ...............................................................................20

    Kit pht trin HT44B0 .............................................................................................35

    Phn B : Thc nghim ................................................38Chng 3 . Bin dch m ngun uClinux v xy

    dng ng dng ............................................................38Bin dch m ngun h iu hnh uClinux ..............................................................38

    Mi trng v cc cng c cn bin dch ........................................................38Lu qu trnh bin dch v cc bc tin hnh ................................................38

    Nhng h iu hnh vo vi iu khin ....................................................................44Thit lp giao tip gia kit v my tnh ................................................................44a file nh h iu hnh vo vi iu khin ........................................................46

    Xy dng ng dng .................................................................................................51

    Kt lun .......................................................................55Cc ti liu tham kho ...............................................56

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    2/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    M u

    Trong nhng thp nin gn y h thng nhng c nghin cu mnh m v

    c rt nhiu ng dng trong thc t . Cc sn phm ng dng h thng nhng rt adng t h thng dn ng trong tn la , cc robot thng mnh n cc sn phm

    tiu dng nh my git , my in , cc thit b gii tr nh in thoi , my nghe nhc ...

    H thng nhng pht trin da trn s pht trin phn cng v phn mm . Phn

    cng phi mnh , y tnh nng cho h thng cn phn mm phi c pht trin

    khai thc c ti nguyn phn cng ng thi phi p ng c cc c tnh ca h

    thng nhng l tnh thi gian thc , iu khin chnh xc , n nh .

    ng dng h iu hnh m ngun m uClinux cho cc h thng nhng dng viiu khin c nhn vi x l 32 bit gip cho qu trnh pht trin phn mm cho h

    thng nhanh hn chi ph thp hn v khai thc c sc mnh ca ti nguyn phn

    cng .

    Lng Th Oanh 2

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    3/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Phn A : L thuyt chung

    Chng 1 . H iu hnh nhng uClinux

    Nhn h iu hnh Linux

    Lch s nhn h iu hnh Linux

    Linux l mt nhn h iu hnh c pht trin bi Linus Torvalds vo nm

    1991 trn c s ci tin phin bn UNIX c tn Minix do gio s Andrew

    S.Tanenbaum xy dng v ph bin . Sau Linus Torvalds cng b m ngun ca

    mnh cho mi ngi v mong mun mi ngi c th ng gp kin , pht hin liv pht trin n ngy cng tt hn . V cng t thi im , theo t tng GNU rt

    nhiu chuyn gia trn ton th gii tham gia vo qu trnh pht trin Linux v v

    vy Linux ngy cng pht trin , mnh m , n nh , c tin cy cao v p ng

    c nhu cu ca ngi dng .

    Mt s mc lch s quan trng trong qu trnh pht trin nhn h iu hnh

    Linux :

    Sau ba nm nhn Linux ra i , n ngy 14-3-1994, h iu hnh Linux phinbn 1.0 c ph bin . Thnh cng ln nht ca Linux 1.0 l n h tr giao thc

    mng TCP/IP chun UNIX , snh vi giao thc socket BSD- tng thch cho lp trnh

    mng . Trnh iu khin thit b c b sung chy IP trn mt mng Ethernet

    hoc trn tuyn n hoc qua modem. H thng file trong Linux 1.0 vt xa h

    thng file ca Minix thng thng , ngoi ra h tr iu khin SCSI truy nhp a

    tc cao. iu khin b nh o c m rng h tr iu khin trang cho cc

    file swap v nh x b nh ca file c quyn .

    Vo thng 3-1995 , nhn 1.2 c ph bin. iu ng k ca Linux 1.2 so vi

    Linux 1.0 ch n h tr mt phm vi rng v phong ph phn cng , bao gm c

    kin trc tuyn phn cng PCI mi . Nhn Linux 1.2 l nhn kt thc dng nhn Linux

    ch h tr PC .

    Cch nh ch s cc dng nhn (h iu hnh) Linux : H thng ch s c

    chia thnh mt s mc, chng hn hai mc nh 2.4 hoc ba mc nh 2.2.5. Trong cch

    nh ch s nh vy , quy c rng vi cc ch s t mc th hai tr i , nu l s chn

    Lng Th Oanh 3

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    4/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    th dng nhn kh n nh v tng i hon thin , cn nu l s l th dng

    nhn vn ang c pht trin tip .

    Thng 6-1996 , nhn Linux 2.0 c ph bin . C hai c trng ni bt ca

    Linux 2.0 l h tr kin trc phc hp , bao gm c cng Alpha 64-bit y , v htr kin trc a b x l . Phn phi nhn Linux 2.0 cng thi hnh c trn b x l

    Motorola 68000 v kin trc SPARC ca SUN .

    Ti nm 2000 , nhn Linux 2.4 c ph bin . Mt trong c im c quan

    tm ca nhn ny l n h tr m k t Unicode 32 bt , rt thun li cho vic xy

    dng cc gii php ton din v trit i vi vn ngn ng t nhin trn phm vi

    ton th gii .

    Nhn Linux l phn mm t do c phn phi theo Giy php s hu cngcng phn mm GNU GPL ( General Public License ) .

    Vt ly phc ca nhn Linux l ch chim cnh ct - Tux .

    Hnh 1: Linus Torvalds v vt ly phc ch chim cnh ct

    T chc ca nhn h iu hnh Linux

    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 c 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 .

    Lng Th Oanh 4

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    5/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    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 ca Linux gm nm tiu h thng :

    - B phn thi gian cho tin trnh ( Process Schedule SCHED ) :

    Hot ng ca my tnh , ti mt thi im ch c mt lnh c thc thi . Tuy

    nhin cc h iu hnh a nhim nh Windows, Linux u cho php nhiu chng

    trnh chy cng mt lc . Cc h iu hnh a nhim c th lm c nh vy bngcch chuyn quyn thc thi qua li gia cc chng trnh tht nhanh lm cho ngi

    dng c cm gic cc chng trnh chy cng lc vi nhau . Vi d ngi dng c th

    va son tho vn bn va c th nghe . Trong h iu hnh a nhim th b phn thi

    gian tin trnh m nhim nhim v ny .

    SCHED c chia thnh bn khi :

    Khi lut nh thi (scheduling policy): chu trch nhim phn b xem

    tin trnh ( process ) no c quyn truy xut CPU. H thng hot ng cthng sut hay khng nh vo b lut ny, trnh trng hp mt tin trnh li

    dng s h ca iu lut m chim thi gian h thng qu nhiu lm cc tin

    trnh khc b ng bng (freeze) .

    Khi ph thuc kin trc ( architeture-specific ): khi ny gm cc m

    assembly ph thuc vo mi loi CPU dng tm ngng hot ng ca tin

    trnh .

    Khi c lp kin trc (architeture-independent): Khi gi cc hm t

    khi ph thuc kin trc v khi lut chuyn gia cc tin trnh ng thi n

    cn gi cc hm MM thit lp b nh o cho cc tin trnh c hi phc

    li . Khi ph thuc kin trc s khc nhau mi loi CPU (386, apha, v.v)

    nhng khi c lp kin trc th khng i .

    Khi hm gi h thng ( system call ) . Gm cc hm m ngi dng c

    th dng tng tc vi SCHED. Khi lp trnh Linux v Unix s quen vi cc

    hm gi h thng ny.

    Lng Th Oanh 5

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    6/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    - B qun l b nh ( Memory Manager - MM) :

    B nh qui c ca cc my tnh ch c 640KB . Do BIOS ch qun l c ti

    FFFF , vng nh cao t A0000 tr ln dng nh x BIOS , video card memory v

    cc thit b ngoi vi khc , vng nh cn li t 9FFFF tr xung tng ng vi640KB. Trong ch bo v ( protect mode ) ca CPU 32 bit a ra khi nim b

    nh o ( Virtual Memory ) . Lc ny mi tin trnh c cp ti 4GB b nh o .

    Nhng nhn h iu hnh s to ra mt bng m t tng trang ca b nh o vi b

    nh vt l . B nh vt l by gi bao gm c b nh RAM v vng nh hon v trn

    a cng .

    - H thng file o :

    H thng ny khng ch cung cp truy sut n h thng file trn a cng mcn tt c cc ngoi vi . Trong Linux tt c cc tp tin , th mc v cc thit b u

    c coi nh l file . V d nh my in , cng ni tip , cc a u c truy cp

    nh l file . Linux cng cung cp cc thuc tnh truy cp cho file v th mc , cc

    thuc tnh c th c thit lp nh cho php c , cho php ghi , cho php thc thi .

    Linux thit lp ch bo v i vi cc file h thng v hn ch quyn truy cp i

    vi cc thit b .

    - Giao din mng ( Network Interface - NET) :

    Trong nhn Linux dng sn giao thc TCP/UDP , IP v Ethernet .

    - B truyn thong ni b (Inter-process communication IPC) :

    Mt tin trnh trong Linux giao tip vi cc tin trnh khc v vi nhn h iu

    hnh thng qua mt c ch c gi l b truyn thng ni b - IPC . N cho php cc

    tin trnh gi hoc nhn cc thng ip t mt tin trnh khc , s dng chung vng

    nh chia s v ng b vi cc tin trnh khc .

    T chc th mcCc file trong h thng Linux c t theo mt trt t trong cc th mc . C

    mt th mc chnh trong cha cc th mc con v cc file .

    Th mc ./bin : Cha cc file thc thi dng nh phn v cc chng trnh khi

    dng ca h thng c .

    Th mc ./boot : Th mc ny cha file nh ( image file ) ca nhn dng cho

    qu trnh khi ng .

    Lng Th Oanh 6

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    7/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Th mc ./dev : Th mc ny cha cc file thit b .

    Th mc ./etc : Th mc ny cha cc file cu hnh ton cc ca h thng .

    Th mc ./home : Th mc ny cha cc th mc con i din cho mi ngi

    dng khi ng nhp . y l ni lm vic thng xuyn ca ngi dng . Khi ngiqun tr to ti khon cho mt ngi dng th s cp cho ngi dng mt th mc

    cng tn vi ti khon ngi dng nm trong th mc /home . Ngi dng cho mi

    quyn thao tc trn th mc ca mnh v khng nh hng n ngi dng khc .

    Th mc ./lib : Th mc ny cha cc file th vin .so hoc .a . Cc th vin C

    v lien kt ng cn cho chng trnh chy v cho ton h thng .

    Th mc ./lost+found: Khi chy chng trnhfsck, nu tm thy mt chui d

    liu no tht lc trn a cng v khng lien quan n cc tp tin , Linux s gom chng

    li v t trong th mc ny nu cn ngi dng c th c v gi li d liu b mt

    .

    Th mc ./mnt: Th mc ny cha cc kt gn ( mount ) tm thi n cc a

    hoc thit b khc .

    Th mc ./sbin : Th mc ny cha cc file thc thi ca h thng dnh cho

    ngi qun tr h thng .

    Th mc ./tmp : th mc ny dng cha cc file tm m chng trnh to ra

    lc chy . Cc file ny s c h thng dn dp khi cc chng trnh kt thc .

    Th mc ./usr: Th mc ny cha nhiu th mc con nh/usr/bin , /usr/local

    v y cng l mt trong nhng th mc con quan trng ca h thng , bn trong

    th mc con ny (/usr/local) cng cha y cc th mc con tng t ngoi th

    mc gc nh sbin, lib, bin Nu nng cp h thng th cc chng trnh ngi dng

    ci t trong th mc /usr/local vn gi nguyn v khng s cc chng trnh b mt

    mt.

    Th mc ./var : Th mc ny cha cc file bin thin bt thng nh cc filed liu t nhin tng kch thc trong mt thi gian ngn sau li gim kch thc

    xung cn rt nh. in hnh l cc file dng lm hng i cha d liu cn a ra

    my in hoc cc hng i cha th in t .

    H iu hnh nhng uClinux

    H iu hnh uClinux l mt phin bn h iu hnh s dng nhn Linux c

    thit k cho cc h thng nhng s dng b vi iu khin khng c n v qun l b

    Lng Th Oanh 7

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    8/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    nh . L mt phin bn h iu hnh s dng nhn Linux nn uClinux c kin trc ,

    cch thc hot ng ging nh h iu hnh Linux chy trn cc PC , phng php

    pht trin ng dng cng ging nh pht trin trn mi trng h iu hnh Linux .

    Do l mt h iu hnh m ngun m nn cc nh pht trin c th cu hnh h iu

    hnh theo mnh to ra mt h iu hnh ph hp vi h thng cn pht trin .

    Qu trnh pht trin h iu hnh nhng uClinux

    D n h iu hnh uClinux c bt u pht trin t nm 1997 , mc ch to

    ra h iu hnh ny l pht trin mt phin bn nhn h iu hnh Linux 2.0 nhng

    vo cc vi iu khin . N c Jeff Dionne , Kenneth Albanowski v nhm cc nh

    pht trin khc t vn l kh nng nhng Linux vo mng vi iu khin khng c

    n v qun l b nh , kh nng truyn thng gia mng vi cc h thng truynthng . Phin bn pht hnh u tin ca h iu hnh ny c pht hnh cng vi vi

    x l Motorola 68000 , vi x l ny da trn trn vi x l MC68328 DragonBall

    Intergrated Microprocessor n c trin khai trong b iu khin SCADA nm

    1997/98 . Phin bn ny c cng ng ngun m pht trin v mt phin bn

    khc c s dng cho Palm Pilot vo thng 2 nm 1998 .

    Trong h iu hnh uClinux c mt s thay i so vi h iu hnh Linux , th

    vin uC-libc c thit k thay cho th vin libc v glibc trong h iu hnh

    Linux . Mt ci tin khc c thc hin bi SnapGear l thm mt nh dng mi

    Binary Flat bFLT .

    H iu hnh uClinux l mt h iu hnh a nhim , cc chng trnh c th

    chy nhiu mc khc nhau ca h thng . H iu hnh cho php chy nhiu chng

    trnh cng mt lc , cho php chy cc ng dng a lung . Vi vic nhng h iu

    hnh uClinux vo cc vi iu khin gip cho cc nh pht trin to ra cc ng dng

    d dng v phng php lp trnh ging nh trn mi trng h iu hnh Linux . H

    iu hnh uClinux l mt h iu hnh thi gian thc , nh pht trin c th chy ccng dng a lung trn mi trng h iu hnh . iu ny l rt kh khi pht trin

    mt ng dng a lung chy trc tip trn vi iu khin khng c h iu hnh .

    Nhim v chnh khi pht trin h iu hnh uClinux l cu hnh nhn h iu

    hnh cho ph hp vi h thng cn pht trin , bin dch nhn , pht trin cc driver

    cho cc ngoi vi v sau pht trin cc ng dng cho h thng nhng chy trn mi

    trng h iu hnh .

    Lng Th Oanh 8

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    9/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Kin trc h iu hnh uClinux

    uClinux l mt h iu hnh dng ph bin cho cc h thng nhng Linux . H

    iu hnh ny c dng cho cc vi iu khin khng c n v qun l b nh . Ngy

    nay nhn h iu hnh ny h tr cho rt nhiu loi nn tng CPU khc nhau nhColdFire , Axis ETRAX , ARM , Atari 68k v rt nhiu loi khc na . Ging nh

    Linux , uClinux cng c h tr mng giao thc TCP/IP v cc giao thc giao tip

    mng khc . N cng h tr cc h thng file khc nhau v thm vo mt s dng file

    c bit c thit k cho cc h thng nhng .

    c th chy trn cc vi iu khin khng c n v qun l b nh th trong

    nhn ca h iu hnh c mt s thay i . Ton b m ngun v cc chc nng iu

    khin ca nhn h iu hnh ca b qun l b nh c loi b ra khi m ngun ca

    nhn h iu hnh . Mt s chc nng khc cng c iu chnh ph hp vi yu

    cu ca cc vi iu khin khng c n v qun l b nh .

    S thun li chnh ca nhn uClinux mang li so vi nhn Linux chy trn PC

    l kch thc ca nhn . Khi bin dch nhn , nh pht trin phi thit lp cc la chn

    bin dch nh h tr loi vi x l , h thng file v h tr cc thit b ca nhn lm sao

    kich thc ca nhn gim xung cn khong 400 KB . Tuy nhin vo lc khi ng

    , th nhn ca h iu hnh s yu cu khong khng gian b nh khong mt

    megabyte . Trong thc t kch thc b nh cn khong 2MB v cn cn cho cc ngdng . Vi h iu hnh uClinux , kch thc nh nhn h iu hnh c iu chnh

    khong t 500 ti 900 KB .

    Tng t nh m ngun h iu hnh Linux , m ngun ca h iu hnh

    uClinux cng c th ti min ph . M ngun h iu hnh ny cng thuc bn quyn

    GNU GPL , v ging nh cc tt c cc ng dng khc gi m ngun ca nhn cng

    bao gm y m ngun v cc th vin km theo . M ngun h iu hnh uClinux

    v cc cng c cn thit c tm ti website www.uclinux.org . T website ny cc nhpht trin c th ti gi phn phi c h iu hnh bao gm m ngun nhn h iu

    hnh uClinux , cc th vin , mt s ng dng c pht trin , nhng thng bo li

    v nhng li c sa .

    Cc th vin s dng pht trin h iu hnh uClinux

    uClinux s dng mt phn ca th vin C chun , l th vin c s phc

    v cho vic pht trin nhn uClinux . Th vin ny da trn th vin C Linux 8086

    Lng Th Oanh 9

    http://www.uclinux.org/http://www.uclinux.org/
  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    10/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    nhng c thu nh thnh mt th vin sc tch ph hp vi vi iu khin . Th

    vin uClibc c to ra h tr cho cc vi iu khin khng c n v qun l b

    nh nh Dragonball , ColdFire , ARM th vin vn h tr kin trc Linux chun .

    uClinux cng cung cp hon ton th vin Linux chun libC API .

    pht trin uClinux , nh pht trin c th la chn gia hai th vin libc l

    uC-libc v uClibc . Th vin uClibc ging nh th vin glibc pht trin cho Linux ,

    cc hm ca glibc cng c p dng cho uClibc . Ngoi ra gi m ngun ca uClinux

    cn c mt s th vin khc nh : libatm h tr truyn d liu khng ng b , libjpeg

    h tr cho nh dng nh nn JPEG , libm h tr cc th vin ton hc , libnet h tr

    cc API thao tc mng .

    Driver ca cc ngoi viDriver l cc trnh qun l , iu khin cc ngoi vi , cung cp cc hm cho

    php ngi dng c th iu khin ti cc thnh phn ngoi vi . Cc driver c

    chia lm ba lp :

    - Character driver : Lp ny c s dng rng ri t cc ng dng n gin

    n cc ng dng phc . V d ng dng n gin nh driver iu khin LED ,

    ng dng phc tp nh driver Firewire , driver USB . Character driver c v

    ghi d liu trc tip ti thit b m khng c b nh m .- Block driver : Lp ny giao tip ti h thng file v c s dng kt ni

    cc phn vng a , cc thit b vo file h thng . Khc vi character driver

    , block driver thng c ghi d liu vi thit b thng qua b m .

    - Network driver : Loi ny c nhiu cu trc khc nhau , h tr truyn thng ,

    s dng cc Port v cc Socket nh tuyn cc gi d liu .

    Thng thng chng trnh ng dng khng c truy cp , c hoc ghi trc

    tip ti cc thit b ngoi vi . Khi cn giao tip vi cc ngoi vi , chng trnh ngdng s s dng cc driver giao . Cc driver c th l mt module hoc l c lin

    kt tnh vo nhn . Driver c ng k vi nhn h iu hnh trong khi module khi

    to tin trnh . Driver s ng k cc thnh phn :

    - Bng Fops .

    - Ch s Major .

    - Device Class ( Block hoc Char ) .

    Lng Th Oanh 10

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    11/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    - Name tn driver .

    M ngun h iu hnh uClinux

    M ngun ca uClinux c th ti v t a ch www.uclinux.org , a ch ny

    cng cp cc phin bn khc nhau ca h iu hnh uClinux . Ton b m ngun

    uClinux c cha trong mt file nn . Khi c gi nn , gi m ngun c to ra

    thnh cu trc hnh cy gm cc th mc v tt c cc th mc ny u c cha

    trong th mc chnh l uClinux-dist . l m ngun ca h iu hnh uClinux v cn

    bin dch to ra mt file nh a vo h thng cn pht trin . File nn cha m

    ngun uClinux c t tn theo mt nh dng chun nh sau uClinux-dist-

    YYYYMMDD.tar.gz trong YYYY l nm , MM l thng , DD l ngy .

    Trong kha lun ny em s dng m ngun h iu hnh uClinux vi phin bnnhn Linux l linux-2.4 . Sau khi gii nn file m ngun , cc th mc c trong th

    mc chnh uClinux-dist gm cc th mc :

    - bin : cc tin ch to ra file flash.bin .

    - Documention : ti liu chi tit ca uClinux .

    - tools : cc cng c bin dch .

    - user: ng dng ca ngi dng v m ngun cc ng dng .

    - freeswan : cc chng trnh bo mt , m ha .- lib : Cha cc th vin cho ng dng .

    - linux-2.4.x : m ngun nhn uClinux .

    - uClibc : th vin C .

    - config: Cu hnh h thng file uClinux . vv

    - romfs : Cu trc h thng file ca ROM , bao gm ng dng , cc file

    thit b . Th mc ny c to ra khi bin dch .

    - vendor: Cha tn cc th mc ca cc loi vi x l m h iu hnh htr .

    - images : Sau khi bin dch , th mc ny cha nhn dng nh phn ca

    h iu hnh , file ROM , v file nh .

    Lng Th Oanh 11

    http://www.uclinux.org/http://www.uclinux.org/
  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    12/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 2 : cc thc mc con v cc file ca th mc uClinux-dist .

    Trong th mc ROM cha cc th mc con , cu trc th mc con ny chnh l

    cu trc th mc ca h iu hnh uClinux khi chy trn h thng nhng . V cu trc

    cng ging nh cu trc th mc c bn ca h iu hnh Linux chun . Cc th mc

    l : bin , dev , etc , home , lib , mnt , proc , tmp , usr , var ...

    Hnh 3 : cc th mc trong th mc romfs .

    Lng Th Oanh 12

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    13/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Chng 2 . Vi iu khin S3C44B0X v kit pht trin

    H thng nhng c xy dng trn c s lin kt gia phn mm v phncng . S pht trin phn mm phi da trn phn cng , phn mm s iu khin ton

    b hot ng ca phn cng nn vic tm hiu r phn cng cng rt quan trng cbit nm r phn cng s gip cho qu trnh cu hnh h iu hnh uClinux , vitdriver cho ngoi vi v xy dng cc ng dng chnh xc v nhanh hn .

    Vi iu khin S3C44B0X

    Ging nh cc dng vi iu khin khc nh 8051 , AVR , PIC , PSoC , v.v ,

    S3C44B0X c xy dng t mt CPU v c b sung thm cc ngoi vi nh b

    sung b nh , cc cng vo ra , cc b nh thi Nn vic tm hiu vi iu khinS3C44B0X cng ging nh tm hiu cc dng vi iu khin khc . Vic tm hiu s i

    vo chi tit cc khi cu thnh nn vi iu khin .

    S3C44B0X l mt vi iu khin ca hng Samsung , y l mt vi iu khin

    rt mnh , c nhiu c tnh u vit . Vi iu khin ny c dng trong cc h thng

    nh nhng i hi tnh ton phc tp v cn tc cao , cc ng dng thng s dng

    nh cc thit b cm tay , thit b cn x l tn hiu s v tt nhin vi iu khin ny

    cng c dng trong cc ng dng bnh thng nh cc loi vi iu khin khc .

    S3C44B0X l vi iu khin thuc dng vi iu khin s dng nhn vi x l

    ARM . Cng ging nh mt s hng khc nh Philipe , Atmel , hng Samsung s

    dng nhn vi x l ARM7TDMI c thit k bi hng Advanced RISC Machines

    ARMsau thit k mt s ngoi vi to nn mt chip vi iu khin . S3C44B0X

    c tch hp mt s khi chc nng c bit gip cho vic thit k h thng tr nn

    n gin hn , gim chi ph cho h thng .

    Cc c im ca vi iu S3C44B0X2.1.1.1. Kin trc :

    - c tch hp trong cc thit b cm tay , di ng v cc ng dng ni chung .

    - S dng nhn vi x l ARM7TDMI c thit k theo kin trc RISC 16/32-bit

    .

    - Tch hp ch g ri trn chip thng qua chun JTAG .

    Lng Th Oanh 13

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    14/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    - Tch hp b nhn bng phn cng 32x8 bit .

    - S dng kin trc bus SAMBA ( SAMSUNGs ARM CPU Embedded Micro-

    controller Bus Architecture ) lm gim cng sut tiu th ca vi iu khin .

    2.1.1.2. Qun l h thng :

    - H tr Little endian Byte thp c lu a ch thp , byte cao c lu a

    ch cao v Big endian Byte thp c lu a ch cao , byte cao c lu a

    ch thp .

    - Khng gian a ch l 32Mbytes trn mi bng . Tng cng l 256Mbytes .

    - H tr kh nng lp trnh 8/16/32- bit rng bus d liu cho mi bng .

    - C nh a ch bt u v kh trnh kch thc bng cho tt c 7 bng .

    - a ch bt u v kch thc ca mi bng c th lp trnh c .

    - C 8 bng nh :

    6 bng nh cho ROM , SRAM , v cc loi khc .

    2 bng nh cho ROM /SRAM/DRAM( Fast page , EDO ,

    Synchronous DRAM ).

    - H tr i tn hiu bn ngoi cho ti khi kt thc chu k bus .

    - H tr ch lm ti DRAM/SDRAM .

    - H tr ch a ch i xng / khng i xng ca DRAM .

    2.1.1.3. B nh cache v SRAM ni :

    - 0/4/8 Kbyte SRAM ni c s dng khi m b nh cache khng c dng .

    - Ni dng chuyn gia b nh chnh v b nh cache c duy tr thng qua b

    bo v .

    2.1.1.4. B qun l Clock v ngun :

    - Vi iu khin tiu th cng sut thp .

    Lng Th Oanh 14

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    15/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    - C b PLL tao tn hiu xung nhp iu khin h thng ln ti tc ti a

    66MHz .

    - Tn hiu clock c th c chn cho mi khi chc nng v c thit lp bng

    phn mm .

    - Cc ch : Normal ch hot ng bnh thng , slow ch hot ng

    tn s thp khng c PLL , idle- stop clock cho CPU , stop stop ton b tn

    hiu clock .

    - Khi c tn hiu ngt t ngt ngoi EINT[7:0] hoc ngt cnh bo ca b thi

    gian thc th vi iu khin tr v trng thi bnh thng .

    2.1.1.5. Ngt ca vi iu khin :

    - Vi iu khin c 30 ngun ngt ( watch-dog timer , 6 timer , 6 UART , 8 ngt

    ngoi , 4 DMA , 2 RTC ,1 ADC , 1 IIC ,1SIO ) .

    - H tr ngt ngoi theo mc v theo sn tn hiu .

    - Ch ngt theo sn v theo mc c th chn bng lp trnh .

    - H tr FIQ ( Fast Interrupt request ) khi c yu cu ngt ngay tc khc .

    2.1.1.6. Timer c iu ch rng xung :

    - 5 knh Timer iu ch rng xung 16 bit . 1 knh timer ni 16 bit c DMA

    hoc ngt .

    - H tr ngun clock bn ngoi .

    2.1.1.7. ng h thi gian thc RTC ( Real Time Clock ) :

    - ng h thi gian thc h tr : mini giy , giy , pht , gi , ngy , tun ,thng , nm .

    - Hot ng vi tn s 32.768 KHz .

    - C ngt cnh bo nh thc CPU .

    - Ngt timer tick .

    2.1.1.8. Cc IO Port :

    Lng Th Oanh 15

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    16/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    - 8 port ngt bn ngoi .

    - 71 port I/O .

    2.1.1.9. UART :

    - 2 knh UART c DMA v ngt.

    - H tr chun d liu truyn nhn 5 , 6 , 7 , 8 bit .

    - C bt tay bng phn cng .

    - Tc baud c th thit lp bng phn mm .

    - H tr giao tip hng ngoi IrDA 1.0 ( 115.2 kbps) .

    - Mi knh UART c 2 b nh m bn trong 32 byte FIFO cho Rx v Tx .

    2.1.1.10. B iu khin DMA Direct Memory Access :

    - 2 knh iu khin DMA cho mc ch chung khng chu s can thip bi CPU.

    - 2 knh iu khin DMA cho ngoi vi .

    - H tr DMA gia cc cng vo ra ti b nh v t b nh ti cc cng vo ra .

    DMA c th c yu bi phn mm , 4 khi chc nng bn trong ( UART ,SIO , Timer , IIS) v t cc chn bn ngoi .

    - Mc u tin th t gia cc DMA c th thit lp bng phn mm .

    - Tng tc truyn trn FPDRAM , EDODRAM v SDRAM .

    2.1.1.11. B bin i A/D :

    - 8 knh ADC .- Tc ly mu ti a 100KSPS/10-bit .

    2.1.1.12. Khi iu khin LCD :

    - H tr LCD en trng , mu v xm .

    - H tr qut lin tc v qut xem k .

    - H tr chc nng mn hnh o .

    Lng Th Oanh 16

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    17/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    - S dng b nh h thng lm b nh hin th .

    - S dng DMA truyn d .

    - Kch thc mn hnh c th chn bng chng trnh .

    - H tr mn hnh Gray 16 mc .

    - H tr 256 mu .

    2.1.1.13. Watchdog timer :

    - C Watchdog timer 16 bit .

    - C yu cu ngt hoc khi ng li h thng sau mt khong thi gian .

    2.1.1.14. Giao tip bus IIC :

    - 1 knh Multi- Master IIC-Bus c iu khin ngt .

    - Truyn ni tip , truyn d liu 8 bit theo mt chiu , hai chiu tc ln ti

    100 Kbit/s trong ch chun ( standard mode ) v 400Kbit/s trong ch

    nhanh ( fast mode) .

    2.1.1.15. Giao tip bus IIS :- Mt knh IIS-bus cho giao tip audio c iu khin DMA .

    - Truyn ni tip , 8/16 bit cho mi knh truyn d liu .

    - H tr nh dng d liu MSB .

    2.1.1.16. Truyn ni tip ng b SIO ( Synchronous Serial I/O ) :

    - Mt knh SIO c iu khin DMA v ngt .- Tc baud c th lp trnh c .

    - H tr iu khin truyn nhn d liu 8 bit trong SIO .

    2.1.1.17. Tn s hot ng ca h thng :

    Tn s ln ti 66 MHz .

    2.1.1.18. Di in p cp cho vi iu khin :

    Lng Th Oanh 17

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    18/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    - Cung cp cho nhn vi x l l 2.5V .

    - Cung cp cho cc cng vo ra l 3V 3.6V .

    S chn

    Hnh 4 : S chn ca vi iu khin S3C44B0X

    Lng Th Oanh 18

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    19/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    S khi

    Hnh 5: S khi vi iu khin S3C44B0X

    Lng Th Oanh 19

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    20/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Chc nng mt s khi chnh

    3.1.4.1. Li vi x l ARM7TDMI

    ng vai tr l b no ca S3C44B0X , li vi x l ARM7TDMI phi m bo

    cho chng trnh hot ng , phi c kh nng truy cp vo b nh , thc hin cc

    php tnh , iu khin ngoi vi v qun l ngt .

    Li vi x l ARM7TDMI l mt thnh vin trong h vi x l ARM .

    ARM7TDMI l dng vi x l 32 bit , rt mnh , tiu tn cng sut thp , h tr tp lp

    32 bit v 16 bit . Kin trc ca ARM7TDMI c da trn kin trc RISC , vi kin

    trc ny vic gii m m my n gin hn rt nhiu so vi kin trc CISC do lm

    tng tc thc thi lnh , p ng c tnh thi gian thc ca cc ngt . ARM7TDMI

    c p dng k thut x l ng ng trong vic x l lnh v c chia lm ba giai

    on : np lnh fetch , gii m lnh decode v thc thi lnh execution . Trong k

    thut x l ng ng , khi mt lnh ang c thc thi th lnh th hai ang c

    gii m lnh v lnh th ba bt u c np t b nh . Vi k thut ny th tc x

    l tng ln rt nhiu , trong mt chu k my CPU lm c nhiu vic . H tr ti

    4Gbytes khng gian a ch tuyn tnh , s dng kin trc Von Neumann np v lutr lnh v d liu , dng chung mt bus 32 bit cho c d liu v lnh . ARM7TDMI

    h tr nhiu loi d liu , do l dng vi x l 32 bit nn mt t ( word ) s tng

    ng vi 32 bit , cc loi d liu nh word 32 bit , halfword 16 bit , byte 8 bit .

    C b nhn phn cng 32x8 bit trong mt chu k . H tr g ri chng trnh trn

    chip thng qua chun JTAG .

    Lng Th Oanh 20

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    21/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 6 : S khi ca li vi x l ARM7TDMI.

    Lng Th Oanh 21

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    22/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 7 : Cc khi logic ca ARM7TDMI.

    Lng Th Oanh 22

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    23/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 8: S cc tn hiu vo ra ca ARM7TDMI .

    a. Cc ch hot ng :

    - User : Thc hin cc chng trnh bnh thng .- FIQ : H tr vic truyn d liu v cc knh x l .

    - IRQ : c s dng cho vic x l cc ngt mc ch chung .

    - Supervisor (svc) : y l ch bo v dng cho h iu hnh .

    - Abort mode (abt) : c nhp vo sau khi d liu hoc lnh c b qua

    tin np .

    - System ( sys ) : Ch c quyn ngi dng dng cho h iu hnh .

    - Undefined ( und ) : c nhp vo khi mt lnh khng xc nh c thc

    thi.

    Lng Th Oanh 23

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    24/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Cc ch ny c th c thit lp bng phn mm hoc thng qua cc ngt

    bn ngoi hoc thng qua qu trnh x l ngoi l . Phn ln cc chng trnh ng

    dng c thc thi trong ch User .Mi ch iu khin u c cc bng thanh

    ghi h tr tng tc bt cc ngoi l . Ch FIQ c nm bng thanh ghi h tr t

    r8_fiq n r12_fiq lm tng tc x l cc ngt .

    b. Cc thanh ghi :

    ARM7TDMI c tt c 37 thanh ghi , trong c 31 thanh ghi dng cho mc

    ch chung 32 bit , v 6 thanh ghi trng thi .

    Cc thanh ghi c s dng trong trng thi ARM ( The ARM-state registerset ):

    Trong trng thi ARM , 16 thanh ghi chung v mt hoc hai thanh ghi trngthi c th c s dng mi thi im . Trong ch c quyn , bng thanh ghi

    ng vi ch c th s c thit lp .

    Bng cc thanh dng chung c s dng tng ng vi mi ch hot ng :

    Bng cc thanh ghi trng thi chng trnh

    Lng Th Oanh 24

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    25/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Cc bng thanh ghi

    Cc thanh ghi dng trong trng thi lnh rt gn ( The Thumb-stateregisterset) :

    Bng cc thanh ghi dng c s dng tng ng vi mi ch hot ng :

    Bng cc thanh ghi trng thi chng trnh

    Cc bng thanh ghi

    Mi lin h cc thanh ghi gia ARM state v Thumb-state :- Cc thanh ghi t r0 n r7 ca Thumb-state ging nh cc thanhghi r0 n r7 ca ARM-state .

    - Thanh ghi CPSR v cc thanh ghi SPSR ca Thumb-state ging

    vi cc thanh ghi SPSR v cc thanh ghi SPSR ca ARM-state .

    - Thanh ghi SP ca Thumb-state c nh x ti thanh ghi r13

    ca ARM-state .

    - Thanh ghi LR ca Thumb-state c nh x ti thanh ghi r14

    ca ARM-state .

    Lng Th Oanh 25

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    26/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    - Thanh ghi PC ca Thumb-state c nh x ti thanh ghi

    PC(r15) ca ARM-state.

    Hnh 9 : S nh x cc thanh ghi ca Thumb-sate v ARM-state .

    Cc thanh ghi trng thi chng trnhLi vi x l ARM7TDMI bao gm mt thanh ghi CPSR v nm thanh ghi

    SPSR lu gi trng thi cc ngoi l . Mc ch ca cc thanh ghi trng thi l :- Nm gi thng tin mi c thc hin bi b tnh ton ALU .

    - iu khin cho php hoc v hiu ha cc ngt .

    - Thit lp trng thi hot ng ca vi x l .

    Lng Th Oanh 26

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    27/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 10 : nh dng cc bit ca thanh ghi trng thi .

    - Cc c iu kin ( Condition code flags ) :

    Cc bit N , Z , C v V l m cc c iu kin , cc bit ny c th thit lp bng

    cc s hoc bng cc ton t logic . Chng cng c th c thit lp bng cc lnh

    MSR hoc LDM . Vi x l ARM7TDMI kim tra cc c ny quyt nh xem lnh

    c thc thi hay khng .

    - Cc bit iu khin :

    Tm bit thp ca mt thanh ghi trng thi chng trnh l cc bit iu khin .

    Chng c th l : cc bit v hiu ha ngt , bit T, cc bit thit lp ch . Cc bit iu

    khin ny thay i khi xut hin mt ngoi l . Khi vi x l hot ng ch c

    quyn th phn mm c th thao tc vi cc bit ny .

    Cc bit v hiu ha ngt : Hai bit I v F l cc bit v hiu ha ngt . Khi

    bit I c t l 1 th cc ngt IRQ b v hiu ha . Khi bit F c t l 1 th

    cc ngt FIQ b v hiu ha .

    Bit T : Bit ny phn nh trng thi hot ng : khi bit T c t l 1 th

    b vi x l thc thi trong Thumb-state . Khi bit t t l 0 th b vi x l thc

    thi trong ARM-state .

    Cc bit thit lp ch : cc bit M[4:0] qui nh trng ch hot ng

    ca vi x l .

    Bng gi tr cc bit thit lp ch ca thanh ghi trng thi chng trnh

    Lng Th Oanh 27

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    28/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    - Cc bit d tr :

    Cc bit ny cha c s dng , khi m cc bit c hoc cc bit iu khin thay i

    gi tr th cc bit d tr ny khng thay i .

    3.1.4.2. Cc cng vo ra

    S3C44B0X c tt c 71 chn vo ra a chc nng , v cc chn ny c chia

    thnh cc cng :

    - Hai cng vo ra 9 bit ( Port E v port F) .

    - Hai cng vo ra 8 bit ( Port D v port G) .

    - Mt cng vo ra 16 bit ( Port C ) .

    - Mt cng ra 10 bit ( Port A) .

    - Mt cng ra 11 bit ( Port B) .

    Mi cng c th cu hnh d dng bng phn mm ph hp vi cc h thngv ph hp vi yu cu thit k .Cc chc nng ca mi chn c s dng phi c

    nh ngha trc khi chng trnh chnh bt u . Nu m trn mt chn nhiu chc

    nng khng c s dng , th chn c th c cu hnh ging nh cc cng vo

    ra bnh thng . Bnh thng cc chn ny c cu hnh mc nh trnh xy ra

    cc vn xung t .

    Cc cng ca S3C44B0X c cc thanh ghi bao gm thanh ghi cu hnh , thanh

    ghi d liu , thanh ghi thit lp tr treo , thanh ghi iu khin ngt bn ngoi.

    Lng Th Oanh 28

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    29/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    - Thanh ghi cu hnh ( Port Configuration Register PCONA-G ) : Phn ln

    cc chn trn mt cng u c nhiu chc nng , do chc nng cho mi

    chn phi c la chn khi s dng . Thanh ghi PCONn s quyt nh

    chc nng c s dng cho tng chn .

    - Thanh ghi d liu ( Port Data Register - PDATA-C) : Nu cc cng c

    cu hnh l cc cng ra , d liu c th c th c ghi vo thanh ghi

    PDATn tng ng tng bit . Nu m cc cng c cu hnh l cc cng

    vo th d liu c th c c t thanh ghi PDATn .

    - Thanh ghi thit lp tr ko ( Port Pull-up Register PUPC-G ) : Thanh ghi

    ny thit lp vic cho php hoc v hiu ha cc cng c tr ko hay

    khng . ng vi tng bit ca thanh ghi ny nu m c t l 0 , th ng

    vi bit trn cng c tr ko v nu c t l 1 th ng vi bit trn

    cng khng c tr ko .

    Bng cc a ch cc thanh ghi ca cc cng :

    Thanh

    ghi

    a ch Chc nng R/W Gi tr mc inh

    PCONA 0x01D20000 Cu hnh chn cng A R/W 0x3ff PDATA 0x01D20004 Thanh ghi d liu cng A R/W Khng nh trcPCONB 0x01D20008 Cu hnh chn cng B R/W 0x7ff PDATB 0x01D2000C Thanh ghi d liu cng B R/W Khng nh trcPCONC 0x01D20010 Cu hnh chn cng C R/W 0xAAAAAAAAPDATC 0x01D20014 Thanh ghi d liu cng C R/W Khng nh trcPUPC 0x01D20018 Cu hnh tr ko cng C R/W 0x0PCOND 0x01D2001C Cu hnh chn cng D R/W 0x0000PDATD 0x01D20020 Thanh ghi d liu cng D R/W Khng nh trcPUPD 0x01D20024 Cu hnh tr ko cng D R/W 0x0

    PCONE 0x01D20028 Cu hnh chn cng E R/W 0x0000PDATE 0x01D2002C Thanh ghi d liu cng E R/W Khng nh trcPUPE 0x01D20030 Cu hnh tr ko cng E R/W 0x0PCONF 0x01D20034 Cu hnh chn cng F R/W 0x0000PDATF 0x01D20038 Thanh ghi d liu cng F R/W Khng nh trcPUPF 0x01D2003C Cu hnh tr ko cng F R/W 0x0PCONG 0x01D20040 Cu hnh chn cng G R/W 0x0000PDATG 0x01D20044 Thanh ghi d liu cng G R/W Khng nh trcPUPG 0x01D20048 Cu hnh tr ko cng G R/W 0x0

    Lng Th Oanh 29

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    30/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    - Thanh ghi iu khin ngt ngoi ( External Interrupt Control Register ) :

    Thanh ghi EXTINT cu hnh tn hiu ngt nh ngt xy ra mc thp , ngt

    xy ra mc cao , ngt xy ra khi c xut hin sn ln ca xung , ngt xy

    ra khi xut hin sn xung ca xung v xy ra khi xut hin ca hai dng

    sn xung .

    Thanh ghi EXTINT cu hnh trng thi tn hiu ngt cho tm ngun ngt bn

    ngoi .

    Hnh 11 : a ch thanh ghi EXTINT v cc gi tr mc nh .

    Hnh 12 : Cc gi tr cc bit ca thanh ghi EXTINT ng vi cc ngt ngoi

    3.1.4.3. Xung nhp h thng

    B to xung nhp bn trong S3C44B0X c th to tn hiu xung nhp cung cp

    cho CPU v cc ngoi vi . B to xung nhp c th c iu khin cung cp hoc

    Lng Th Oanh 30

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    31/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    ngt tn hiu xung nhp ti mi khi ngoi vi bng kha S/W . Ngun xung nhp chnh

    c th ly t thch anh bn ngoi hoc t tn hiu xung nhp bn ngoi . B to xung

    nhp c mt b dao ng c ni ti thch anh bn ngoi , v c mt b PLL ( Phase

    Locke - Loop ) to ra xung nhp c tn s cao t tn s thp ca b dao ng theo

    yu cu ca S3C44B0X .

    Hnh 13 : S khi b to xung nhp

    Hnh 14 : S khi b PLL ( Phase Locked Loop).

    Lng Th Oanh 31

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    32/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 15 : Mch to dao ng bng thch anh v bng ngun dao ng bn ngoi

    3.1.4.4. B iu khin truy cp b nh trc tip DMA .

    Vi iu khin S3C44B0X c bn knh iu khin DMA . Hai knh DMA c

    gi l ZDMA c gn vo SSB ( Samsung System Bus ) vo hai knh DMA c

    gi l BDMA l cu ni gia hi SSB v SPB ( Samsung Peripheral Bus ) . Hai iu

    knh iu khin ZDMA truyn d liu gia b nh v b nh . Hai knh iu khin

    BDMA truyn d liu qua li gi ngoi vi vo ra v b nh . Cc bus SPB nh SIO ,

    IIS ,UART . Nh c DMA nn vic truyn d liu khng cn s can thip ca CPU .

    Hnh 16 : S khi b iu khin ZDMA.

    Lng Th Oanh 32

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    33/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 17: S khi b iu khin BDMA.

    3.1.4.5. Cc b nh thi

    S3C44B0X c su b nh thi 16 bit , mi b nh thi c th hot ng da

    trn ch ngt hoc DMA . Cc b nh thi 0 , 1, 2, 3 v 4 c chc nng to rng

    xung . B nh thi 5 l mt b nh thi bn trong v khng c chn ra . Ngun xung

    nhp chnh ca h thng c a qua b prescaler 8 bit v qua cc b chia tn sau

    mi c a n cc b nh thi . Thng qua b chia tn ngun xung nhp cp chocc b nh thi c th iu chnh tn s r dng . Ngoi chc nng iu ch rng

    xung ra , cc b nh thi ca S3C44B0X cn c hai b m , khi thay i gi tr ca

    b nh thi th gi tr c t ng np vo vo qu trnh hot ng ln tip theo

    n khng lm nh hng hay lm dng hot ng hin ti . Cc b nh thi c kh

    nng t ng np li gi tr m .

    Lng Th Oanh 33

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    34/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 18 :S khi cc b nh thi .

    Lng Th Oanh 34

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    35/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Kit pht trin HT44B0

    Hnh 19: kit pht trin HT44B0

    Lng Th Oanh 35

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    36/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 20: S khi Kit pht trin

    S nguyn l ca kit HT44B0 c trong ti liu km theo .

    Mt s c im ca HT44B0 :

    - Dng vi iu khin S3C44B0X ( Samsung) c nhn vi x l ARM7TDMI .

    - C 2MB b nh Flash .

    - Cng Ethernet 10M , dng chp RTL8019AS .

    - C mn hnh LCD graphics , kch thc 320x240 en trng .

    - C cng USB 1.1 , dng chp PDIUSBD12 .

    - C 2 cng RS232 .- C cng IDE .

    - C loa .

    - C JTAG g ri chng trnh trn chp .

    - H tr h iu hnh nhng UCOSII v uClinux .

    Kit HT44B0 c np sn BIOS ngoi ra nh sn xut cng cung cp m

    ngun BIOS cho php ngi pht trin c th sa i . BIOS cung cp cho cc lnh

    cho php thc hin cc ty bin :

    Lng Th Oanh 36

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    37/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    - help ------ Hin th tr gip .

    - ? ------ Tng ng vi lnh help

    - date ------ Hin th v thit lp ngy thng nm cho h thng

    - time ------ Hin th v thit t gi pht giy cho h thng .

    - setweek ------ Thit t tun ca h thng .

    - clock ------ Hin th tn s hot ng ca h thng .

    - setmclk ------ Thit lp tn s ca h thng .

    - setbaud ------ Thit lp tc baud .

    - load ------ Np file ra b nh .

    - comload ------ np file t cng ni tip .

    - prog ------ Ghi chng trnh vo b nh Flash.

    - boot ------ Thc hin khi ng t Flash .- ap ------ T ng np file nh chng trnh v ghi vo b nh flash .

    copy ------ Sao chp b nh Flash t a ngun vo a ch ch .

    - ipcfg ------ Hin th v t a ch IP .

    - run ------ Chy chng trnh t mt a ch trong RAM .

    - move ------ Chuyn d liu trong b nh Flash ra RAM .

    Kt ni kit vi my tnh : Cc kt ni gia HT44B0bo gm kt ni JTAG ,

    kt ni cng RS232 , kt ni Ethernet .

    - Kt ni JTAG : Ghp ni gia chn JTAG ca kit vi cng LPT ca my

    tnh thng qua cp JTAG . Thng qua kt ni ny , ngi lp trnh c th vit

    chng trnh sau c th chy trnh v thc hin g ri ngay trn chp . Nh vy

    m vic pht trin chng trnh nhanh hn v trc quan hn .

    - Kt ni gia cng RS232 ca my tnh vi cng COM1 ca kit : nh kt ni

    ny ngi s dng dng chng trnhHyper Terminal ca h iu hnh Windows

    nh mt mn hnh hin th v nhp d liu , cn trn trn kit qu trnh truyn nhn

    c iu khin bi BIOS .

    - Kt ni ethernet : BIOS trn HT44B0 h tr mt mini FTP , nn thng qua

    ethernet ta c th y file t my tnh vo b nh flash sau nh s iu khin

    ca BIOS s lu file vo mt a ch xc nh trn b nh flash .

    Lng Th Oanh 37

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    38/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Phn B : Thc nghim

    Chng 3 . Bin dch m ngun uClinux v xy dng ng

    dng

    Bin dch m ngun h iu hnh uClinux

    Qu trnh bin dch nhn uClinux cng ging nh qu trnh bin dch nhn h

    Linux bnh thng . Trong m ngun uClinux , cc nh pht trin a vo rt nhiu

    th vin , chng trnh ng dng , driver cho cc thit b nu m bin dch ht ton

    b m ngun th kch thc file nh ca h iu hnh rt ln v c nhng th vin ,

    chng trnh , hoc cc driver m h thng khng cn n . ph hp cho tng hthng th uClinux h tr cc la chn cu hnh nhng m ngun cn bin dch v cc

    b x l khc nhau . Khi tin hnh bin dch ngi s dng thit lp cc la chn m

    khi bin dch xong h iu hnh uClinux h tr .

    Mi trng v cc cng c cn bin dch

    tin hnh bin dch uClinux to ra file nh ROM , ta cn c mi trng

    v cc cng c tin hnh bin dch . Trong kha lun ny em s dng mi trng

    bin dch l mi trng Linux ca h iu hnh RedHat . Cc cng c bin dchc ng gi trong gi arm-elf-tools-20030314.sh . Trc tin ton b cc cng c

    bin dch ny c ci t vo h iu hnh RedHat . ci t ta vo terminal v g

    lnh ./ arm-elf-tools-20030314.sh .Khi qu trnh ci t hon tt b cng c ny bao

    gm :

    - arm-elf-gcc : Trnh dch C/C++ .

    - arm-elf-elf2flt : chuyn nh dng file elf sang nh dng file flat.

    - genromfs : Cng c to nh rom .- binutils : cc cng c nh arm-elf-ld , arm-elf-as , vv

    y l cc cng c bin dch uClinux cho cc vi iu khin s dng nhn vi x l

    ARM .

    Lu qu trnh bin dch v cc bc tin hnh

    a. Lu qu trnh bin dch

    Lng Th Oanh 38

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    39/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 21: Lu qu trnh bin dch m ngun uClinux

    b. Cc bc tin hnh

    Bc 1 : chun b :

    - Xc nh cc ngoi vi phn cng c trn kit tin hnh bin dch

    driver .

    - Xc nh cc chng trnh ng dng cn dng .

    Lng Th Oanh 39

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    40/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Bc 2 : Thc hin lnh cu hnh to ra cc mc la chn cu hnh .

    bt u cu hnh nhn uClinux , ti ca s Terminalta di con ti th mc

    uClinux-disty l th mc chnh cha ton b m ngun ca uClinux . tin hnhcu hnh ta thc hin lnh cu hnh . Lnh cu hnh c th l mt trong ba lnh sau :

    make config, make menuconfig, make xconfig. Ba lnh ny u c mt mc ch l

    cu hnh nhn nhng th cn thit bin dch nhn Linux sau l lu vo mt file

    cu hnh dng text file , chng ch khc nhau v giao din , cch thc trnh by cc la

    chn cn cu hnh .

    Cu hnh bng lnh make config: nu thc hin cu hnh bng lnh ny th cc

    mc lc la chn c th hin di dng mn hnh text .

    Hnh 22: Mn hnh cu hnh bng lnh make config.

    Cu hnh bng lnh make menuconfig: khi thc hin lnh ny cc mc la chn

    cu hnh c hin th ra di dng cc menu rt thun tin cho vic la chn .

    Lng Th Oanh 40

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    41/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 23: mn hnh cu hnh bng lnh make menuconfig .

    Cu hnh bng lnh make xconfig: mn hnh cu hnh hin th di dng hp

    thoi , c giao din trc quan .

    Hnh 24 : Giao din cu hnh bng lnh make xconfig.

    Bc 3 : La chn cc mc cn cu hnh trn menu chnh

    Menu chnh c cu trc cc mc chung nh sau :

    Lng Th Oanh 41

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    42/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 25 : Cc mc chnh trm menu cu hnh .

    - Mc Choose a Vendor/Product selection xut hin danh sch lit k ton b nh

    sn xut v tn sn phm . Tn sn nh sn xut v sn phm c t trong th

    mc vendors trong th mc chnh uClinux-dist. Nhim v cn phi lm l la chn

    nh sn xut v sn phm m cn nhng h iu hnh uClinux vo . Vic chn

    Lng Th Oanh 42

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    43/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    ng nh sn xut v tn sn phm rt quan trng , nu chn sai tn sn phm khi

    bin dch h iu hnh uClinux v trin khai vo h thng th s khng chy c

    v cu hnh phn cng ca mi loi vi iu khin s khc nhau . Trong kha lun

    ny em dng vi iu khin S3C44B0X ca hng Samsung .

    -

    Hnh 26: danh sch cc nh sn xut v sn phm

    - McLibc Version cho php la chn mt trong hai th vin uC-libc v uClibc .

    - Mc Default all settings : nu chn mc ny th cu hnh ca h iu hnh c

    chn theo mc nh ( theo ln cu hnh trc ) .

    - Mc Customize kernel settings : khi chn mc ny th s xut hin mt mn hnh

    c cc mc chn cn cu hnh cho nhn nh la chn cc driver , cc th vin h

    tr ..

    - Mc Customize Vendor/User setting: Khi chn mc ny th cng c mt mn hnh

    c cc mc la chn cc chng trnh ng dng , cc cng c , cc tr chi

    Bc 4 : Lu cc la chn cu hnh vo mt file v tin hnh cc lnh to file nh ca

    h iu hnh .Sau khi lu la chn cu hnh cn thc hin cc lnh sau to file nh :

    - make dep .

    - make lib_only.

    - make user_only

    - make romfs

    - make image

    - make linux

    - make image

    Lng Th Oanh 43

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    44/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Kt thc qu trnh bin dch h iu hnh , ton b h iu hnh c to thnh

    mt file nh c l image.rom , y l file cn nhng vo kit pht trin . File

    image.rom c lu trong th mc images nm trong th mc chnh uClinux-dist .

    Cu trc th mc ca h iu hnh uClinux sau khi bin dch ging nh cu trc cc

    th mc con trong th mc romfs nm trong th mc chnh uClinux-dist .

    Nhng h iu hnh vo vi iu khin

    Thit lp giao tip gia kit v my tnh

    a. Ghp ni RS232 :

    Cng COM1 ca kit giao tip vi cng RS232 ca my tnh . Trong mi trng

    h iu hnh Windows , chy chng trnhHyperTerminal thc hin giao tip .

    Qua chng trnhHyperTerminalthit lp cc thuc tnh cng RS232 :

    - Tc baud : 57600 .

    - Bit stop :1bit .

    - Tnh chn l : khng dng chn l .

    - Bt tay : khng bt tay .

    Hnh 27 : Thit lp cng COM.

    Lng Th Oanh 44

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    45/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Sau kh thc hin kt ni , ta cp ngun cho kit . Nu trnHyperTerminal

    nhn c nh sau th qu trnh ghp ni thnh cng :

    Hnh 28 :Tn hiu nhn c t kit HT44B0 truyn v my tnh .

    b. Ghp ni ethernet :

    Mini Ftp trn kit c t a chIPl 192.168.0.100 nn trn my tnh t a

    ch IP cho card mng l 192.168.0.152 . kim tra kt ni ethernet thnh cng hay cha ta thc hin lnh Ping t

    my tnh ti minu Ftp ca kit . Ti mn hnhHyperTerminalsau khi thc hin

    thnh cng kt ni cng RS232 , ta thc hin lnh ap

    Hnh 29 : Chy lnh ap v ch thc hin lnh ping t my tnh .

    Lng Th Oanh 45

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    46/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Ti my tnh , ta thc hin lnh ping ti a ch 192.168.0.100 nu qu trnh

    ping thnh cng th kt ni ethernet thnh cng .

    Hnh 30: Kt qu ping thnh cng t my tnh ti kit HT44B0.

    a file nh h iu hnh vo vi iu khin

    Sau khi bin dch m ngun h iu hnh uClinux , ta thu c file nh h iu

    hnh uClinux image.rom nm trong th mc uClinux-dist/images . Trn h iu hnh

    Windows ta s dng chng trnh a file ln mt ftp server a file nh h iu

    hnh vo kit . File image.rom c t cng chng trnh y file ln ftp server .

    Ti chng trnhHyperTerminalta thc hin lnh ap y l lnh cho php cfile v ghi vo flash .

    Thc hin y file ln kit : ti h iu hnh windows : Start->Run -> CMD ->

    di chuyn ti th mc cha file imgage.rom -> thc hin lnh tftp -i 192.168.0.100 put

    f:\upload\image.rom . Sau khi thc hin qu trnh , trn kit file image.rom s

    c lu vo RAM , quay tr li chng trnhHyperTerminal:

    Lng Th Oanh 46

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    47/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 31: Qu trnh gi v nhn file t my tnh v kit .

    Tip tc chn n v thc hin lnh prog 10000 c008000 100000 sau chn

    y thc hin qu trnh ghi file nh h iu hnh t RAM vo b nh flash :

    Hnh 32: Chy lnh prog ghi file vo mt a ch ca b nh flash .

    Hnh 33: Qu trnh ghi file vo flash thnh cng .

    Lng Th Oanh 47

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    48/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Lnhprogs thc hin ghi nh h iu hnh vo flash a ch 0x10000 thay

    v ghi vo a ch 0x00 v a ch ny lu BIOS v Bootloader . i s th ba

    0x100000 l s byte c ghi , nu file nh ca h iu hnh ln hn th s ny ctng ln .

    3.1.1. Qu trnh khi ng uClinux trn kit pht trin tin hnh chy h iu hnh uClinux trn kit , cng ti mn hnh

    HyperTerminal ta thc hin lnh move di chuyn h iu hnh t b nh flash ti

    b nh RAM , sau thc hin lnh run chy h iu hnh ti mt a ch trn

    RAM :

    .Hnh 34: Lnh di chuyn d liu t flash vo RAM v lnh chy chng trnh .

    Lng Th Oanh 48

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    49/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Lu qu trnh khi ng :

    Hinh 35: Lu qu trnh khi ng h iu hnh uClinux

    Khi hon thnh qu trnh khi ng :

    Lng Th Oanh 49

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    50/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 36: Mn hnh sau khi khi ng xong h iu hnh uClinux .

    H iu hnh c gii nn v bt u qu trnh khi ng ( qu trnh khi

    ng ca c trnh by trong 2.1.4 ) . Khi hon tt qu trnh khi ng , chng trnh

    HyperTerminals tr thnh mt chng trnh ging nh chng trnh Terminaltrn

    h iu hnh Linux . Thng quaHyperTerminalta c th thc thi cc lnh ca Linux :

    Hnh 36 : Chy th mt s lnh c bn .

    uClinux cng c cc lnh c bn ging nh h iu hnh Linux cho PC vi d

    nh cc lnh : ls , cd , echo , cat v uClinux cng cho php s dng cc lnh theo

    cu trc ng ng , chy cc lnh shell . H iu hnh uClinux c nhng thnh

    cng vo kit HT44B0. Vi iu khin S3C44B0X c h iu hnh v cc ngoi vi

    Lng Th Oanh 50

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    51/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    tr thnh mt my tnh thu nh c th giao tip vi th gii bn ngoi qua cc cng ,

    cho php chy cc chng trnh .

    Xy dng ng dng

    Cc ng dng c xy dng chy trn mi trng h iu hnh uClinux

    cng ging nh cc ng dng chy trn mi trng h iu hnh Linux trn PC . Cc

    chng trnh ng dng giao tip vi cc thit b ngoi vi thng cc driver ca h iu

    hnh . Chng trnh c th c vit v kin tra trn mi trng Linux trn PC , sau

    khi c chng trnh chy ng th mi chuyn xung chy trn nn uClinux . Do

    chng trnh c chy trn mi trng uClinux trn kit nn cc file chng trnh

    phi chuyn i nh dng t ELF sang FLT ( s dng cng c arm-elf-elft2flt ). Do

    uClinux c xy dng bng ngn ng C , C++ v s dng cc th vin C nn ccchng trnh a s u c vit bng ngn ng C .

    Cc bc to chng trnh :

    - To file m ngun v vit m ngun .

    - To Makefile .

    - Bin dch .

    Vi d to chng trnh n gin in ra mn hnh dng ch Hello world ! bng

    ngn ng C :

    To th mc hello trong th mc uClinux-dist/user/

    Trong th mc hello to file hello.c c n dung :

    #include

    int main(){

    printf(Hello world !\n);

    return 0;}

    To file Makefile nm trong cng th mc hello c ni dng:

    EXEC = hello

    OBJS = hello.o

    CFLAGS += -I.

    all : $(EXEC)

    $(EXEC) : $ (OBJS)

    Lng Th Oanh 51

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    52/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    $(CC) $(LDFLAGS) o $@ $(OBJS) $(LDLIBS)

    romfs :

    $(ROMFSINST) /bin/$(EXEC)

    clean :

    -rm -f $(EXEC) *.elf *.gdb *.o

    Tip theo chnh sa thng tin file Makefile trong th mc uClinux-dist/user .

    Thm dng lnh sau vo file Makefile :

    dir_$(CONFIG_USER_HELLO) +=hello

    Chnh sa thng tin file config.in trong th mc uClinux-dist/config . Thm dng

    lnh sau :

    mainmenu_option next_comment

    comment Hello Applications

    bool hello CONFIG_USER_HELLO

    endmenu

    Tin hnh bin dch chng trnh v a chng trnh vo h iu hnh :

    Trong chng trnh terminal ca Redhat thc hin lnh make menuconfig

    cu hnh li cc chng trnh ngi dng .

    Lng Th Oanh 52

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    53/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 37 : Cc la chn cu hnh bin dch chng trnh hello

    Mt cch khc c th bin dch file m ngun hello.c ra file chy bng cchdng lnh trc tip t terminal ca RedHat :

    arm-elf-gcc Wl, -eft2flt hello.c o hello

    Lng Th Oanh 53

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    54/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Hnh 38: kt qu chy chng trnh hello

    Cc th vin c cung cp trong Linux u c vit bng ngn ng C , C++

    nn rt tin cho qu trnh pht trin ng dng . ng thi h iu hnh uClinux l h

    iu hnh a nhim , cho php qun l nhiu tin trnh chy ng thi cng mt lc do

    c th pht trin cc ng dng a lung rt tin li .

    Khai thc cc c tnh u vit ca vi iu khin S3C44B0X 32 bit hot vixung nhp ln ti 66MHz v s dng h iu hnh a nhim thi gian thc uClinux c

    rt nhiu th vin sn c , c th xy dng cc ng dng nh x l nh , ting ni ,

    gii m MP3 , VoIP

    Lng Th Oanh 54

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    55/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Kt lun

    Sau qu trnh hc tp v nghin cu di s gip , ch bo tn tnh ca thy

    TS. Nguyn Thng Long , cc thy c trong khoa , em hon thnh c kha lun

    tt nghip vi ti Nghin cu ng dng h iu hnh nhng uClinux trn vi iu

    khin S3C44B0X . Kha lun ny t c nhng kt qu sau :

    1. Nghin cu tm hiu v nhn h iu hnh Linux v uClinux .

    2. Tip cn vi dng vi iu khin 32 bit s dng nhn vi x l ARM7TDMI .

    3. Nm c phng php cu hnh nhn v bin dch h iu hnh uClinux .

    4. Nhng h iu hnh uClinux xung vi iu khin S3C44B0X v xy dng ng

    dng chy trn nn h iu hnh uClinux .

    Hng pht trin tip theo ca kha lun l i su vo xy dng cc ng dng

    v pht trin cc driver trong mi trng h iu hnh uClinux ca cc h thng nhng

    .

    Lng Th Oanh 55

  • 8/4/2019 [Laptrinh.vn]-H iu hnh nhng uClinux

    56/56

    H Cng Ngh - HQG H Ni Kha lun tt nghip

    Cc ti liu tham kho

    [1] H Quang Thy , Nguyn Tr Thnh , Nguyn Hi Chu . Gio trnh H iuHnh Unix - Linux .

    [2] Daniel P.Bovet & Marco Cesati .Understanding the Linux Kernel. OReilly .

    First Edition October 2000 .

    [3] David A Rusling , The Linux Kernel .

    [4] http://arm.com

    [5] http://www.uclinux.org .

    [6] http://docs.blackfin.uclinux.org/doku.php?id=introduction