Haberleşme Protokollerinde String Veri Gönderme

Merhaba arkadaşlar;

Bugün sizlere haberleşme protokollerinin genelinde karşılaşılan bir problemin çözümünden bahsedeceğim. Mikroişlemci ile çalışan arkadaşlar bilir, bir mikrodenetleyiciden herhangi bir protokol ( uart,spi,I2c vs. ) ile bilgi göndermek istersek göndereceğimiz bilginin char tipinde bir karakter olması gerekir. Bilgisayar programlamada printf(” “) fonksiyonuna alışmış arkadaşlar için char tipinde bir veriyle başka bir mikro denetleyiciye veya çevresel bir birime bilgi iletmek sıkıntılı bir iştir.

C gibi makineye yakın dillerde string veri tipi tanımlı değildir. Bunun yerine string ifadeler karakter dizileri içerisinde saklanır. Bu karakter dizileri kısaca char karakter[]="Bilgi" şeklindedir.

String ifadeleri haberleşme protokolleri ile gönderebilmek için her bir karakteri tek tek göndermemiz gerekir.  Bu gönderme işlemini yerine getirecek bir fonksiyon yazarak, göndermek istediğimiz string ifadeleri rahatlıkla gönderebiliriz.

Bunun mantığını anlayabilmeniz için Dev C++’da bir küçük bir kod parçası yazdım. Bu kod parçasını kendi sisteminize uyarlayarak string gönderme probleminin üstesinden gelmiş olursunuz.

Eğer kullandığınız derleyici gerek duymuyorsa include dosyalarını eklemeden de bilgiyi gönderebilirsiniz.

Dev C++ Kodları

Dev C++ Kodları

kodlarda geçen strlen(yazi) ifadesi yazi adındaki karakter dizisinin uzunluğunu veren bir fonksiyondur ve string.h başlık dosyasının içerisinde tanımlıdır.

yukarıdaki kodları derleyip çalıştırdığımızda karşımıza gelen ekran aşağıdaki şekildedir.

Ekran Görüntüsü

Ekran Görüntüsü

Selametle …

Reklamlar

Spi ile PIC’ler Arası Haberleşme

Merhaba arkadaşlar;
Bu yazımda Spi Haberleşme Protokolü ile ilgili edindiğim tecrübeleri paylaşacağım.
Haberleşme protokollerinde amaç, bilginin bir birimden, mikro denetleyiciden veya cihazdan başka bir birime, mikro denetleyiciye veya cihaza iletilmesini sağlamaktır.
Haberleşme protokolleri ile ilgili daha detaylı bilgiye buradan ulaşabilirsiniz.

Öncelikle “Spi nedir ?” sorusundan başlamak gerektiğini düşünüyorum.
Spi ( Serial Peripheral Interface), dilimize  “Seri Çevresel Arayüz” olarak çevrilmektedir. İsminden de anlaşıldığı üzere Spi bir seri haberleşme protokolüdür. Spi haberleşme protokolünü, Motorola firması kendi mikro denetleyicileri için geliştirmiş, sonrasında ise bir standart olarak benimsenerek diğer mikro denetleyici üreten firmalar tarafından da kullanılmaya başlanmıştır.

Spi haberleşme protokolünde cihazlar arasında Master-Slave ilişkisi vardır. Master cihaz Slave cihazları yönetmek ve onlara işlemler yaptırmak ile yükümlüdür. Slave cihaz ise Master cihazdan gelen bilgilere göre işlem yapmak ile yükümlüdür. Bir master cihaza birden çok slave cihaz bağlanabilir. Ama aynı anda Slave cihazlardan sadece bir tanesi aktif olarak Master cihaz ile bilgi alışverişi gerçekleştirir.

Aynı anda veri alıp gönderebilen ( senkron haberleşme ) sistemlere full duplex sistemler denir. Spi protokolü de full duplex bir haberleşme protokolüdür.Yani Master mikro denetleyici spi haberleşmesini başlattığı anda hem bilgi gönderir, hem de bilgi alır. Aynı durum Slave mikro denetleyici için de geçerlidir.

Tek Slave Spi Haberleşmesi

Tek Slave Spi Haberleşmesi

Yukarıdaki resimde Tek Slave Spi Haberleşmesinin kullanıldığı bir sistem verilmiştir. Bu sistemin davranışını belirleyen pinlere ait lojik diyagram ise aşağıda verilmiştir.

Spi Haberleşmesinin Lojik Diyagramı

Spi Haberleşmesinin Lojik Yapısı

SS/CS: Slave Slect/Chip Slect
Spi’da Master cihazdan Slave cihaza bilgi aktarabilmek için Slave cihazın yetkilendirilmesi gerekmektedir. Slave cihazın yetkilendirilmesi için SS pininin lojik sıfır seviyesine çekilmesi gerekir. Master mikro denetleyicideki Slave Slect pinin sayısı Slave cihaz sayısına eşittir. Birden fazla Slave cihaz varsa, bilgi gönderilmek istenen Slave cihaz kendine bağlı olan SS pini ile seçilir ve haberleşme yapılır. Böylelikle gönderilen bilgiler sadece haberleşmek istenen cihaza iletilir.

SCLK: Serial Clock
Saat darbesi verilerin lojik olarak iletilmesini sağlar.
Slave cihaz yektilendirildikten sonra haberleşmenin başlayabilmesi için saat darbesine ihtiyaç vardır. Saat darbesi Master mikro denetleyici tarafından sağlanır ve SCLK üzerinden Slave mikro denetleyiciye aktarılır.

MOSI: Master Output Slave Input
Master cihazdan Slave cihaza MOSI pini üzerinden bilgiler aktarılır. Bu bilgilerin aktarılması için Master mikro dentleyici SS pinini lojik sıfır seviyesine çekmeli ve SCLK üzerinden saat darbesi üretmelidir.

MISO: Master Input Slave Output
Slave cihazdan Master cihaza MISO pini üzerinden bilgiler gönderilir. Bu bilgilerin aktarılması için Master mikro dentleyici SS pinini lojik sıfır seviyesine çekmeli ve SCLK üzerinden saat darbesi üretmelidir.

Çoklu Slave Spi Haberleşmesi

Çoklu Slave Spi Haberleşmesi

Yukarıdaki resimde ise Çoklu Slave Spi Haberleşmesi gösterilmektedir. Daha önce söylendiği üzere hangi mikro denetleyici ile haberleşileceği master cihaz tarafından belirlenir.

Şimdi ise Spi Protokolünün mantığını anlamak için yaptığım basit bir uygulamayı paylaşacağım. Burada iki mikro denetleyici üzerinde haberleşme yapılacağı için Slave Select pinine ihtiyaç yoktur. Yalnız uygulamanın simülasyon ortamında çalışması için bir SS pini tanımlanıp, Spi Debugger’a bağlanmıştır.
Şekilde görüldüğü gibi Master mikro denetleyiciye bağlı 7 tane butonun Spi haberleşme protokolü ile Slave mikro denetleyicide ki 7 ledi yakması sağlanmıştır.

Master Mikro Denetleyici

Master Mikro Denetleyici

Master Mİkro Denetleyici Butonları

Master Mİkro Denetleyici Butonları

Slave Mikro Denetleyici

Slave Mikro Denetleyici


Kodlar ve Benzetim Dosyası

Selametle …

Kaynaklar:
1-Wikipedia
2-Pic Proje
3-Ramazan Sural
4-İstanbul Teknik Üniversitesi

Haberleşme Protokolleri Neden Kullanılır ?

Merhaba arkadaşlar;

Bu yazımda sizlere haberleşme protokollerinden bahsedeceğim.

Haberleşme protokollerinde amaç, bilginin bir birimden, mikro denetleyiciden veya cihazdan başka bir birime, mikro denetleyiciye veya cihaza iletilmesini sağlamaktır. Bilginin aktarım amacına göre alıcı cihaz tarafından çok çeşitli işlemler yapılabilir.Örneğin evlerimizde bulunan klimaları uzaktan kumanda ile yöneterek, klimanın odayı bizim istediğimiz oda sıcaklığında tutmasını sağlarız. Burada bilgiyi gönderen cihaz kumanda, alan cihaz ise klimadır. Klima aldığı bilgiye göre bir kontrol işarati üreterek odanın belirlenen bir sıcaklıkta tutulmasını sağlar. Bu işlemin arka planında da haberleşme protokolleri vardır.

Klima

Haberleşme protokolleri fiziksel yapısına göre ikiye ayrılır. Bunlar paralel haberleşme protokolleri ve seri haberleşme protokolleridir.

Paralel haberleşme protokollerinde bilgiler alıcıya paralel data hatları üzerinden gönderilir.

Paralel iletisim

Paralel haberleşme protokollerinde gönderilen bilgiler alıcı birime seri haberleşme protokollerinden daha hızlı iletilir.Bu nedenle hız gerektiren uygulamalarda tercih edilir. Bunun en güzel örneği mikro denetleyicilerin iç mimarisidir. Mikro denetleyicilerin 8 bitlik, 16 bitlik vs. olduğunu duymuşsunuzdur. Bu, mikro denetleyicinin iç yapısında bulunan çekirdeğin ve data iletim hatlarının şeklini ifade etmektedir.

Data BusYukarda Microchip firmasına ait bir mikro denetleyicinin iç mimarisini görmektesiniz. Burada görüldüğü gibi 8 bitlik çekirdek çevresel birimlerle paralel veri hattı üzerinden haberleşir.

Paralel haberleşmenin dezavantajı ise, bilgiler paralel olarak gönderildiği için gönderilen bilginin bit uzunluğu kadar fiziksel data hattı kullanılması gerekir. Bu haberleşme türü mikro kontrolörün harici çevresel birimlerle haberleşmesinde tercih edilmek istenmez.Mikro denetleyicinin pin sayısı en önemli kısıtlarındandır. Paralel haberleşme ile çok fazla pin kullanılır.

Bu iletişim harici hafızadan veri okumak için, lcd’ye bilgi yazmak için vb. uygulamalarda kullanılır.  Eğer haberleşmenin seri iletişim ile yapılma imkanı varsa seri iletişim tercih edilir. Bunun için ise yapılacak uygulamada kullanılan harici çevresel birimlerin seri haberleşmeyi destekleyenleri tercih edilmelidir.

Seri haberleşme protokollerinde bilgiler tek bir data hattı üzerinden gönderilir.

Seri iletisim

Yukarıda 2 tane mikro kontrolörün birbiri ile seri iletişim üzerinden haberleşmesi gösterilmiştir. Burada önemli nokta paralel iletime göre mikro kontrolörlerin daha az fiziksel pini kullanılarak iletişim sağlanmıştır.

Seri iletişimde kullanılan standartlaşmış birçok protokol vardır. Can-Bus, Spi, I2C, RS 232, Usb, Uart bunlardan birkaçıdır. Geliştirilecek projelere göre kullanılan protokollerde değişmektedir. Örneğin geliştirilen projede sistemin hataya toleransı yok ise hata oluşma ihtimali en düşük olan protokol tercih edilmelidir.

Burada değinilmesi gereken bir konuda seri iletişimde verilerin nasıl gönderildiğidir. Bu kullanılan protokole göre değişmekle beraber en basit mantığı ile veri, saat darbelerinde gönderilir. Mikro denetleyicinin seri iletişim için ürettiği her saat darbesinde 1 bit gönderilir.

seri data transferi

Selametle …

ADC Nasıl Çalışır ?

Merhaba arkadaşlar;
Bugün sizlere ADC ( Analog Digital Converter ) biriminin nasıl çalıştığından bahsedeceğim. Bu işlemler marka veya model farketmeksizin ADC birimi bulunan mikro denetleyicilerin ADC biriminin nasıl çalıştığını anlamanızı sağlayacaktır.
Öncelikle ADC’nin ne anlama geldiğinden bahsedeyim. Analog Digital Converter ( Analog Dijital Dönüşütürücü ) bizim dış ortamdan alacağımız sürekli – zaman bir işareti mikro denetleyicimizin işleyebileceği veya anlamlandırabileceği bir işarete dönüştüren birimdir.Bu birim bizim bir sistemin cevabını veya karakteristiğini mikro denetleyici ile kontrol edebilmemizi sağlar.
Sayısal işaret işleme uygulamalarında, kontrol mühendisliğinde ve daha birçok alanda dış ortamdan alınan bilgilerin bilgisayar veya bilgisayar türevleri olan mikro denetleyici gibi aygıtlarda işlenmesi gerekir. Dış ortamdan alınan bilgiler zaman sürekli zaman bir işarettir. Bu işaretler devam ettikleri aralık boyunca sonsuz sayıda örnek içerir. Mikro denetleyicilerin ise çalışma frekansı ve saniyede yapabileceği işlem sayısı sınırlıdır. Bu sürekli zaman işaret yerine mikro denetleyiciye dijital bir işaret gönderilerek mikro denetleyicinin işaretimizi işlemesi sağlanır.

Bu işlemlerin sırası şu şekildedir. Alınan analog bilgi örneklenir, örnekledikten sonra kuantalanır ve mikro denetleyicinin anlayabileceği dile çevrilir. Böylelikle gelen işarete göre kontrol işareti oluşturulabilecektir.

ornekleme

Yukardaki grafikte görüldüğü gibi sürekli-zaman bir analog işaret, örneklenerek ayrık-zaman işarete dönüştürülmüştür. Burada unutulmaması gereken nokta işaretimiz hala dijital bir işaret değildir.
Dijital bir işaret olabilmesi için 1 ve 0’lar ile ifade edilmesi gerekir.
İşareti 1 ve 0’lar cinsinden ifade etmek için örneklenmiş işareti kuantalamamız gerekir. Kuantalama işleminde ise kullanacağımız ADC biriminin kaç bit olduğu önemlidir. Örneğin 10 bitlik bir ADC birimimiz olsun. Bit sayısı ADC biriminin çözünürlüğünü ifade eder. Bu ADC birimi (2^10)=1024 değer ile örnekleme yapar. Yukarıdaki analog işaretimizin maksimum genliği 10 birimdir. Bu şartlarda bizim kullanacağımız ADC biriminin adım büyüklüğü aşağıdaki gibi hesaplanır.

Adım_buyukluguYukarıdaki denklem bize genlik değerinin her 0.009766 birim artışının dijital  binary sayının bir değer artışını ifade ediyor.

genlik_bit_degisimi

Yukarıdaki tablodan da anlaşıldığı gibi ayrıklaştırılmış işaretin her bir sıfırdan farklı örneği için binary sayılar elde edilir. Bu binary sayılar örneklenmiş işaretin genliğine uygun olarak değişir.  Bu oluşturulan binary sayılar belirli bir frekansta birbirini takip ederek ( kare dalga oluşturacak şekilde 1 ve 0’lar dizisi olarak) mikro denetleyiciye gönderilir.

Mikro denetleyici gelen dijital bilgiye göre işlem yapar ve sonucunda kontrol işareti oluşturur.

Selametle …

Octave’de Fonksiyonun Kök Değerlerini Hesaplatmak

Merhaba arkadaşlar;
Bugün sizlere Octave programında kök değerlerinin nasıl hesaplatılacağından bahsedeceğim. Öncelikle Octave Programı, Matlab Programı ile aynı özelliklere sahip açık kaynak kodlu bir yazılımdır. Kısacası herkesin kullanımına açık ve ücretsizdir. Bu yazılımın android üzerinde de mobil uygulaması var ve bu uygulama üzerinde .m uzantılı matlab dosyalarını ve .octaverc uzantılı Octave dosyalarını derleyebilirsiniz. Bu uygulama ile bilgisayar ortamında yapabildiğiniz hesaplama işlemlerinin çoğunu telefonunuz üzerinde yapabilirsiniz.
“Peki neden kök değerlerinin hesaplatılması ile ilgili bir uygulama yapıyorsun ?” diye bir soru sorabilirsiniz.
Ders çalışırken her zaman yanımda bilgisayarım olmuyor. Bazen kök değerlerini hesap makinemin hesaplayamayacağı fonksiyonlar ile ilgili işlemler yapıyorum. Buna en güzel örnek Otomatik Kontrol Dersi’nde fonksiyonlar ile yaptığımız işlemler verilebilir.
Fonksiyonların karalı olabilmesi için kök değerlerinin komplex düzlemin sol yarısında olması veya komplex düzlem üzerinde olması gerekiyor.
Kök değerlerini hesaplamadan bulmak için çeşitli yöntemler geliştirilmiş. Bunlardan bir tanesi Routh-Hurwtiz Kriteridir. Burada bulduğunuz sonucun doğruluğunu teyit etmek için fonksiyonu bilgisayarda Matlab yada Octave gibi matematiksel hesaplamalar yapan programlara yazıp hesaplatmanız gerekir.
Bu işlemleri en basit yoldan yanınızdaki akıllı telefon ile yapabilirsiniz.
Aşağıda buna örnek bir uygulama verdim.

Octave'de Koşturulan Program

Octave’de Koşturulan Program

Octave'in Mobil Uygulaması

Octave’in Mobil Uygulaması

Selametle…

PWM Duty Cycle Değerini Ayarlama

Merhaba arkadaşlar;

Bugün sizlere Pic mikro denetleyicilerinden 16f877a ile PWM sinyalinin nasıl ayarlandığını göstereceğim. Öncelikle sizlere PWM sinyalinden biraz bahsetmek istiyorum. PWM, Pulse Width Modulation ingilizce kelimelerinin kısaltmasıdır. Türkçede ise bu Darbe ( Dalga ) Genişlik Modülasyonu ( Farklılaşması/Değiştirilmesi ) anlamına gelir. Burada amaç bir sisteme giden gücün sinyal ile kontrol edilmesidir. PWM sinyalinde lojik 1 5 Volt, lojik 0 ise 0 Volt’tur. Bir sistemin kontrolünde sisteme kontrol voltajı olarak 5 Volt uygularsanız sisteminiz çekebildiği gücü çekerek sürekli çalışır. Sisteme kontrol voltajı uygulamazsanız sisteminiz durur. Öyle bir kontrol voltaj değeriniz olmalı ki sisteminiz istediğiniz gibi davransın. Mikro denetleyicinizin yada kurduğunuz kontrol devresinin çıkışı, sabit bir gerilim elde edebilmenizi sağlıyor. Ya analog çıkış oluşturmanız gerekecek ( ama oluşturduğunuz voltaj değeri kontrol ettiğiniz elemanları çalıştırabilecek voltaj değerinde olmalı !!! ), yada en basit yol ile PWM sinyali kullanacaksınız. PWM sinyalinin avantajı Duty Cycle ( görev çevrimi ) süresince lojik 1 ( 5 V ), periyodun kalan kısmında ise lojik 0 ( 0 Volt ) olarak çıkışa bağladığımız elemanları sürmemizi / kontrol etmemizi sağlar. Ayrıca sistemimizin istediğimiz şekilde çalışması için gereken voltaj değerini ortalama değer ile elde etmemizi sağlar. Anlattıklarımın daha iyi anlaşılması için bir örnek vereyim.

Pwm

Kontrol sinyalinizin frekansından bağımsız olarak ( sinyal periyodik olarak kabul edildiğinde bir periyot için geçerli olan hesaplama diğer periyotlar içinde geçerlidir.) , bir periyotta Duty Cyle değeriniz %40 ise sinyalinizin %40’ı 5 V iken %60’ı 0 volttur. Ama bizim sistemimiz için önemli olan değer ortalama değerdir. Yani 5*(40/100)*1= 2 Volt’tur. Sisteme ortalama değer olarak 2 Volt vermiş oluruz. Bu bizim kontrolünü yaptığımız sistemin istediğimiz gibi davranabilmesi anlamına geliyor.

PWM sinyali motor sürücüler ve led aydınlatmada kullanılan dimmerlar, güç elektroniği uygulamaları ve daha birçok alanda kullanılmaktadır.

PWM sinyalinin Pic 16f877a mikro denetleyicisinde  nasıl üretildiğini açıklayan bir video hazırladım. Ayrıca yaptığım uygulamanın simülasyon dosyasını ve kodlarını aşağıda paylaşıyorum. İyi çalışmalar …

Kodlar ve Benzetim Dosyası

Windows 7, Windows 8 ve Ubuntu İşletim Sistemlerinin Tek Bir Bilgisayara Kurulması

Merhaba Arkadaşlar;
Bugün sizlere bir bilgisayara birden çok işletim sisteminin nasıl kurulduğunu anlatacağım. Öncelikle 100 MB’lık Sistem Ayrıldı Bölümü ile ilgili yazımı okumadıysanız şiddetle okumanızı tavsiye ederim. Yazıya buradan ulaşabilirsiniz.

Bu yazıma başlamadan önce neden böyle bir işleme gerek duyduğumu açıklamak isterim.
İlk olarak linux işletim sistemleri benim ilgi alanlarım arasında. Linux işletim sistemlerinin windows işletim sistemlerine göre birçok avantajı var. Bilişim sektöründe bir firmada çalışmak istiyorsanız bir nebze de olsa linux işletim sistemleri ile geçmişinizin olması gerekiyor. Çünkü çoğu güvenlik gerektiren uygulamada ( web serverları gibi ) linux işletim sistemleri kullanılıyor. Bunulinux işletim sistemlerinin açık kaynak kodlu olması ve virüs bulaşma ihtimallerinin neredeyse % 0 olması ile açıklayabiliriz. Ayrıca diğer işletim sistemleri gibi ücretli değildir. Dileyen herkes internet üzerinden indirip kurabilir. Benim size kurulumunu göstereceğim linux işletim sistemin Ubuntu’dur. Ubuntu ile ilgili daha fazla bilgiye buradan, bilgisayarınızın mimarisine göre ( 32 bit veya 64 bit ) indirme linkine buradan ulaşabilirsiniz. Size tavsiyem bir Ubuntu geliştiricisi olmak istemiyorsanız LTS ( Long Term Support – Uzun Süreli Destek ) yazan sürümünü indirmenizdir.Diğer sürümler geliştirme aşamasında olduğu için çeşitli hataları içerisinde barındırabilir. Bu hatalar geliştiriciler tarafından işletim sistemi kullanılarak bizzat tespit edilip düzeltilmektedir.

İkinci olarak “Neden Windows 7 ile Windows 8’i beraber kuruyorsun?” diyebilirsiniz. Bunu ise şu şekilde açıklayayım. Windows 8 yeni bir işletim sistemi ve görsel olarak da güzel tasarlanmış. İlk yüklediğimde sadece Windows 8’i yüklemiştim. Ama bilgisayarıma iş yükü bakımından ağır uygulamalar yüklediğimde performansında düşüş olduğunu hissettim. Özellikle de Windows 7’de sıkıntı çıkarmayan uygulamaların Windows 8’de benim bilgisayarımda sıkıntı çıkardığını gördüm. Bu sıkıntının nedeni windows 8’e uygun driverların bilgisayarımın üreticisi tarafından kullanıma sunulmamasıydı. İki işletim sistemi için de lisansım var ve 1 tane bilgisayarım var. Bende bunun için bilgisayarıma 2 işletim sistemini de aynı anda kuruyorum.

Şimdi gerekli açıklamalardan sonra gelelim kurulum olayına. Eğer bilgisayarınızda şu anda Windows 8 işletim sistemi yüklü ise Windows 7 yükleyebilmeniz için Windows 8 işletim sistemini silmeniz gerekir. Çünkü Windows 7 işletim sistemi Windows 8 işletim sistemi üzerine yüklenemez ve şu şekilde bir hatayla karşılaşırsınız
“Windows bu diske yüklenemez. Seçilen diskte MBR bölüm tablosu var. EFI sistemlerde, Windows yalnızca GPT disklere yüklenebilir.”.

Win 7 Yukleme Sorunu

Bu hatadan kurtulmak için bios ayarlarına girip tüm bios ayarlarını varsayılan ayarlara ( default ) döndürmek gerekir.
Bunu yaptıktan sonra harddiskimizin tüm bölümlerini silip, kuracağımız işletim sistemlerine ne kadar alan ayıracağımıza göre en baştan formatlamamız gerekir. Ben 150 GB Windows 8 için, 50 GB Windows 7 için ve 38 GB Ubuntu için ayıracağım. Diski bölümlerken dikkat etmemiz gereken şey en çoğunlukla kullanacağınız işletim sisteminden en az kullanacağınız işletim sistemine göre harddiski soldan sağa bölmek olmalıdır. Ben en çok Windows 8’i kullanacağım için en sola 150 GB onun için ayırıyorum. Sonra 50 GB Windows 7 için ayırıyorum. Daha sonra Windows 7 yükleyeceğim alanı sistem alanı ( active ) olarak işaretliyorum. Bu işlemleri yapmak için diskpart komut penceresini kullanıyoruz. Diğer kısımlar ayrılmamış alan olarak kalıyor. Bundan sonra Windows 7’yi sorunsuz bir şekilde yükleyebilirsiniz. Windows 7 yüklendikten sonra Windows 8 için ayırdığınız alanı diskpart komutu ile sistem alanı ( active ) olarak işaretleyin. Bu şekilde Windows 8’de yüklenmiş oldu. Şimdi sıra geldi Ubuntu işletim sistemini yüklemeye.

Windows 8 ve Windows 7 yüklendikten sonra işletim sistemlerinden herhangi birini açarak Bilgisayarım simgesine fare ile sağ tıklıyoruz. Çıkan pencereden Yönet seçeneğine tıklıyoruz. Burada karşımıza gelen pencereden Disk Yönetimine giriyoruz.
son hali
Disk yönetiminden disk yukarıdaki fotoğraftaki hali alana kadar diski bölüyoruz. Eğer bölmeden Ubuntu’nun kurulumuna başlarsak Ubuntu’da böldüğümüz alana kurulumda sıkıntı çıkabiliyor. Birde unutmamamız gereken şey diski Ubuntu’nun bağlama noktalarına göre bölmek. Örneğin ben Ubuntu’nun boot bölümü için 250 MB alan( birincil bölüm ) ayırdım. Bu alanı ayırdıktan sonra kalan alan zaten otomatik olarak genişletilmiş bölüm oldu. Bu genişletilmiş alanda da 4 tane mantıksal bölüm oluşturdum ve 3 tanesini linux için ayırdım. Bu işlemi linux işletim sistemi kurulurken bizden bağlama noktaları istediği için yapıyoruz. Aşağıda bu alanları nasıl kullanacağımız fotoğraflarla daha iyi açıklayacağım. Ama 4 tane temel birim var bunlar boot bölümü, swap (takas ) alanı ( 8 GB ),normal linux alanı / ( 15 GB) ve /home ( 15 GB ) . Yalnız burda unutmamanız gereken şey linux için ayırdığınız alanları RAW olarak bırakıyoruz. Bunu diski bölüp diske isim ve harf yolu atamayarak, biçimlendirmeyerek yapıyoruz. Bölme işlemlerini yukarıda verdiğim sıraya göre yapınız.

Yukarıda görüldüğü gibi birimler raw olarak oluşturulacak. Genişletilmiş alanda 4 tane mantıksal birim oluşturmalısınız. Unutmamanız gereken şey Ubuntu’yu yüklemeden önce depo alanını genişletilmiş alanda oluşturmalısınız. Yoksa sonradan Windows ayrılmamış alanda yeni birim oluşturamıyor. Bunun nedeni Windows’un Ubuntu İşletim Sistemi’nin yapılandırdığı disk bölümlerini birincil bölüm gibi görmesidir. Birincil bölüm olarak gördüğü için “Diskte bulunan bölüm sayısı zaten üst sınırda olduğundan, bu ayrılmamış alanda yeni birim oluşturamazsınız.” şeklinde bir hata alabilirsiniz. Böyle bir hata ile karşılaşmamanız için size tavsiyem raw bölümlerinin yanına depo diskinizi oluşturup o şekilde formata başlamanızdır.
Şimdi gelelim linux işletim sistemini yüklemeye;
Ubuntu’nun live sürümünü boot ettiğinizde karşınıza Ubuntu masaüstü sayfası gelecek bu sayfadan Install Ubuntu yazan kısayola tıkladığınızda karşınıza dil seçenekleri gelecek.
1
Buradan Türkçeyi seçerek yolumuza devam edelim.İkinci seçenekte ise bizden wifi ağına bağlanmak isteyip istemediğimizi soruyor.
2
Eğer kotasız internetiniz var ise burada wifi ağına bağlanarak işletim sisteminin gerekli yazılımları kurulum sırasında yüklemesini tavsiye ederim.
3
Wifi ağına bağlandıysanız güncelleştirmeleri kurulum sırasında kur seçeneğini işaretleyin.
4
4. adımda ubuntuyu yüklemek için çeşitli seçenekler konmuş. Burada iki tane işletim sistemi yüklü olduğu için Ubuntu yüklü olan işletim sistemlerinizi görmeyecektir. Bu adımda başka bir şey seçeneğini seçerek yolumuza devam ediyoruz.
uyari
Çıkan uyarı ekranında hayır seçeneğine tıklayarak devam ediyoruz.
5
Karşımıza harddiskin bölümlerinin gösterildiği bir ekran çıkıyor. Bu ekranda yapacağımız değişikliklere çok dikkat etmeliyiz. Yoksa yüklediğimiz işletim sistemlerinden birini yanlışlıkla silebilir ve uygulanan adımların en başına dönebilirsiniz.
6
Bu ekranda Windows’un disk yönetiminde ayırdığımız alanların üzerine tıklayıp Change butonuna basarak düzenliyoruz.
250 MB Birincil Bölüm için nasıl kullanılacağı alanını Ext2 Dosya Sistemi olarak seçiyoruz. Biçimlendirme seçeneğini işaretliyoruz ve bağlama noktası olarak /boot seçiyoruz.
8 GB Mantıksal Bölümü nasıl kullanılacağı alanını swap alanı olarak seçiyoruz.
15 GB Mantıksal Bölüm için nasıl kullanılacağı alanını Ext4 Dosya Sistemi olarak seçiyoruz. Biçimlendirme seçeneğini işaretliyoruz ve bağlama noktası olarak / seçiyoruz.
15 GB diğer Mantıksal Bölüm için nasıl kullanılacağı alanını Ext4 Dosya Sistemi olarak seçiyoruz. Biçimlendirme seçeneğini işaretliyoruz ve bağlama noktası olarak /home seçiyoruz.
7
8
Bu işlemlerden sonra genel kontrolleri yapıyoruz. Önyükleyici kurulacak aygıt olarak, 250 MB’lık önyükleme bölümününü seçmeyi unutmuyoruz. Yoksa Ubuntu önyükleyicisi Windows 7 ve Windows 8’in ön yükleyicisini siler ve bunları düzeltmek için ayrıyeten uğraşmak zorunda kalırsınız.
Her şeyi tamamladıktan sonra şimdi yükle seçeneğine tıklayarak kuruluma devam ediyoruz. Kurulum bittikten sonra bilgisayar otomatik olarak yeniden başlıyor. Yeniden başladıktan sonra Windows Boot Manager ekranında Ubuntu işletim sistemini göremeyeceksiniz. Bunun için üzülmeyin bu gayet normal bir şey. Çünkü ön yükleyici alanı olarak windowsun tanımadığı bir alanı seçtiniz.
Bu bir boot problemidir aslında ve bunu düzeltmek için birçok program var ama en yaygın kullanılanı EasyBCD adında ücretsiz bir yazılım. Bende bu sorunu düzeltmek için bu programı kullanıyorum. İndirme linkine buradan ulaşabilirsiniz.
Programı kurduğunuzda karşınıza çıkan pencereden Add New Entry seçeneğini seçiyoruz. Buradan linuxun bulunduğu sekmeye geçerek gerekli ayarlamaları yapıyoruz.
EasyBCD_1
Burada Type olarak GRUB(Legacy)’yi, Device bölümüne ise linuxun boot bölümü olarak belirlediğimiz 250 MB alanı seçiyoruz. Bu işlemleri yaptıktan sonra Add Entry butonuna tıklıyoruz.
EasyBCD_2
Edit Boot Menu sekmesine geldiğimizde 3 işletim sistemimizin de ön yüklemeye hazır olduğunu görüyoruz. Bu sekmede istersek hangi işletim sisteminin varsayılan olarak açılacağını ve ne kadar ön yükleme sayfasında beklenileceğini seçebiliyoruz.
EasyBCD_3
En son olarak yaptığımız işlemlerin boot ayarlarına işlenmesi için BCD Deployment sekmesinden Write MBR butonuna tıklıyoruz. Bu işlemlerden sonra oluşan ön yükleme menüsü aşağıdadır.
on_yukleme