gömülü sistemler 1
Embed Size (px)
DESCRIPTION
Gömülü SistemlerTRANSCRIPT
-
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.
-
i
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
NDEKLER
-
ii
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
MODLN AMACI
Genel Ama Gml sistem kartn teknik zelliklerine ve programlama tekniklerine uygun olarak kullanabileceksiniz.
Amalar 1. Gml sistem gelitirme ortamn kurallarna uygun olarak kuracak ve kullanabileceksiniz.
2. apraz derleyici kurulumunu ve kullanmn kurallarna uygun olarak yapabileceksiniz.
ETM RETM ORTAMLARI VE
DONANIMLARI
Ortam: Elektronik laboratuar
Donanm: Bilgisayar, gml sistem deney setleri
LME VE DEERLENDRME
Modl iinde yer alan her renme faaliyetinden sonra verilen lme aralar ile kendinizi deerlendireceksiniz.
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.
AIKLAMALAR
-
1
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.
GR
-
2
-
3
RENME FAALYET1
Gml sistemlerin genel yaps hakknda bilgi sahibi olacaksnz.
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.
RENME FAALYET1
AMA
ARATIRMA
-
4
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
-
5
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.
-
6
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.
-
7
Donanmsal Gerek Zaman Uygulamalar Yazlmsal Gerek Zaman Uygulamalar
PBX
Rout
er
letim Aygtlar
ATM Anahtarlar
Uak Otomatik Pilot Sistemleri
Uzay Uydular Roket Kontrolleri
Saysal Kontrol Sistemli Makineler
retim Tabanl Robotlar(CNC vb.)
Araba Motor Kontrol Sistemleri
Araba ABS Sistemleri
Araba Dolam(Navigation) Sistemleri
Yol Sinyalizasyon Sistemleri
Asansrler
Salk Ekipmanlar
Elence Cihazlar
Cep Telefonlar
PDA Yazc
Fotokopi
Fax
Mikrodalga Frn
Klimalar
Bilet Makineleri
Tanabilir Oyun Konsollar
Restaurant Sipari Terminalleri
POS
Gvenlik Sistemleri
Ev Robotlar
Electronic Mzikal Enstrmanlar
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.
-
8
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.
-
9
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)
-
10
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
-
11
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
-
12
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
-
13
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.
Sistem arma deime ayar
Set MAKE_MODE=UNIX Windows iletim sistemi ayarlar Windows NT/2000/XP iin set CYGWN=binmode ntsec nontea Windows9x/Me iin 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. )
@echo off
set MAKE_MODE=UNIX Bu satr eklendi set CYGWIN=binmode ntsec nontea Bu satr eklendi c:
chdir c:\Cygwin\bin
bash --login i
-
14
Resim 1.10: Bash ekran
Administrator : Giri yapan kullanc ad JICA-3BAC1EFB9E : 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)
Cygwin, gml sisteme nceden yklenmitir. Bu blmde Cygwin iindeki Vi dzenleyicisinin nasl kullanld anlatlacaktr.
Balang ve biti
Balang $ vi (dosya ad) Biti $ (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.
-
15
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
-
16
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
-
17
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.
-
18
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
-
19
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
-
20
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
-
21
Al ayarlar:
Resim 1.25: FTP balang ayarlar
Otomatik al ayarlar:
Resim 1.26: FTP otomatik al ayarlar
-
22
UYGULAMA FAALYET
Gml sistem gelitirme ortamn kurallara uygun olarak kurunuz.
lem Basamakalr neriler
Cygwin kurulumunu gerekletiriniz? Cygwin programn internetten cretsiz
olarak indirebilirsiniz.
Hyperterminal kurulumunu gerekletiriniz?
Windows altndaki hyper terminali kullannz.
FTP kurulumunu gerekletiriniz? renme faaliyetindeki programn
ayns kullanabilirsiniz.
UYGULAMA FAALYET
-
23
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.
LME VE DEERLENDRME
-
24
nemli:
cd / Root dizinine git.
cd ~ veya cd Home dizinine git.
mkdir (dizin-isim)
RENME FAALYET2
Gml sistem iin programlama becerisi kazanacaksnz.
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.
cd (dizin-path) Dizini deitir.
Dizin olutur.
rmdir (dizin-isim),rm -r (dizin-isim) Dizin sil.
-r : Alt dizinleri ve dosyalar sil.
cp (kaynak dosya) (hedef dizin) Dosya kopyala.
mv (kaynak dosya) (hedef dizin) Dosya ta.
rm (dosya ismi) Dosya sil.
chmode (kullanc) [+/-] (zellik) Kullanc izinlerinin deitirilmesi
AMA
ARATIRMA
RENME FAALYET2
-
25
Seenek zellik Seenek zellik
-l Detaylar gsterir. -L Sembolik balar
grntler.
-a Ariv niteliklerini
grntler.
-1 Dizinleri ya da dosyalar
tek satrda grntler.
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.
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
-
26
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.
Nereden Anlam
Redirect < 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 Dosya sayfa sayfa grntlenir. cat > test.txt 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
-
27
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 dizini (~) veya
/home/Administrator ayn eydir.
-
28
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 ~/test2
$ mv hello. txt ~/test3
Administrator @ JICA-3BAC1EFB9E ~/test2
$ ls
Administrator @ JICA-3BAC1EFB9E ~/test2
$ cd ~/test3
-
29
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 ~/test2
$ cd ~
Administrator @ JICA-3BAC1EFB9E ~
$ rmdir test2 test3 test4
chmod
Hello.txt dosyasnn eriim haklarnn deitirilmesi: Administrator @ JICA-3BAC1EFB9E ~
$ cd test1
Administrator @ JICA-3BAC1EFB9E ~/test1
-
30
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)
Seenek Anlam
c Yeni ariv dosyas olutur.
x Arivi a.
z Arivi aarken gzipi kullan.
j Arivi aarken gzip2yi kullan.
v allan dosyalar gster.
f zel dosya (Tape gerektirir.)
-
31
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
int main()
{
printf(Hello C World/n); return 0;
}
-
32
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.
-
33
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.
-
34
UYGULAMA FAALYET
Aadaki ilem basamaklarn dikkate alarak gml sistem iin programlama yapnz.
lem Basamaklar neriler
C programn yaznz. Uygun bir editr kulannz. sel derleme yapnz. Gcc derleyicisini kullannz.
apraz derleme yapnz. Faaliyette kullanlan derleyiciyi
kullannz.
Program altrnz. Doru olarak alp almadn
gzleyiniz.
UYGULAMA FAALYET
-
35
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) ls-al B) Dir C) Ls D) ld
3. Aadaki komutlardan hangisi bulunulan klasr grmemize yarar?
A) cd B) Pwd C) Ls D) Cp
4. Aadaki komutlardan hangisi dosya ieriini grmemizi salar?
A) term B) Cp C) Cat D) 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.
LME VE DEERLENDRME
-
36
MODL DEERLENDRME Bu modl kapsamnda aada listelenen davranlardan kazandnz becerileri Evet
ve Hayr kutucuklarna ( X ) iareti koyarak kontrol ediniz.
Deerlendirme ltleri Evet Hayr
1. Gml sistemin ne ie yaradn anladnz m?
2. Linuxun gml sistem stnlklerini anladnz m ?
3. Gml sistem gelitirme ortamlarn kullandnz m ?
4. sel ve apraz derleyicilerin farklarn anladnz m ?
5. Cygwin programn kullandnz m?
6. FTP sunucu ayarlarn doru olarak yaptnz m ?
7. Dosya ve dizin komutlarn kullandnz m ?
8. 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.
MODL DEERLENDRME
-
37
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. C
2. A
3. B
4. C
CEVAP ANAHTARLARI
-
38
KAYNAKA
AKDOAN Murat, Endstriyel rn Tasarm Ders Kitab, ETOGM, JICA, 2003
KAYNAKA