Bilmek istediğin her şeye ulaş

Mikro-denetleyici programlama nedir?

Mikrodenetleyici kendi içerisinde daha küçültülmüş bir mimari ile bazit bir mikroişlemci yapısını barındıran işlemcilerdir. Güzel bir özellikleri olarak mikrodenetleyiciyi bağlayacağınız elektronikl devrede, yan bağlantı elemanları ile olan donanımsal ilişkiyi bu mikroişlemciyi programlayarak kontrol edebilirsiniz. Yani elinizdeki bir mikrodenetleyiciye bir program yükleyerek bu mikroişlemcinin belirli girişleri ile belirli çıkışları arasındaki ilişkiyi ona söyleyebilirsiniz. Bir lambayı belirli saatlerde yakıp söndürmekten, bir fabrikanın işlem bandını yönetmeye kadar her türlü iş için programlayabilirsiniz. İşte bu işlevleri gerçekleştirirken, belirli çevre elemanları ile haberleşir, onlara yönlendirme yapar mikrodenetleyici. Bu yönlendirmeyi içeren talimatlar ise özel olarak derlenmiş makine kodu sayesinde olur ve bu kod mikrodenetleyicinin içerisindeki bir alana yazılarak ona ne yapması gerektiği söylenir. Mikrodenetleyicilerin sınıfları farklı olmasına rağmen hepsi de makine kodunu kendilerine has alanlardan okuyabilme ve orada yazan şeylere göre hareket edebilme yetisine sahiptir. O yüzden, her şey bu programın elindedir (tabii mikrodenetleyicinin türüne göre yapabilecekleri sınırlıdır).
  • Paylaş
1. Mikrodenetleyici programlama, uC (emikrodenetleyiciler) için program yazmak demektir. Her uC kendi komut setine sahip (ya da ait olduğu ailenin komut setini kullanan) ve üzerindeki ROM (genelde EEPROM veya FLASH ROM) üzerine kaydedilen programı işleten, konfigürasyona göre de bir takım çevre birimlerini on-chip olarak (mesela USB modülü veya USART modülü ya da PWM jeneratörü gibi) üzerinde taşıyan çiplerdir. Bu çipler için program geliştirmeye de uC programlama denir.

Vardı yoktu, hayaldi-gerçekti nasıl bir tartışma bu böyle?

2. O yazıda : "Microcontroller Programları, chip üzerinde yer alan belleğe sığmalıdır .... " diyor. Bu cümleden nasıl "Microcontroller Programı" diye bir şeyin olmadığı sonucuna vardınız anlayamadım?

Var ki bir büyüklük oluşturuyor, yer kaplıyor,
yer kaplıyor ki bir yerlere sığmasından bahsediliyor :)

3. Asıl "Microcontrolerler için yazılmış program vardır" demek saçmadır. Bir kod yazacaksınız tüm (veya çoğu) uC 'de çalışacak demektir bu.
Tam aksine uC için program yazdığınızda sadece tek bir uC 'yi hedef alırsınız. O chip'in en yakın aile üyesinde bir yazdığınız kod genelde çalışmaz (nadiren çalışır). Çünkü her uC üzerindeki konfigürasyon farklıdır. Kaldı ki ayrı seriden bir uC üzerinde aynı derlenmiş kodu çalıştırmanın imkanı kesinlikle yoktur. Yani ATMEL veya PIC için geliştirdiğiniz kodu ARM üzerinde çalıştırmanızın imkanı zaten kesinlikle yoktur hatta PIC18 için yazdığınız bir kodu bile PIC24 üzerinde çalıştıramazsınız. Her uC için ayrı program geliştirmek ve derlemek gerekir.

Zaten "yüksek düzeyli diller" (C, Basic, hatta ASM, pascal vs) ve "işletim sistemleri" bu ihtiyaçtan doğmuştur. Yani insanlar her uC (microcontroller) veya uP (microprocesser) yi ayrı ayrı öğrenmek zorunda kalmasınlar;
Belli yüksek düzeyli diller yaratalım: Derleyiciler veya yorumlayıcılar, bu dillerde yazılan kodları alsın hedef işlemciye uygun şekle (object code) çevirip çalıştırsın,
İşletim sistemleri yaratalım : insanlar program yazarken donanımdan bağımsız olarak kullanabilsin diye. (mesela program yazarken makinadaki diskin SATA mı yoksa IDE mi yoksa SCSI mi olduğunu düşünmeyin diye)

Ama belli ki , Seviye yükseldikçe ve CASE araçları geliştikçe donanım ile, makina ile bağı kopmuş bir "programcı nesli" yetişmiş :)
  • Paylaş
mikrodenetleyici diye bir program yoktur. Mikrodenetleyici bir işlemci bir ram ve bir hafızadan oluşan küçük çiplerdir örneğin bir bilgisayar bir mikrodenetleyicinin çok gelişmiş halidir. Mikrodenetleyiciyi programlamak için gereken bir program sorsaydın o zaman sana hangi mikrodenetleyici diye sormak gerekirdi.
  • Paylaş
3

Redeye, "Microcontroller programs" must fit in the available on-chip program memory, since it would be costly to provide a system with external, expandable, memory. Compilers and assemblers are used to convert high-level language and assembler language codes into a compact machine code for storage in the microcontroller's memory. Depending on the device, the program memory may be permanent, read-only memory that can only be programmed at the factory, or program memory may be field-alterable flash or erasable read-only memory.

Redeye, Yukarıda cümle içinde kullanımı örnekleme çalıştım, işleyişi nedir bildiğim anladığımdan değil..

Redeye, Bir UYSM tanıtım dokümanında "Elektronik ortamda yürütülebilir kodlar ve saklanan veriler" başlığı altında sayılıyor.

Dediği gibi "Microcontroller Program" diye bişey yoktur ancak microcontroller için yazılmış program var, amaç bir sürü şey olabilir. Mesela çevre birimlerinden gelen veriyi işler, saklar, kullanır ve çıktı eder. Burada çıktı derken ekrana LCD veya led panele, olmadı ledler, olmadı devrede başka bir iş için kullanır, budur yani.
  • Paylaş
Mikrokontrolör. Artık bunlara Linux yükleniyor. Linux'ta bütün programlama dilleri mevcut olduğuna göre bilgisayar programlamaktan farkı yok. Beagleboard, Pandaboard ve Raspberry PI gibi alternatiflere bakın bence.
  • Paylaş

Mikrodenetleyici eskidi artık. Mikroişlemciler var.

  • Paylaş
1

Mustafa Ak, Mikrodenetleyici ve mikroişlemci birebir aynı uygulamalarda kullanılmıyor ki eskidi denilebilsin. Yapacağın uygulamaya göre seçersin. Mühendislik özünde maliyeti düşürmek olduğu için sayısal tasarım yapan bir mühendis illa şunun ile tasarım yapacağım diyemez. Hangisi maliyeti düşürüyorsa onu seçer. Mikrodenetleyiciler tek parça entegre devreler oldugu için belli uygulamalarda daha çok rabet görürler. Arkadasın da dedigi gibi mikrodenetleyici modeline göre yapısında işlemci, saatler (kristal osilatör), ROM/EPROM, RAM, adres-data-kontrol hatları, seri ve paralel haberleşme hatları bulunan bir mikrobilgisayardır. İşlemci tek başına hiç bir uygulamada kullanılamaz fakat mikrodenetleyici saydıgım birimleri tek bir yarıiletken çipte ( entegre devre / IC) bulunduran bir yapıdır. Mikrodenetleyiciler daha yaygın olarak otomasyon ve kontrol uygulamalarında kullanılıyor. Mikroişlemciye oranla dezavantajı yok mu ? Var tabiki. Bir kere dahili ( internal ) kısımlara müdahale yapamıyorsun ve işlemcisi belli tip uygulamara yöntelik olduğu için düşük bitlik işlemcilerdir. Onlarda da Harici RAM ve ya ROM bulunabiliyor fakat arkaşın da dediği birbirine denk olmadıkları için eskidi gibi bir şey demek yanlış olur.

Sonraki Soru
HESAP OLUŞTUR

İstatistikler

2704 Görüntülenme14 Takipçi6 Yanıt