Gömülü Linux
  • Giriş
  • Linux Çekirdeği
    • Gömülü Sistemlerdeki Kullanımı
    • Geliştirme Süreci ve Versiyonlar
    • Kod Sözdizim Rehberi
    • Konfigürasyon Süreci ve Kbuild Sistemi
    • Derleme ve Çapraz Derleme
    • Initramfs İmajının Eklenmesi
    • U-boot İmajı Haline Getirilmesi
  • Gömülü Sistemlerde Boot Yükleyiciler
    • U-boot
    • RedBoot
    • ARM Mimarisinde Açılış Süreci
  • Linux Açılış Süreci
    • Kernel Açılış Süreci
    • Kullanıcı Kipine Geçiş - Init Süreci
  • Kök Dosya Sistemi Oluşturma
  • Initramfs İle Erken Kullanıcı Kipi
  • Devtmpfs Dosya Sistemi
  • NfsRoot Çalışma Yöntemi
  • Çapraz Derleme ve Gerekli Ekipmanlar
  • NOR, NAND, eMMC ve Flash Tabanlı Depolama
  • Memory Technology Device - MTD Katmanı
  • Unsorted Block Images - UBI Katmanı
  • Gömülü Sistemlerde Kullanılan Dosya Sistemleri
    • JFFS2 Dosya Sistemi
    • YAFFS2 Dosya Sistemi
    • UBIFS Dosya Sistemi
    • Cramfs Dosya Sistemi
    • Squashfs Dosya Sistemi
    • Minix Dosya Sistemi
    • FAT Dosya Sistemi
    • Ext2,3,4 Dosya Sistemi
  • Watchdog Kullanımı
  • CPU Frequency Scaling
  • Buildroot
  • Android Platformu
    • Geliştirme Ortamının Hazırlanması
    • İnşa Süreci
  • Sistem Çağrıları
  • I2C Protokolü
    • I2C Protokolünün Tanıtılması
    • Linux Altında I2C İşlemleri
    • Board Seçimi ve İlk İşlemler
    • Sıcaklık Sensörünün Seçilmesi
    • Sıcaklık Değerinin Yazılımsal Olarak Elde Edilmesi
  • Strace Kullanımı
  • GNU Build Sistemi Araçları
    • Make
    • Autoconf, Automake
  • Orange Pi Zero
    • Orange Pi Zero Teknik Özellikleri
    • Gerekli Araçların Elde Edilmesi
    • U-boot Derleme Süreci
    • Kernel Derleme Süreci
    • Wifi Desteği - Problemli Senaryo Örneği
    • Dosya Sisteminin Hazırlanması
    • SD Kartın Hazırlanması
    • Cihazın Açılması
  • Raspberry Pi
    • Raspberry Pi 2 Teknik Özellikleri
    • Açılış Süreci
    • Gerekli Araçların Elde Edilmesi
    • Kernel Derleme Süreci
    • U-boot Derleme Süreci
    • Dosya Sisteminin Hazırlanması
    • Cihazın Açılması
    • NFS Root Çalışma
    • Sistem Konfigürasyonu
    • Raspberry Pi 3
  • Board Spesifik Kılavuzlar
    • Hawkboard
    • Olimex A20
    • TI DM6446 EVM
    • BeagleBoard
    • BeagleBoneBlack
    • Savage Board
  • EKLER
    • Seri Konsol Kullanımı
    • TFTP Sunucu Kurulumu
    • NFS Sunucu Kurulumu
    • TI işlemcilerinde DSP kullanımı
      • C6Run
      • DSP Testi
    • Ubuntu Sanal Makine Performansı
Powered by GitBook
On this page
  • USB - Seri Çeviriciler
  • Seri Aygıtlar Üzerinde Erişim Yetkisi
  • Seri Konsol Uygulamaları
  • minicom
  • gtkterm
  • screen

Was this helpful?

  1. EKLER

Seri Konsol Kullanımı

Gömülü Linux projeleri üzerinde çalışırken vazgeçilmez unsurlardan biri seri konsol arayüzü üzerinden cihazınıza erişmek olacaktır.

Bunun için geliştirme yaptığınız bilgisayarda seri port bulunması gereklidir. Ancak günümüzde hemen hiç bir bilgisayarda seri port çıkışı bulunmadığından, USB-Seri çevirici aparatlarına ihtiyaç duyulacaktır.

USB - Seri Çeviriciler

Piyasada bulabileceğiniz hemen her usb seri dönüştürücü Linux tarafından otomatik olarak tanınır.

Herhangi bir usb çeviriciyi bilgisayarınıza taktıktan sonra sisteminizde hangi dosya adı ile tanındığını anlamak için dmesg komutu ile çekirdek mesajlarının son bölümüne bakabilirsiniz:

$ dmesg
[185805.857823] usb 1-1: New USB device found, idVendor=067b, idProduct=2303
[185805.857827] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[185805.857830] usb 1-1: Product: USB-Serial Controller
[185805.857832] usb 1-1: Manufacturer: Prolific Technology Inc.
[185805.858150] pl2303 1-1:1.0: pl2303 converter detected
[185805.858905] usb 1-1: pl2303 converter now attached to ttyUSB0

Yukarıdaki örnekte Prolific markalı seri çeviricinin ttyUSB0 ismiyle sisteme iliştirildiği belirtilmektedir. Sistemimiz tarafından bu şekilde tanınmış olan seri çeviriciyi, /dev/ttyUSB0 aygıt dosyası üzerinden kullanabiliriz.

Bilgisayarınıza takılan usb seri çeviriciler Linux tarafından tanındıktan sonra, kullandığınız dağıtıma göre devtmpfs veya udev çözümlerinden biriyle /dev dizini altında otomatik olarak aygıt dosyası doğru major, minor ve aygıt türünü gösterecek şekilde oluşturulur. Usb seri çeviricilerde isimlendirme aynı anda takılı her bir çeviri için ttyUSB0, ttyUSB1, ttyUSBX şeklinde yapılır.

Not: Usb seri çevirici takılı durumda ve bir uygulama tarafından kullanımdayken çıkartılıp tekrar takılacak olursa, sistem tarafından yeni bir numara ile isimlendirilip kullanıma sunulacaktır. dmesg komut çıktısında her zaman doğru aygıt ismini görebilirsiniz.

Seri Aygıtlar Üzerinde Erişim Yetkisi

Takılan usb çevirici aygıt dosyalarının öntanımlı erişim yetkileri genellikle aşağıdaki gibi olur:

$ ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Jun 10 15:34 /dev/ttyUSB0

Yukarıdaki çıktıya bakarak şunları söyleyebiliriz:

  • Bu bir karakter tabanlı aygıttır (baştaki c harfi)

  • Dosya sahibi root kullanıcısıdır ve kullanıcının okuma ve yazma yetkileri bulunmaktadır

  • Dosyanın grup sahibi dialout grubudur ve bu gruba dahil olan kullanıcıların da okuma ve yazma yetkileri bulunmaktadır

  • Geri kalan kullanıcıların dosya üzerinde herhangi bir okuma ve yazma hakkı yoktur

Geliştirme yaptığımız bilgisayarımızı root kullanıcısıyla değil de normal bir kullanıcı hesabıyla kullandığımızı düşündüğümüzde, eğer dialout grubuna üye değil isek sistemimize taktığımız usb seri çevirici cihazı üzerinde okuma-yazma yapamayacağımız görülmektedir.

Sorunun çözümü için ya kendi kullanıcımızı dialout grubuna üye yapmalı ya da sistemimizdeki udev kural dosyalarını düzenleyerek, usb seri çeviricileri takıldığında dosyanın erişim yetkilerinin kendi kullanıcımız ile erişebileceğimiz bir mod ile ayarlanmasını sağlamalıyız.

Kolaylık açısından birinci yöntem izlenmelidir. Öncelikle id komutu ile kendi kullanıcımızın hangi gruplara üye olduğunu öğrenelim:

$ id
uid=1000(demirten) gid=1000(demirten) groups=1000(demirten),27(sudo),29(audio)

Görüldüğü üzere dialout grubuna üyeliğimiz bulunmuyor. Gruba kendimizi üye yapmak için Debian tabanlı sistemlerde aduser uygulamasını kullanabiliriz:

$ sudo adduser demirten dialout
Adding user `demirten' to group `dialout' ...
Adding user demirten to group dialout
Done.

Grup üyeliğimiz gerçekleşti. Ancak grafik oturumlarında grup üyelik bilgilerini ilk login işleminde kontrol edilip, sonrasında çalışan tüm süreçlere aynı bilgiler aktarılmaktadır. Bu sebeple değişikliklerin etkin olması için grafik oturumundan çıkış yaptıktan sonra tekrar giriş yapmalı veya sisteminizi yeniden başlatmalısınız. Bu işlemin ardından seri çevirici cihaz üzerinde okuma - yazma yetkileriniz olacak ve rahatlıkla çalışabileceksiniz.

Seri Konsol Uygulamaları

minicom

Oldukça eski fakat halen iş gören bu uygulamayı aşağıdaki gibi sisteminize kurabilirsiniz:

$ sudo apt-get install minicom

Uygulama ilk açıldığında öntanımlı olarak /dev/modem gibi bir aygıt dosyasını açmaya çalışır, dosyayı bulamadığında sonlanır.

Bu sorunun üstesinden gelmek için uygulamayı -s parametresi ile doğrudan ayarlar ekranıyla açabilirsiniz:

$ minicom -s
+---------------------------------------------------+
| A -    Serial Device      : /dev/ttyUSB0          |
| B - Lockfile Location     : /var/lock             |
| C -   Callin Program      :                       |
| D -  Callout Program      :                       |
| E -    Bps/Par/Bits       : 115200 8N1            |
| F - Hardware Flow Control : No                    |
| G - Software Flow Control : No                    |
|                                                   |
|    Change which setting?                          |
+---------------------------------------------------+
        | Screen and keyboard      |
        | Save setup as dfl        |
        | Save setup as..          |
        | Exit                     |
        | Exit from Minicom        |
        +--------------------------+

A tuşuna basarak aygıt ismini, E tuşu ile seri port hızını ayarlayabilirsiniz. Ardından Exit ile çıktığınızda ilgili seri portu kullanabiliyor olacaksınız.

Uygulama ana ekranında iken CTRL-A + O ile konfigürasyon ekranına dönebilir, CTRL-A + X ile uygulamadan çıkabilir, CTRL-A + W ile line wrap modunu aktifleştirebilir, CTRL-A + Z ile diğer kısayollar hakkında yardım alabilirsiniz.

minicom uygulaması genellikle alışkanlık edinmiş kişilerce kullanılır. Yeni başlayanlar için kullanılması pek önerilmez.

gtkterm

Uygulamayı aşağıdaki gibi sisteminize kurabilirsiniz:

$ sudo apt-get install gtkterm

Uygulama açıldıktan sonra Configuration->Port menüsü üzerinden aygıt ismi ve hız parametreleri aşağıdaki gibi ayarlanabilir:

Yapılan ayarları öntanımlı olarak kaydedip daha sonraki kullanımlarınızı da kolaylaştırabilirsiniz.

screen

Çoklu terminal yönetimi için kullanılan screen uygulamasına alışkın iseniz seri port erişimi için de aşağıdaki şekilde kullanabilirsiniz:

$ screen /dev/ttyUSB0 115200
PreviousEKLERNextTFTP Sunucu Kurulumu

Last updated 5 years ago

Was this helpful?

gtkterm configuration