You are on page 1of 42

T.C.

MLL ETM BAKANLII

ENDSTRYEL OTOMASYON
TEKNOLOJLER

GML SSTEMLER - 1
523EO0374

Ankara, 2011

Bu modl, mesleki ve teknik eitim okul/kurumlarnda uygulanan ereve


retim Programlarnda yer alan yeterlikleri kazandrmaya ynelik olarak
rencilere rehberlik etmek amacyla hazrlanm bireysel renme
materyalidir.

Mill Eitim Bakanlnca cretsiz olarak verilmitir.

PARA LE SATILMAZ.

NDEKLER
AIKLAMALAR .................................................................................................................... ii
GR ....................................................................................................................................... 1
RENME FAALYET1 .................................................................................................... 3
1. GML SSTEM ............................................................................................................. 3
1.1. Gml Sistemin Tanm .............................................................................................. 3
1.1.1. Gml Sistem ...................................................................................................... 3
1.1.2. Linux...................................................................................................................... 3
1.1.3. Linux Ortamnn Avantajlar ................................................................................. 5
1.1.4. Dier Gml Sistemler ........................................................................................ 6
1.2. Gml Sistem Gelitirme Ortamlar ........................................................................... 7
1.2.1. sel ve apraz Derleyiciler................................................................................... 7
1.2.2. apraz Derleyiciler ................................................................................................ 8
1.2.3. Windows Ortamnda Linux Kullanm .................................................................. 8
1.2.4. Linux Emulatrnn (CYGWIN) Kurulumu ........................................................ 8
1.2.5. Editr Program (VI)............................................................................................ 14
1.2.6. Terminal Program ............................................................................................... 15
1.2.7. FTP Sunucu Ayarlar ........................................................................................... 17
UYGULAMA FAALYET .............................................................................................. 22
LME VE DEERLENDRME .................................................................................... 23
RENME FAALYET2 .................................................................................................. 24
2. Gml Sistem in Programlama ..................................................................................... 24
2.1. Cygwin Komutlar (Linux ve Unix in) .................................................................... 24
2.1.1. Dosya ve Dizin Komutlar ................................................................................... 24
2.1.2. Listeleme Komutlar ............................................................................................ 25
2.2. apraz Derleyici Kurulumu ........................................................................................ 31
2.2.1. Gcc (sel Derleyici) ve Mipsel-Linux-Gcc (apraz Derleyici).......................... 31
2.2.2. Mipsel-Linux-Gcc ile apraz Derleme ............................................................... 33
UYGULAMA FAALYET .............................................................................................. 34
LME VE DEERLENDRME .................................................................................... 35
MODL DEERLENDRME .............................................................................................. 36
CEVAP ANAHTARLARI ..................................................................................................... 37
KAYNAKA ......................................................................................................................... 38

AIKLAMALAR
AIKLAMALAR
KOD

523EO0374

ALAN

Endstriyel Otomasyon Teknolojileri

DAL/MESLEK

Alan Ortak Modl

MODLN ADI

Gml Sistemler - 1

MODLN TANIMI

Gml sistemler hakknda temel bilgilerin verildii bir


renme materyalidir.

SRE

40/32

N KOUL
YETERLK

Gml iletim sistemini kullanmak


Genel Ama
Gml sistem kartn teknik zelliklerine ve programlama
tekniklerine uygun olarak kullanabileceksiniz.

MODLN AMACI

ETM RETM
ORTAMLARI VE
DONANIMLARI

Amalar
1. Gml sistem gelitirme ortamn kurallarna uygun olarak
kuracak ve kullanabileceksiniz.
2. apraz derleyici kurulumunu ve kullanmn kurallarna
uygun olarak yapabileceksiniz.
Ortam: Elektronik laboratuar
Donanm: Bilgisayar, gml sistem deney setleri
Modl iinde yer alan her renme faaliyetinden sonra verilen
lme aralar ile kendinizi deerlendireceksiniz.

LME VE
DEERLENDRME

retmen modl sonunda lme arac (oktan semeli test,


doru-yanl testi, boluk doldurma, eletirme vb.) kullanarak
modl uygulamalar ile kazandnz bilgi ve becerileri lerek
sizi deerlendirecektir.

ii

GR
GR
Sevgili renci,
Gml sistemler, donanmsal ve yazlmsal birok teknolojinin bir arada
kullanlmasyla oluturulur.
Araba elektronii ve ev elektronii, gml rnlere rnek olarak gsterilebilir.
Gml sistem tasarm yapmak, geni apl bir bilgi birikimi ister. Bunun iin elektronik
devre bilgisi, mantk devreleri bilgisi, mikroilemci, donanm mimarisi, programlama ve
sistem gelitirme sreleri hakknda bilgi sahibi olmak gerekir.
Bu modlde, gml sistem iin ihtiya duyulan donanmsal ve yazlmsal bilgi ve
gereksinimler hakknda bilgi verilecektir.

RENME FAALYET1
AMA

RENME FAALYET1

Gml sistemlerin genel yaps hakknda bilgi sahibi olacaksnz.

ARATIRMA

Gnlk hayatta kullandnz akll ev aletlerinin almasn gzlemleyerek bu


aletlerin hangi durumlarda ne tr cevaplar verdiini not ediniz. Bu
fonksiyonlara ilave olarak Neler eklenirse daha verimli olabilir? sorusuna
cevap araynz.

1. GML SSTEM
Gnmzde ok yaygn olarak kullanlan gml sistemleri inceleyelim.

1.1. Gml Sistemin Tanm


Gml sistemi tanmlamak iin kullanlabilecek en temel ifade, CPU (merkez ilem
birimi) sistemine sahip donatm ya da tehizat olabilir.
Somut olarak nakit gielerindeki cihazlar (POS), cep telefonlar, amar makineleri,
gelimi diki makineleri, taksimetreler ve bunlara benzer tm cihazlar birer gml sistem
rndr.

1.1.1. Gml Sistem


Tketicilerin geneli, gelimi fonksiyonlu cep telefonlarnda 32 bit RISC (Reduced
Instruction Set Computing) CPU kullanldndan ve ilerinde gml sistem teknolojisi
olduundan habersizdir.
Gml sistemler, zel bir teknik yokken uzay almalar, asker donanm,
haberleme gibi alanlarda ska kullanlyordu. Bugn birok dijital aygtta gml sistemler
kullanlmaktadr.
Firmalar, rnlerinin daha kullanl ve daha ilevsel olmas iin gml sistemler
tercih etmektedir. Cep telefonlarnda, video oyunu makinelerinde, dijital uydu alclarnda
sklkla kullanlr.

1.1.2. Linux
Linux kullanc says giderek artan gml sisteminden biridir. Linuxun ardndan
tron ve VxWorks iletim sistemleri gelir.
Gml Linux, Linux kernelinin Linux datmclar tarafndan (kernel- iletim
sistemi ekirdei) zel ilevler iin deitirilmi hlidir.
3

VxWorks (WindRiver irketi (http://www.windriver.co.jp/)), tarafndan eitli dijital


rnler iin rettii gml iletim sistemleri vardr. VxWorksun, kontrol sisteminde
grebileceiniz e zamanl (realtime) OSleri bulunur.
ITRON ise e zamanl iletim sistemi rn deildir. Fakat standart zellikleri belirler.
ITRON iletim sistemi kurallarnn piyasa rnlerini grmek mmkndr. Makine kontrol
sistemleri, arabalarda yakt kontrol ve enjeksiyon sisteminde kullanlr. Yn bulma
sistemlerindeki e zamanl iletim sistemleri, ok daha karmak ve zordur.
Tablo 1.1de
kullanlan eitli iletim sistemleri grlmektedir. letim sistemi
seerken ek olarak karlatrlacak birok madde vardr. Bunlardan bazlar aada
sralanmtr.

Derlendikten sonra ROMda kaplad alan ne kadardr?


Grevler dinamik olarak ykleniyor mu?
Sanal depolamay destekliyor mu (virtual storage)?
MMU (memory management unit) (bellek ynetim nitesi) gerektiriyor mu?
Telif hakk creti gerektiriyor mu?

letim sistemi

Kullanc says

Program says

Ak kod

ITRON

Program

Grev

Evet

VRTX

Program

Grev

Hayr

PSOS

Program

Grev

Hayr

VxWorks

Program

Grev

Hayr

Nucleus

Program

Grev

Evet

OS 9

ok kullancl

Sre

Hayr

HardHatLinux

ok kullancl

Sre

Evet

Embedix

ok kullancl

Sre

Evet

Windows CE

Tek kullancl

Sre

Hayr

Unix

ok kullancl

Sre

Evet

Linux

ok kullancl

Sre

Evet

Windows NT, XP

ok kullancl

Sre

Hayr

Windows9X

Tek kullancl

Sre

Hayr

Tablo 1.1: Kullanlan eitli iletim sistemleri

Bellek fiyatlarnn dmesi mega byte snf ilemcilerin de fiyatlarnn dmesini


salad. Yksek seviye iletim sistemleri kullanldnda donanm performansnn da yksek
olmas gerekir. Windows iletim sistemi, program ve iletim sistemi derlemek iin
kullanlabir. Fakat ak kod olmad iin gml sistemlerde kullanlmas pek de kolay
deildir. Windows embedded srm kmtr fakat Linuxa gre ok daha fazla alan
kaplamaktadr.
Kullancya istedii zaman iletim sistemi kodlarnn iinde deiiklik yapabilme
imkn salad iin gml iletim sistemi yapmak ve derlemek Linuxta daha kolaydr.
Bundan dolay gml sistem iin Linux kullanlr.

1.1.3. Linux Ortamnn Avantajlar

Lisans: Birok ara yazlm ve uygulama ak kod lisans kullanr. Yasalara


gre kernelin lisans szlemesini iermesine gerek yoktur.

Aygt srcs: Daha nceden yaplm ve halka ak birok aygt srcs


bulunmaktadr. Yeni aygt srcs yapmak mmkndr.

A balants zellii: nternet iin ara yazlmlar gitgide oalmaktadr. Linux,


hli hazrda birok sunucu ilevini ve protokol yn ilevini gerekletirir.

Real-time zellii: Real-time zellii kernel 2,4te desteklenmemektedir. Bu


srm ok grevli (multi-task) ve ok kullancl (multiuser) iletim sistemidir.
Ama real-time ilevi olan kernel eitleri de vardr (HeadHat Linux). Linux
2.5.4ten sonraki srmler real-time zelliini desteklemektedir.

lev eklenebilirlilik ve hareket kabiliyeti: levselliini ve zelliklerini ana


bellein snrlar belirler.

CPU mimarisi: Linux ak kaynak kodlu olduu iin deiik CPU


mimarilerine tanmas, aktarlmas mmkn olabilmektedir.

Linux iletim sistemlerinde sadece bir CPUya zg yap oluturmak mmkndr.


Ak kaynak kodunun bir zellii de iletim sisteminin tanabilir zelliklerinin olmasdr.
Bylelikle Linux, telif hakknn gereksiz olduu, a zerinde alma yeteneinin ok
yksek olduu herkese ak bir cazibe merkezi ekline dnmektedir ve Linuxun bu
cazibesi gn getike artmaktadr.
Gelecekte Java ve Linux, ITRON ve VxWorksun yerini alabilir mi? sorusunun
cevab Hayr. olacaktr. Gml sistemlerde sistemde kullanlacak hafzann maliyeti,
kullanlacak CPU, gerek zamanl alma, haric arayzler gibi hususlara ncelik verilmekte
daha basit bir ifadeyle ok eitli istekler ortaya kmaktadr.
Gml sistem ihtiyalarndan doan iletim sistemi seimi problemi Linux ya da
Java platformunun seim nedenlerinden biri olabilir. unu unutmamak gerekir ki ITRON ve
VxWorks sahip olduklar kendilerine has iletim sistemini gelecekte de korumaya devam
edecektir.

1.1.4. Dier Gml Sistemler


ki tr gerek zamanl gml sistem vardr. Bunlar; donanmsal gerek zamanllk ve
yazlmsal gerek zamanllktr. Kontrol alannda yerlemi bir kuram vardr: nsanlar
bilgisayardan bir cevap beklerken bu sre en fazla 3 saniye olabilmektedir.
Dier yandan birka milisaniyede (ms) karar verilebilen ilemler olduu gibi
yzlerce mikrosaniye (s)de tamamlanmas gereken ilemler de olabilir.

Donanmsal gerek zaman, ilemin karar verilen srede tamamlanmas,


Yazlmsal gerek zaman, ilemin insann tahamml snrlar erevesinde en
ksa zamanda tamamlanmasdr.

Donanmsal Gerek Zaman Uygulamalar Yazlmsal Gerek Zaman Uygulamalar


PBX

Cep Telefonlar

Rout
er

PDA Yazc

letim Aygtlar
ATM Anahtarlar

Fax
Mikrodalga Frn

Uak Otomatik Pilot Sistemleri

Klimalar

Uzay Uydular Roket Kontrolleri


Saysal Kontrol Sistemli Makineler

Bilet Makineleri

retim Tabanl Robotlar(CNC vb.)


Araba Motor Kontrol Sistemleri
Araba ABS Sistemleri

Restaurant Sipari Terminalleri

Araba Dolam(Navigation) Sistemleri

Ev Robotlar

Yol Sinyalizasyon Sistemleri

Electronic Mzikal Enstrmanlar

Fotokopi

Tanabilir Oyun Konsollar


POS
Gvenlik Sistemleri

Asansrler
Salk Ekipmanlar
Elence Cihazlar
Tablo 1.2: Gml sistem uygulama alanlar

1.2. Gml Sistem Gelitirme Ortamlar


Yazlm gelitirme ortamlar (development environments) basit olarak "isel
derleyiciler" ve "apraz derleyiciler" eklinde ikiye ayrlabilir. Birok bilgisayarda Windows
iletim sistemi kullanlmasna karn Linux iletim sistemi yazlm gelitirme daha
yaygndr. Bununla ilgili kavramlar ve ilikileri aada srayla anlatlmtr.
Gml sistem tasarmnda kullanlabilecek en doru iletim sistemi Linuxtur.

1.2.1. sel ve apraz Derleyiciler


Gelitirme ortam host ve uygulama ortam hedef ayndr. Yani isel derleyiciler
ile kiisel bilgisayarlar iin gerekli olan programlar derlenir, daha sonra yine kiisel
bilgisayarlar zerinde yrtlr ya da altrlr. Bir baka adan programlar, Windows
ortamnda hazrlanrsa yine Windows ortamnda altrlr, Linux ortamnda hazrlanrsa
Linux ortamnda altrlr. Derleme ortam ile yrtme ortam ayn olduu zaman
programlarn annda altrlp sonularnn alnmas mmkn olabilmektedir.

1.2.2. apraz Derleyiciler


Gelitirme ortam "Host" ve uygulama ortam "Hedef" farkldr. apraz derleyicilerin
gelitirme srecinde ortaya kabilecek snrlamalara karn etkinlii artrmada pek ok
avantajlar mevcuttur.
Yazlan program host tarafnda yani gelitirme ortamnda derlenir, hata ayklamas
yaplr, hedefe yollanr ve altrlr. Cevaplar eer istenmi ise host tarafna geri dner ve
tekrar hata kontrol yaplp ilenir.
Eer kk gml sistemlerden bahsediyorsak gelitirme ortam srekli apraz
derleyiciler kullanlarak hazrlanacaktr.

1.2.3. Windows Ortamnda Linux Kullanm


apraz derleyiciler kullanlrken hedef ve kaynak derleyicilerin farkl olmas
nedeniyle karlalan pek ok gl aabilmek iin her ikisinde de Linux iletim
sisteminin kullanlmas uygun grlmtr.
Son zamanlarda oluan sistem yazlmlarn ya da program gelitirmede Linux
ortamnn kullanlmas abas, yeni bir ihtiyac da beraberinde getirmi ve Linux iletim
sistemini kurup Windowsu kaldrmay zorunlu klan durumlarn nne gemek iin
Windows iletim sistemi altnda Linux iletim sistemi imknlarn kullanclara sunan Linux
Emulatr Programlar gelitirilmeye balanmtr. Bunlara ek olarak gerekli olan gelitirme
elemanlar liste hlinde verilmitir.
Linux Emlatr
Editr

(Program yazabilmek iin)

Terminal Yazlm ve Ayarlar


FTP Server Yazlm ve Ayarlar
C Derleyicisi ve Ayarlar
Gml Sistem Ayarlar
Gml Sisteme Programlarn Gnderimi ve altrma
Tablo 1.3: Gelitirme Elemanlar

1.2.4. Linux Emulatrnn (CYGWIN) Kurulumu


Windows zerinde Linux varm gibi alma olana salayan ayrca GNU gelitirme
aralarn da iinde barndran bir programdr.
UNIXin APIlerinin Windows APIleri ile ii bittikten sonra ktphaneye aktarr ve
ktphaneye (Cygwin DLL) uygun olarak GNU (GCC ve binutils) gelitirme aralarn
kullanr.
8

Kuruluma balama

CD-ROM iindeki Cygwin dizinindeki setup.exeyi altrnz.

Resim 1.1: Cygwin setup ekran

Program kurulumu

Resim 1.2: Kuruluma balama

Program ykleme kayna seimi

Install from internet


Down from internet

Install from local Directory (CDROM iinde daha nceden kopyalanan yerde)
9

Resim 1.3: Ykleme kayna seimi

Root klasrnn yerinin belirtilmesi

Root Directory
C:\cygwin --- Install for (All Users) --- Default Text File Type (Unix)
All (bilgisayardaki tm kullanclar) veya Just Me (sadece ak olan kullanc iin
ykle). All Users seenei iaretlenir.
Unix (LF) veya DOS (CR+LF) seeneklerinden Unix seenei iaretlenir.

Resim 1.4: Root klasr seimi

10

Ykleme paketlerinin yerinin belirtilmesi

(CD-ROM srcs) :\Cygwin


Cd-rom srcs F olduu iin F:\Cygwin seilir.

Resim 1.5: Ykleme yerinin belirlenmesi

Yklenecek paketlerin seilmesi

+Alla tkladnda solunda install yazar ve tm paketler yklenmek zere seilir


ve ykleme ilemine gemek iin next butonu tklanr.

Resim 1.6: Ykleme paketlerinin seimi

11

Dosyalarn bilgisayara yklenmesi

Resim 1.7: Dosya ykleme

Simgelerin oluturulmas

Masastnde simge olumas iin Create icon on Desktop seenei iaretlenir.

Resim 1.8: Simge oluturma

12

Ykleme ileminin sonu

Resim 1.9: lemin sona ermesi

Batch dosyasnn dzenlenmesi (notpad.exe kullanarak)

Bir sonraki ilem olarak c:\Cygwin\Cygwin.bat dosyas dzenlemek iin alr.


@echo off
set MAKE_MODE=UNIX
set CYGWIN=binmode ntsec nontea
c:
chdir c:\Cygwin\bin
bash --login i

Bu satr eklendi
Bu satr eklendi

Sistem arma deime ayar

Set MAKE_MODE=UNIX
Windows NT/2000/XP iin
Windows9x/Me iin

Windows iletim sistemi ayarlar


set
CYGWN=binmode ntsec nontea
set
CYGWN=binmode nontsec nontea

Eer bilgisayar yneticisi deilseniz ve gvenlie ihtiyacnz yoksa 2. seenekteki


ayar yapabilirsiniz.

CYGWIN al ve kapan

Masastndeki simgeden alr.


BASH ekran aadaki gibidir.
(Bash: Bourne Again Shell Bourne UNIX in standart kabuudur. )

13

Resim 1.10: Bash ekran

Administrator
JICA-3BAC1EFB9E
~
$

: Giri yapan kullanc ad


: Bilgisayar ismi
: Kullancnn ev (home) klasr
: Komut promptudur. $dan sonra giri yaplabilir.

Administrator @ JICA-3BAC1EFB9E
exit

(Eer exit yazarsanz k yapabilirsiniz.)

1.2.5. Editr Program (VI)


gml sisteme nceden yklenmitir. Bu blmde Cygwin iindeki Vi
dzenleyicisinin nasl kullanld anlatlacaktr.
Cygwin,

Balang ve biti

Balang $

Biti

vi (dosya ad)
$ (shift)+zz

Vi dzenleyicisinin modlar

Vi dzenleyicisinin modu vardr. Bu mod Command mode (komut modu),


Text input mode (yaz giri modu) ve Execute mode (altrma modu)dur.
Vi editoru aldnda komut modunda alr. Eer bir giri yapmak isteniyorsa
Text input mode i(ekle) ile gemek gerekir veya a (bir sonraki satra ekle ) ya da o
(zerine yaz) seeneklerinden biri kullanlabilir. Ayrca ESC tuu ile komut moduna
klabilir.
alma moduna (shift + ;) ile geilebilir. alma modlar arasndaki iliki aadaki
gibidir.
14

ekil 1.1: Vi alma modlar

1.2.6. Terminal Program


Bilgisayar, gml sistem zerindeki konsolu kullanmaktadr. Aadaki ekilde de
grlecei gibi bilgisayar ve gml sistem apraz RS232C kabloyla baldr. Terminal
program olarak Windowstaki Hyper Terminal program kullanlacak, seri port ayarlar
aklanacaktr.
Start Programs Accessories- Communications- Hyper terminal yolu izlenerek
terminal program balatlr.

ekil 1.2: Gml sistem-PC balant protokol

15

Balant ismi ayar

Resim 1.11: Balant ismi belirleme

Seri port ayarlar

Resim 1.12: Seri port seimi

Seri port zellikleri ayarlar

Resim 1.13: Seri port ayarlar

16

Terminal penceresi

Resim 1.14: Terminal penceresi

Balanty kesme ve ayarlar kaydetme

Resim 1.15: Balanty kesme ve ayarlar kaydetme

1.2.7. FTP Sunucu Ayarlar


Bilgisayardan L-Carda dosya transfer etmenin 2 yolu vardr:

Rs232c ile
Tcp/Ip zerinden ftp ile

Rs232c, gml sistem konsolu iin ayrldndan dosya transferi iin srekli ayar
deitirilmesi gerekir. Bu olay, dosya transferinde sorun yaratabileceinden dosya transferi
iin rs232c kullanlmaz. Gml sistemin zerinde Ethernet arabirimi olduundan
dosya transferi iin ftp kullanlr. Gml sistem zerindeki Unix ftp sunucusu
almadndan ftp server bilgisayar tarafnda alr ve gml sistem bu ftp sunucuya
istemci olarak balanr.
Windows iin ftp sunucu kurulumu aadaki gibidir.

Masastne yeni bir dizin ap dizin adn ward165 yapnz.

17

Resim 1.16: Ward165 adnda dizin almas

Ward165.exe dosyasn atnz dizine kopyalaynz.

Resim 1.17: Dosyann dizine kopyalanmas

Ward165.exeyi altrnz.

Resim 1.18: Ward165 dosyasnn dizine almas

18

Masastne ksayol oluturunuz.

Resim 1.19: Ksayol oluturma

Programn ayarlar:

Add tklaynz.

Resim 1.20: FTP kullanc ekleme

Kullanc ad: Usr

Resim 1.21: FTP kullanc ad belirleme

19

ifre: Pass

Resim 1.22: FTP kullanc ifresi belirleme

User kullancnn izinleri deitirilir.

Resim 1.23: FTP kullanc izinlerine eriim

Dosya eriim ayarlar, paylama alacak dizinler ve FTP izinleri

Resim 1.24: FTP kullanc izinlerini ayarlama

20

Al ayarlar:

Resim 1.25: FTP balang ayarlar

Otomatik al ayarlar:

Resim 1.26: FTP otomatik al ayarlar

21

UYGULAMA FAALYET
UYGULAMA FAALYET
Gml sistem gelitirme ortamn kurallara uygun olarak kurunuz.
lem Basamakalr
Cygwin kurulumunu gerekletiriniz?
Hyperterminal kurulumunu
gerekletiriniz?
FTP kurulumunu gerekletiriniz?

neriler
Cygwin programn internetten cretsiz
olarak indirebilirsiniz.
Windows altndaki hyper terminali
kullannz.
renme faaliyetindeki programn
ayns kullanabilirsiniz.

22

LME VE DEERLENDRME
LME VE DEERLENDRME
Aadaki sorular cevaplaynz.
1.

sel derleyiciler ne demektir?

2.

apraz derleyiciler ne demektir?

3.

FTPde kullanc ayarlar nelerdir? zah ediniz?

4.

Rs232 ile TCP-IP balant nerelerde kullanlr?

DEERLENDRME
Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap
verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz.
Cevaplarnzn tm doru ise bir sonraki renme faaliyetine geiniz.

23

RENME FAALYET2
RENME FAALYET2
AMA
Gml sistem iin programlama becerisi kazanacaksnz.

ARATIRMA

C programlama rnekleri bulunuz ve algoritma hakknda bilgi sahibi olunuz.

2. GML SSTEM N
PROGRAMLAMA
Gml sistmein programlamas ile ilgili ayrntlar aada anlatlmtr.

2.1. Cygwin Komutlar (Linux ve Unix in)


Cygwin (Unix)in ok fazla komutu vardr. Bu blmde temel komutlarn nasl
kullanld aklanacaktr.

2.1.1. Dosya ve Dizin Komutlar


Pwd (print working directory) yazld andaki dizin bilgisini gsterir.
(dizin-path) Dizini deitir.

cd

nemli:
cd /
cd ~

Root dizinine git.


Home dizinine git.

veya cd

Dizin olutur.

mkdir (dizin-isim)
rmdir

(dizin-isim),rm

-r (dizin-isim)
-r

cp

(kaynak dosya)

mv (kaynak dosya)
rm

: Alt dizinleri ve dosyalar sil.


Dosya kopyala.

(hedef dizin)

Dosya ta.

(hedef dizin)

Dosya sil.

(dosya ismi)

chmode

Dizin sil.

(kullanc) [+/-] (zellik)

Kullanc izinlerinin deitirilmesi

24

Tablo 2.1: Linux kullanc zellikleri

2.1.2. Listeleme Komutlar

ls (seenek)

ls komutu, verilen seenee gre dosyalar listeler. Eer dosyalar hakknda bilgiye
ihtiya yoksa onlarn grntlenmesi engellenebilir. Kullanlabilecek seenekler Tablo
2.2deki gibidir.
al eklinde birden fazla seenei ayn anda kullanmak mmkndr.
Seenek

zellik

Seenek

Detaylar gsterir.

-l

-L

zellik
Sembolik

balar

grntler.
Ariv niteliklerini
grntler.

-a

-1

Dizinleri ya da dosyalar
tek satrda grntler.

Tablo 2.2: Kullanlabilecek komutlar

Cat

Cat komutu, dosya ieriini grntler. Dosyann ierii grlmek istenmediinde


rnein hello.c aadaki gibi yazlr.
cat hello.c
Bunun yan sra iki dosyay birletirip tek dosya hline getirmek amacyla da
kullanlabilir.
cat

ilk.txt ikinci.txt

> nc.txt
25

more

More komutu, dosya ieriini 1 sayfa ara vererek grntler.

Less

LESS komutu more komutuna benzer. Ama b tuuna basarak ters ynde ilerlemek ve
iinde arama yapmak mmkndr (less / aranacak kelime).

Redirect ve pipe

Redirect ve pipe komut deildir ama kabuun (shell) bir zelliidir. Bu komutlarla
komuta zellik eklemek mmkndr. Bu komutlar aadakileri ierir.

Redirect

Nereden

Anlam

<

filename

Dosya adndan oku.

>

filename

Dosya ismi zerine yaz.

filename Dosya ismi zerine ekleyip yaz.

>>
Pipe

Birletirilecek komut soluna yazlr.| Giri ise sana yaplr.

|
ls l | more
cat > test.txt

Dosya sayfa sayfa grntlenir.


Dosya ismi text.txt olan dosya olutur.

pwd

allan dizini gsterir.


Administrator @ JICA-3BAC1EFB9E

$ pwd
/home/ Administrator

cd

allan dizinden root dizinine gei yaplr ve dosyalar listelenir.


Administrator @ JICA-3BAC1EFB9E ~
$ cd /
Administrator @ JICA-3BAC1EFB9E /
$ ls
bin

cygwin.bat

cygwin.ico

etc

home

lib

sbin

tmp

usr

Cygwin dizinindeki dosya ve dizinleri kontrol ediniz. Windows iletim sisteminde


root dizini c:\a karlk gelir. Cygwinde ise c:\Cygwin root dizinidir. Ayrca
26

c:\Cygwin\home\Administrator (veya kullanc ad) dizini cywindeki home dizinidir.


Cygwin dizin dzeni aada gsterildii gibidir.

Resim 2.1: Cygwin dizini

Windows iletim sisteminde:

Resim 2.2: Cygwin dizin ierii

Cygwinde dizinlerin aa grnm ile gsterilmesi:

Cygwin deki -- iareti, / iareti anlamndadr.


/home/Administrator ayn eydir.
27

Home dizini (~) veya

Mkdir

Data test1~test4 dizinlerinin home dizininde oluturulmas:

cp

Hello.txt dosyasnn text1 dizininden text2 dizinine kopyalanmas:

mv

Hello. txt dosyasnn text2 dizinine text3 dizinine tanmas:


Administrator @ JICA-3BAC1EFB9E
$ mv

hello. txt

~/test2

~/test3

Administrator @ JICA-3BAC1EFB9E

~/test2

$ ls
Administrator @ JICA-3BAC1EFB9E
$ cd

~/test2

~/test3
28

Administrator @ JICA-3BAC1EFB9E

~/test3

$ ls
hello. txt

rm

Hello. txt dosyasnn test3 dizininden silinmesi:


Administrator @ JICA-3BAC1EFB9E ~/test3
$ rm hello. txt

rmdir

text2~4 dizinlerinin silinmesi:


Administrator @ JICA-3BAC1EFB9E
$ cd
~
Administrator @ JICA-3BAC1EFB9E
$ rmdir test2 test3 test4

~/test2
~

chmod

Hello.txt dosyasnn eriim haklarnn deitirilmesi:


Administrator @ JICA-3BAC1EFB9E ~
$ cd
test1
Administrator @ JICA-3BAC1EFB9E ~/test1

29

Tm kullanclarn eriim hakk sadece okunabilir yaplyor.


Administrator @ JICA-3BAC1EFB9E ~/test1
$ chmod a-w
hello. txt

Rootun kabul ettii dier srclere erimek (cd-rom gibi)

c:\(windows root) gibi bir dizine ya da baka bir dizine erimek istendiinde
aada gsterildii gibi yazlr.
/ cygdrive / (src ad)

tar (tape sktrc)

tar birok dosyay tek bir dosyada saklayp arivlemeyi salar. Gzip ise dosyalar
sktrr. Genellikle tar ve gzip birlikte kullanlr.
Aada baz tar seeneklerini grebilirsiniz. tar -(seenek) (dosya ad)
Anlam

Seenek
c

Yeni ariv dosyas olutur.

Arivi a.

Arivi aarken gzipi kullan.

Arivi aarken gzip2yi kullan.

allan dosyalar gster.

zel dosya (Tape gerektirir.)


30

2.2. apraz Derleyici Kurulumu


apraz derleyici, Cygwin-cross-Mipsel-Linux.tar.bz2 isimli dosyadr. Arivi ama
ilemi aadaki gibidir.
$tar xvjf /cygdrive/d/special/Mipsel-Linux-Gcc/Cygwin-cross-Mipsel-Linux.tar.bz2

2.2.1. Gcc (sel Derleyici) ve Mipsel-Linux-Gcc (apraz Derleyici)


Aadaki kodu yaznz ve data dizinine hello.c ismi ile kaydediniz.
sel (tekil) derleyici iin Gcc kullanlr. apraz derleyici olarak bu sistem iin
Mipsel-Linux-Gcc kullanlr (kullanlan MCU dan dolay).
hello-self ve hello-cross olarak iki derleyici ile derleyiniz.
#include<stdio.h>
int main()
{
printf(Hello C World/n);
return 0;
}
31

Derleme komutu
Format: Gcc

(seenek1) (seenek2) alacak-dosya ad kaynak-dosya ad

Seenekler hakknda
Seenek1 : Bu seenek temel uyumluluk iin yaplr. rnein;-O kodu kaplad alan
drr ve abuk almasn salar.
Seenek2 : -o Bu seenek derlenecek kaynak dosyann ismi ile kta oluacak
altrlabilir dosyann isminin farkl olmasn salar.

Derleme

Cygwindeki dosya komutu

Bu komut dosyann ne olduu hakknda, hangi CPU iin olduu konusunda bilgi verir.
Format file (dosya ad)

altrma ./ Anlam, allan klasr.

32

2.2.2. Mipsel-Linux-Gcc ile apraz Derleme

Derleyici komutlar

Format
Mipsel-Linux-Gcc (seenek1) (seenek2) (seenek3) exe-dosya ad kaynak-dosya ad
(option4)
Seenekler
Seenek1:Bu seenek temel uyumluluk iin yaplr. rnein;-O kodu kaplad alan
drr ve abuk almasn salar.
Seenek2 : -Static sistem dinamik balayclar paylalan ktphanelere balamasn
salar.
Seenek3 :-o
Bu seenek derlenecek kaynak dosyann ismi ile kta oluacak
altrlabilir dosyann isminin farkl olmasn salar.
Seenek4 : -s Bu seenek btn sembol tablosu ve ynlendirme bilgilerinin
temizlenmesini salar (strip seenei).
Dikkat! Linux ayarlar ve L-Card, varsaylan olarak DLLleri kullanmadndan
static eklenmelidir.

Derleme:

altrma:

Hello-cross altrlabilir dosyas L-Card iin derlendii iin Cygwin zerinde


altrlamaz. Hello-cross.exe gml sisteme transfer edildikten sonra altrlabilir.
33

UYGULAMA FAALYET
UYGULAMA FAALYET
Aadaki ilem basamaklarn dikkate alarak gml sistem iin programlama
yapnz.
lem Basamaklar
C programn yaznz.
sel derleme yapnz.
apraz derleme yapnz.
Program altrnz.

neriler
Uygun bir editr kulannz.
Gcc derleyicisini kullannz.
Faaliyette kullanlan derleyiciyi
kullannz.
Doru olarak alp almadn
gzleyiniz.

34

LME VE DEERLENDRME
LME VE DEERLENDRME
Aadaki sorular dikkatlice okuyunuz ve doru seenei iaretleyiniz.
1.
Linux komutlarndan dosya sktrma ve amaya yarayan komut aadakilerden
hangisidir
A) Rar
B) Zip
C) Tar
D) D)Gnu
2.
Aadaki komutlardan hangisi ile tm dosya ve klasrler zellikleri ile birlikte
listelenir?
A)
B)
C)
D)
3.

Aadaki komutlardan hangisi bulunulan klasr grmemize yarar?


A)
B)
C)
D)

4.

ls-al
Dir
Ls
ld

cd
Pwd
Ls
Cp

Aadaki komutlardan hangisi dosya ieriini grmemizi salar?


A)
B)
C)
D)

term
Cp
Cat
dv

DEERLENDRME
Cevaplar Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da
cevap verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz.
Cevaplarnzn tm doru ise Modl Deerlendirmeye geiniz.

35

MODL DEERLENDRME
MODL DEERLENDRME
Bu modl kapsamnda aada listelenen davranlardan kazandnz becerileri Evet
ve Hayr kutucuklarna ( X ) iareti koyarak kontrol ediniz.

Deerlendirme ltleri
1.
2.
3.
4.
5.
6.
7.
8.

Evet

Hayr

Gml sistemin ne ie yaradn anladnz m?


Linuxun gml sistem stnlklerini anladnz m ?
Gml sistem gelitirme ortamlarn kullandnz m ?
sel ve apraz derleyicilerin farklarn anladnz m ?
Cygwin programn kullandnz m?
FTP sunucu ayarlarn doru olarak yaptnz m ?
Dosya ve dizin komutlarn kullandnz m ?
apraz derleyici kurdunuz mu ?

DEERLENDRME
Deerlendirme sonunda Hayr eklindeki cevaplarnz bir daha gzden geiriniz.
Kendinizi yeterli grmyorsanz renme faaliyetlerini tekrar ediniz. Btn cevaplarnz
Evet ise bir sonraki modle gemek iin retmeninize bavurunuz.

36

CEVAP ANAHTARLARI
CEVAP ANAHTARLARI
RENME FAALYET-1N CEVAP ANAHTARI
1. sel Derleyici: sel derleyiciler ile kiisel bilgisayarlar iin gerekli olan
programlar derlenir, daha sonra yine kiisel bilgisayarlar zerinde yrtlr ya da altrlr.
2. apraz Derleyici: Yazlan program Host tarafnda yani gelitirme ortamnda
derlenir, hata ayklamas yaplr, hedefe yollanr ve altrlr. Cevaplar eer istenmi ise
Host tarafna geri dner ve tekrar hata kontrol yaplp ilenir.
3. FTP kullanc ayarlar: FTP iin kullanc ad ve ifresi verilmelidir. Bylelikle
FTP balants yaplabilir.
4. Rs232 ve TCP IP, balant ayarlarn yapmak iin kullanlabilir. Sonraki
uygulamalarda ise TCP IP kullanlabilir.
RENME FAALYET-2NN CEVAP ANAHTARI
1.
2.
3.
4.

C
A
B
C

37

KAYNAKA
KAYNAKA

AKDOAN Murat, Endstriyel rn Tasarm Ders Kitab, ETOGM, JICA,


2003

38

You might also like