Tugas RTOS-Ahmad Hasyim

download Tugas RTOS-Ahmad Hasyim

of 18

Transcript of Tugas RTOS-Ahmad Hasyim

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    1/18

    TUGAS UTS

    SISTEM EMBEDDED

    PENERAPAN RTOS PC/OS PADA PENJADWALAN

    PENYALAAN LED

    Oleh :

    1. M Faqih!i" F 111#1$1#$#

    $. Ah%a! &a'(i% A 111#1$1#$)

    D*'e"Pe"+a%, :

    A-h%a! &e"!iaa"0 S.T.0 M.T.

    PROGRAM STUDI DIPLOMA

    TE2NI2 ELE2TRONI2A

    DEPARTEMEN TE2NI2 ELE2TRO

    POLITE2NI2 ELE2TRONI2A NEGERI SURABAYA

    SURABAYA

    $#1)

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    2/18

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    3/18

    8%9e'1Pr%or%t, Sc#e'ul%ng &%t# De0erre' Preempt%on

    8%9e'1Pr%or%t, Non1preempt%7e Sc#e'ul%ng

    Cr%t%cal $ect%on preempt%7e $c#e'ul%ng

    Stat%c t%me $c#e'ul%ng

    Earl%e$t Dea'l%ne 8%r$t approac#

    Stoc#a$t%c '%grap#$ &%t# mult%1t#rea'e' grap# tra7er$al

    -* PC/OSS%$tem Embe''e' $e'er#ana Operat%ng S,$tem 8rame&ork ,ang

    memungk%nkan pe$atn,a perkembangan membangun apl%ka$% untuk keluarga A.R

    tetap% 'apat port%ng ke ar$%tektur la%n cukup mu'a#* S%$tem mult%ta$k%ng Roun'1

    Rob%n Co1operat%7e*

    5ernel PC/OS men'ukung(1 Ta$k management

    1 +e$$age bo9e$1 :ueue$1 P%pe$1 Semap#ore$1 +ute9e$1 E7en;roup$1 T%mer1Ser7%ce$1 Small memor,1manager1

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    4/18

    a* Struktur '%rektor%

    PC/OS merupakan $ala# $atu cara tercepat bag% pemula untuk mema#am%

    $%$tem opera$% real t%me* PC/OS %n% 'apat mengelola #%ngga = ta$k

    apl%ka$% 'engan pr%or%ta$ ,ang perna# berbe'a 'an m%l%k $%$tem opera$%

    real t%me 'engan perm%ntaan pen,%mpanan teren'a#*

    A'a 'ua bag%an utama 'ar% '%rektor%" ,a%tu )? D%rektor% #ar'&are ber%$% tentang #ar'&are ,ang '%rekomen'a$%kan

    ole# pembuat" ba%k $kemat%k 'an PC@ 0%le" kemu'%an juga 'engan

    penerapan PC/OS pa'a 8P;A>-? D%rektor% $o0t&are ter'%r% 'ar% '%rektor% pen,u$un terka%t c#%p ,ang

    '%gunakan* @eberapa '%rektor% pen'ukung la%nn,a ,ang

    mempun,a% tuj%an k#u$u$ ,a%tu%* bu%l'*'ep

    %%* bu%l'*err %%%* bu%l'*obj%7* bu%l'*l$t7* bu%l'*rom

    D%rektor% root pa'a make0%le*D%rektor% Con0%g 3'%rektor% pen'ukung make0%le" kon0%gura$%

    #ar&are" 'an per%#ta# comp%ler4" 'an '%rektor% Source co'e ,ang

    ber%$%%* Appl%c" merupakan 0%le utama ,ang ber%$% 5ernel*c ,ang

    ber%$% progam penja'&alan*

    %%* per%p#e%nt" Per%per%al %nternal 'ar% m%crocontroller" $epert%T%mer" art*

    3

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    5/18

    %%%* perp#ee9t" Per%per%al ek$ternal 'ar% luar m%krokontroller

    berupa $martcar'" LPC 0la$#" 'an peralatan SPB*%7* ut%l$" ber%$% $cr%pt progam untuk kon7er$% 'ar% conto#

    #e9-b%n" b%n-#e9" 'ela, 'an ,ang la%n*

    7* 'ebug" '%gunakan untuk memon%tor pro$e$ 'ebug" $e#%ngga

    'ebugg%ng menja'% leb%# mu'a#" 0%tur %n% 'apat '%mat%kan

    agar penggunaan memor% menja'% #emat*7%* %nclu'e" ber%$% global 'e0%n%t%on 'an pengaturan 'e7%ce ,ang

    akan ter#ubung 'engan OS %n%*

    De'-i,'i -e"el

    5ernel 'apat '%kon0%gura$% '% 'alam tamba#an port #ar'&are

    '%gunakan beberapa nomor 'ar% cara untuk mengkon0%gura$% La,anan /

    BPC $erta untuk mengurang% kebutu#an memor%" ko'e" ukuran untuk

    comp%ler* ko'e ,ang t%'ak terpaka% mungk%n t%'ak jela$ meng%'ent%0%ka$%

    '% RA+ ,ang ter$e'%a* @er%kut a'ala# %$% 'ar% OSc0g*#

    untuk OS+ATAS5S 'an OS+BNPRBO(

    4

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    6/18

    J%ka $%$tem ,ang '%butu#kan 'engan F tuga$" - '% antaran,a tuga$

    menggunakan mute9" An'a perlu OS+ATAS5S G H 3terma$uk mute9

    'an B'le1Ta$k4 'an OS+BNPRBO G I mana ,ang B'le1Ta$k kemu'%an

    men'apat pr%o H 'an $ela%n tuga$ 'an mute9 men'apat pr%or%ta$ leb%#

    t%ngg% 3**=4* J%ka t%mer1la,anan #aru$ '%gunakan juga" %tu #aru$ tuga$

    &aktu %n% tamba#an ,ang terl%bat*

    De'-i,'i %*!l

    A'a beberapa mo'ul" ,a%tu S,$t%ck" ART" Debugger 'an mo'ule ,ang

    la%n" namun ,ang akan '%ba#a$ #an,a mo'ul S,$t%ck*S,$T%ck mo'ul melakukan $emua 0ung$% &aktu utama* Conto#

    menge'%pkan LED" mem%cu ADC untuk memula% kon7er$% baru" mem%cu

    ak#%r LC+ keterlambatan" mem%cu ke,boar' 0ung$% pem%n'a%an 'an juga

    mem%l%k% t%mer $o0t&are* ntuk mengakt%0kan $,$t%ck" #an,a men$et 3b%t4

    ,ang bera'a '% 7S,$Stat* ntuk menguba# %nter7al &aktu memo'%0%ka$%

    kon$tanta / %0ct%me*#

    5

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    7/18

    Se$ua% 'e0%n%$% akt%7a$% b%t '%n,atakan 'alam mel%put% / $ett%ng$*#(

    Waktu t%ck 'apat '%ruba# $e$ua% kebutu#an" $e'angkan j%ka meng%nkan

    T%mer la%n 'apat menamba#kan #%ngga 2 t%mrt ,a%tu

    Satuan 'alam mS" conto# )mS

    T%mer '%ata$ mempu,a% &aktu )mS " untuk mengecek apaka# $u'a#

    )mS menggunakan %ntruk$%

    'an untuk meng#ent%kan T%mer menggunakan

    6

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    8/18

    BAB II

    PEMBA&ASAN

    A. PERALATANPa'a pro$$e$ pengerjaan project %n%" penul%$ menggunkan beberapa alat 'an

    ba#an $ebaga% ber%kut(

    )* +%n%mum S,$tem Atmel AT+ega )=-* B/O LED 'an Tombol* Po&er Suppl,2* Do&nloa'er S@1$ASPF* PC 'engan $o0t&are te9t e'%tor 3Subl%me" Notepa'KK" Notepa'4=* Comman' Promp

    B. RANG2AIAN MI2RO2ONTROLER

    Dar% pro$$e$ kaj%an pu$taka ,ang tela# '%lakukan" maka '%lakukukan pem%l%#an

    C#%p ,ang '%gunakan 'engan 'a$ar minimum requirement'an $pe$%0%ka$%/$,arat &aj%b

    penuga$an* @er%kut a'ala# gambar $kemat%k 'an

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    9/18

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    10/18

    C. PEMROGAMAN

    Per$oalan ,a%tu

    +en,alakan LED ) $et%ap ) 'et%k" mat% ) 'et%k

    +en,alakan LED - $et%ap - 'et%k" mat% - 'et%k

    J%ka Tombol '%tekan LED men,ala 2 'et%k)* +elakukan pem%l%#an c#%p pa'a '%rektor%

    con0%g#&*%n

    Mput t#e name o0 t#e target mcu #ere 3at$IF)F" at$IFF" att%n,--" atmega= etc*4M +C G at$IF)FM +C G atmega)=2pM +C G atmega)=M +C G atmega-M +C G atmega)=M +C G atmegaI

    +C G atmega-

    -* +elakukan #ar&are untuk jalur pemrogaman menggunakan S@ ASPcon0%gen7*%nMMMMMM 'e0%ne $ome 7ar%able$ ba$e' on t#e A.R ba$e pat# %n 3A.R4 MMMMMMMA.RCC G a7r1gccA.RASG a7r1gcc 19 a$$embler1&%t#1cppR+ G rm 10 RN G m7A.R@BN G a7r1objcop,A.RSBE G a7r1$%QeBNCDBR G *LB@DBR G 3A.R4/a7r/l%bS

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    11/18

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    12/18

    %03#%tung-GG)4 X LEDO006 0lag@Tombol)G6 YY

    Progam untuk pen,alaan LED 'engan tombol )

    // 8unct%on calle' b, t#e ma%n kernel loop 3ta$k4// S#oul' not block// T#%$ proce$$ run$ cont%nuou$l, on t#e ma%n loop// $e t#%$ %0 ,ou nee' no &a%t t%me on eac# run7o%' 0Appl%cCont37o%'4

    X %0 3[3PBN@3)TO+@OL)444 X %030lag@Tombol)GG4 X #%tung-GF6 0lag@Tombol)G)6 Y Y

    Y

    11

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    13/18

    ntuk 'o&nloa' progam menggunakan comman' promt ,a%tu $ebaga% ber%kut()* +a$uk '%rektor, 'ar% make0%le

    -* 5et%k make l%$t untuk mel%#at %n$truk$% ,ang a'a

    * 5et%k make clean untuk member$%#kan 0%le la$t bu%l'

    )2* 5et%k make all untuk mengcomp%le

    12

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    14/18

    F* 5et%k make prog$p untuk men'o&nloa' progam

    13

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    15/18

    BAB III

    PENUTUP

    A. A"ali'aDar% $eluru# rangka%an pro$e$ pa'a project %n% penul%$men'apatkanbeberapa anal%$a

    '%antaran,a a'ala#$ebaga% ber%kut(

    )* RTOS atau kepanjangan 'ar% Real1T%me Operat%ng S,$tem merupakan $ebua# $%$tem

    opera$% real1t%me,ang '%mak$u'kan untuk mela,an% 'ata real1t%me pro$e$ apl%ka$%"

    b%a$an,a tanpa penun'aan bu00er%ng* S,$tem RTOS juga 'apat '%jalankan pa'a

    +%krokontroller keluarga Corte9 maupun A.R 'engan pr%n$%p kerja $epert% %nterrupt

    t%mer* Program '%tul%$ 'an '%jalankan 'alam 'alam ma$%ng1ma$%ng t#rea'$ ,ang '%ber%

    nama ole# programmer ,ang $eola#1ola# $eluru# t#rea' ter$ebut bekerja $ecara

    ber$aaman namun $ebenarn,a bergant%an atau $epert% mengek$eku$% program $ecara

    melompat1lompat antar t#rea'$ 'engan &aktu ,ang $angat cepat*-* A.RBLOS merupakan jen%$ RTOS ,ang $angat $e'er#ana ,ang cara kerjan,a mu'a#

    untuk '%pa#am%" $e#%ngga ATmega )= 'engan memor, ,ang $e'%k%t $u'a# 'apat

    '%gunakan untuk menjalankan RTOS %n%** Pa'a penja'&an pen,alaan LED t%'ak menggunakan progam block%ng $e#%ngga $eola#

    ola# progam berjalan $ecara pararel2* Pa'a penekanan tombol '% gunakan tak$ $en'%r% ,ang $u'a# '%$e'%akan ole# A.RBLOS

    B. 2e'i%,la"

    Dar% $eluru# rangka%n pro$$e$ pa'a project %n%" penul%$ menar%k beberapa ke$%mpulan

    '%antaran,a a'ala# $ebaga% ber%kut(

    )* S,$tem RTOS juga 'apat bekerja pa'a m%krokontroller keluarga AT +ega-* Pr%n$%p kerja RTOS a'ala# $eakan1akan $eluru# tak$/t#rea'$ bekerja $ecara ber$amaan

    namun $ebenarn,a bergant%an antar tak$ 'engan &aktu ,ang $%ngkat* A.RBLOS a'ala# RTOS $e'er#ana 'engan*2* Pemrogaman menggunakan non block%ng*F*

    14

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    16/18

    LAMPIRAN 1

    1. Scr%pt progam pa'a$rcappl%capll%c*c/Project( A.RBLOS

    T%tle( E9ample Lock Appl%cat%onAut#or( Bl%a$ Ale9opoulo$.er$%on( -*)La$t up'ate'( F1No71-))Target( ATSIFF/AT+E;A8%le( appl%c*c Support E1ma%l( a7r%lo$\%l%ale9*gr l%cen$e( See l%cen$e*t9t on root '%rector, 3CDDL4 .-*" -I1Oct1-)" Bn%t%al publ%$#e' 7er$%on

    .-*)" F1No71-))" Spl%t ma%n call$ to t&o 0unct%on$" one run on e7er, appl%cat%on t%ck" T#e ot#er run$ cont%nou$l,* T#%$ pro7%'e$

    0le9%b%l%t, on #o& &e nee' To control t#%ng$ 0or $pec%0%c appl%cat%on$* DESCRBPTBON Empt, Demo Appl%cat%on/M%nclu'e **/%nclu'e$/t,pe$*#M%nclu'e **/%nclu'e$/$ett%ng$*#M%nclu'e **/%nclu'e$/%0ct%me*#M%nclu'e **/per%p#%nt/T%mer*#M%nclu'e a7r/%o*#]M'e0%ne LED) PA

    M'e0%ne LED- PA2M'e0%ne LED PAFM'e0%ne TO+@OL) P@)M'e0%ne LED)On PORTAG3)LED)4M'e0%ne LED)toogle PORTAUG3)LED)4M'e0%ne LED-On PORTAG3)LED-4M'e0%ne LED-toogle PORTAUG3)LED-4M'e0%ne LEDOn PORTAG3)LED4M'e0%ne LEDO00 PORTAVG3)LED4M'e0%ne LA+ATBC5 -6M'e0%ne c+LEDTB+ERBD / Coul' be an, SW t%mer up to 3c+ASWTB+ERS1)4" 'e0%ne'

    %n $rc/%nclu'e$/%0ct%me*# /// Appl%cat%on Bn%t%t%al%Qat%on calle' be0ore 5ernel ma%n loop

    7o%' 0Bn%tAppl%c37o%'4X// %n%t%al%Qe B/O 3our 0unct%on/co'e4DDRAG9006 PORTAG9006 DDR@G96 PORT@G9006 // Set SW T%mer to ,our 'ela, 3Fm$4 7S&T%mermS>c+LEDTB+ERBD? G LA+ATBC56 // LED O00 3our 0unct%on/co'e4Y// 8unct%on calle' b, t#e ma%n kernel loop 3ta$k4// S#oul' not block

    // T#%$ proce$$ run$ on e7er, Appl%cat%on T%ck// $e t#%$ 0or t%me' e7ent #an'l%ngun$%gne' c#ar #%tungG" #%tung-G"0lag@Tombol)G6

    15

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    17/18

  • 7/26/2019 Tugas RTOS-Ahmad Hasyim

    18/18

    DAFTAR PUSTA2A

    >)? #ttp(//$ource0orge*net/project$/a7r%lo$/'%ak$e$ pa'a ) De$ember -)F

    >-? #ttp(//a7r%lo$*$ource0orge*net/'%ak$e$ pa'a ) De$ember -)F

    >? #ttp$(//$ource0orge*net/project$/a7r%lo$/0%le$/late$t/'o&nloa''%ak$e$ pa'a ) De$ember -)F

    17