elektronist kitaplık

Tanju Taşçılar, 6 Mayıs 2002
doc mpl003-060502

MPLab proje derlemek...

MPLab'da yazdığımız .asm programlarını programlayıcıların anlayacağı formata çevirmek için assambly-derleme işini yapmamız gerekmektedir. Bu işlem sırasında yalnızca format değişimi olmaz aynı zamanda yazılım hataları da ayıklanır.

Bu konuya spi.asm ile oluşturulan proje üzerinde devam edeceğiz. Bu projenin oluşturulmasını ve program ile ilgili açıklamaları Elektronist Okul konularında bulabilirsiniz. Eğer projenin oluşturulmasını anlatılan biçimde yaptı iseniz anlatılacakları daha kolay izleyebilirsiniz.

Projeyi derlemek için -Project-Make Project menüsünü veya daha kısa yoldan

F10 veya      Make the Current Project

butonunu kullanırız. Compile işlemi bittikten sonra 'Build Results' penceresi ile sonuçlar gösterilir. Eğer spi.asm dosyasını kullanarak ve ayarları anlatıldığı gibi yaptı iseniz Şekil-2'deki sonuçları elde edersiniz.

Görünüşe göre burada işlem başarıyla tamamlanmıştır. Ancak bazı uyarı mesajları vardır.

Warning[215] yazan satır ile komut satırından girilen işlemci ile projede tanımlı işlemcinin farklı olduğu ve bu durumda komut satırının geçerli sayıldığı ve derlemenin bu şekilde yapıldığı belirtilmektedir. Gerçekten de biz projemizde işlemciyi 12C508A olarak tanımlamış fakat spi.asm'de Processor 12C506 tanımını kullanmıştık. Aslında kullandığımız programda bu iki işlemci arasında fark olmayacaktır. Ama eğer gerçekte kullanacağımız işlemci 12C508 olursa ve program bu işlemcinin 512'lik program hafızasını aşacak olursa program çalışmayacaktır. Eğer 12C508 kullanacak isek Processor 12C508 tanımını yaparak hafıza alanının dışına çıktığımızda hata oluştuğunun iletilmesini sağlarız.

Bu satırın altında Warning[217] ile başlayan iki satır bulunmaktadır. Bu iki satırda da uyarı aynı şey içindir. 12C508, 12bit core kullanan bir işlemcidir. Bu işlemcide RETURN komutu yoktur, onun yerine RETLW 0 (0 yerine 00..FF kullanılabilir) kullanılır. Burada assembler RETURN yerine RETLW 0 komutunu kullandığını belirtmektedir. Bu durum 14bit'lik core kullanımının getirdiği alışkanlıktan gelmektedir. Programımızda bunun oluşturacağı bir hata bulunmamasına rağmen RETLW komutunun kullanılması doğru olur. Aksi halde 12bit core kullanan işlemcilerde alt rutinlerden dönüşte eğer w yazmacına bir değer yazarak döneceğimizi düşünürsek program doğru çalışmayacaktır. Çünkü bizim istediğimiz değer RETURN komutunda w yazmacı değişmediği varsayıldığı ancak onun yerine RETLW 0 komutu kullanıldığı için 0 ile değiştirilmiş olacaktır.

Build Results penceresinde listelenen hata veya uyarıların bulunduğu satıra gelip çift tıklarsak kaynak kodda hata veya uyarının bulunduğu satıra gideriz. Bu değişiklik yapmamızı kolaylaştırır. Ancak burada dikkat edilmesi gereken bir durum vardır. Daha önceki hata-uyarıları değiştirdiğimiz sırada satır silmiş veya satır eklemiş isek daha sonraki hata veya uyarıların bulunduğu yeri bulamayabiliriz. Build Results penceresi son yapılan derlemeden sonra eklenen veya silinen kaynak kodu satırlarını hesaplamaz.

Unutmayın... Programınızın hatasız olarak derlenmesi programınızın doğru çalışacağı anlamına gelmez.

Copyright © Mikrosis Elektronik 2002 - info@elektronist.com