Pic için Jal dosyayı derlemek
Yayınladığım çalışmalarda kullandığım programlar ile ilgili çok sayıda sorular geliyor. Bu sorulara genel olarak cevabım "Üreticisine bu konuları sormanız en doğru olanıdır" oluyor. Ücretsiz dağıtılan ve açık kaynaklı programlar için ise bildiğim kadarıyla yardımcı olmaya çalışıyorum. Artık çalışmalarımda Ücretsiz ve açık kaynak program kullanıyorum. Bu yazımda JAL ile ilgili karşılaştığım sorulardan jal derleme konusuna cevap vermeyi amaçlıyorum.
Herşeyden önce kabul etmemiz gereken bir konu var. Programlama mantığını kavramak gerekiyor. Programlamayı kavrarsanız aslında tüm programlama dilleri farklı görünen şeyleri aynı şekilde çözdüğünü ve aynı sonuca ulaştığını anlarsınız. Yani şunu ifade etmek istiyorum. Bir editörü açıp içine doğru karakterleri yazıp .hex uazntısıyla kaydedip, bu dosyayı da Pic'e atsanız devreniz çalışır. Ben Pic'ler için "Mehmet" diye bir programlama dili yapsam sonuçta elde edeceğim bir hex uzantılı dosya olmak zorundadır.
Bu yazımda JalV2 için derleme işlemini Windows ve Pardus Linux için anlatacağım. http://justanotherlanguage.org/downloads adresinden uygun versiyonu indirerek bilgisayaraın uygun gördüğünüz bölümüne kaydediniz. Ben son eklenen en güncel dosyaları indirmeyi tercih ediyorum. Daha sonra bu sıkıştırılmış dosyayı açınız. Ben Windows'ta C haddisk bölümüne kaydettim, sıkıştırılmış dosyayı açtım ve klasörün adını jallib olarak değiştirdim. Derleme işlemi için bu "jallib" klasöründe bulunan "Compiler" ve "Lib" klasörlerini kullanıyoruz.
Windows'ta komut satırından, DOS ortamında derlemek:
Öncelikle DOS penceresini açmak gerekiyor. Bunun için Başlat'ı tıklıyoruz. Çalıştır'ı tıklıyoruz. Açılan pencereye "cmd" yazıp "Enter" tuşuna basıyoruz. Böylece derleme yapacağımız alana ulaşıyoruz.
Başlat > Çalıştır > Cmd > [Enter]
Açılan Dos alanına önce jalv2'nin derleme yapacak olan dosyasını yoluyla birlikte yazıyoruz. Benim yaptığım örnekte; C:jallibcompilerjalv2.exe şeklinde yazmam gerekiyor. Devamında opsiyonlardan birisini kullanmak gerekiyor. Ben şimdiye kadar sadece -s opsiyonunu kullandım, başka opsiyona gerek duymadım. (Bu opsiyonların listesi yazının sonunda) Yine devamına kullandığımız kütüphane klasörünün yolunu yazıyoruz. Benim kütüphane klasörümün yolu C:jalliblib olduğundan bu adresi yazıyorum. En sonuna ise derlenecek dosyayı yolu ile birlikte yazıyoruz. Benim jal uzantılı dosyamın yolu ve adı F:projelerdeneme16f88_blink.jal şeklindeydi. Şimdi anlattığımız bilgiyi topluca yazarsak:
C:jallibcompilerjalv2.exe -s C:jalliblib F:projelerdeneme16f88_blink.jal
Şimdi de liste şeklinde açıklayalım:
Derleyici jalv2 dosya Opsiyon Kütüphane Derlenecek dosya (hazırladığımız) ---------------------------- ------ -------------- ---------------------------------- C:jallibcompilerjalv2.exe -s C:jalliblib F:projelerdeneme16f88_blink.jal
Yukarıda anlattığım işlemleri yaparsak sonuç şu şekilde oluyor:
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:Documents and Settingsmehmet>C:jallibcompilerjalv2.exe -s C:jalliblib F:projelerdeneme16f88_blink.jal jal 2.4o (compiled May 8 2011) generating p-code 5685 tokens, 60564 chars; 1424 lines; 3 files generating PIC code pass 1 generating PIC code pass 2 writing result Code area: 61 of 4096 used (words) Data area: 4 of 352 used Software stack available: 96 bytes Hardware stack depth 0 of 8 0 errors, 0 warnings C:Documents and Settingsmehmet>
Başarılı sonuç resmi:
Resmin gerçek boyutu için üzerine tıklayınız.
Pardus Linux'ta Konsol'dan derleme işlemi:
Alt+F2 tuşlarına basıyor ve açılan küçük pencereye "konsole" yazıyoryz. Böylece Konsol programı açılıyor. Yapacağımız işlemleri bu konsol penceresinde gerçekleştireceğiz. GNU/Linux işletim sistemlerinde de yukarıda anlatıldığı gibi aynı şekilde, [derleyici jalv2 dosya] [opsiyon (-s)] [kütüphane yolu] [derlenecek dosya] siralamasıyla konsol'a yazıyoruz. Burada Windows'tan farklı olan tek konu klasörlerin yerleri, beşka bir farklılık yoktur. konsola /media/LINBELGE/jallib/compiler/jalv2 -s /media/LINBELGE/jallib/lib/ /media/TEKNIK/deneme/16f88_blink.jal yazıp "Enter" tuşuna bastığımızda derleme işlemi gerçekleşmiş olur. Eğer konsol yolunuz derlenecek dosya ile aynı yerde ise /media/LINBELGE/jallib/compiler/jalv2 -s /media/LINBELGE/jallib/lib/ 16f88_blink.jal seklinde derlenecek dosyamızın klasör yolunu yazmamıza gerek yoktur.
mehmet@hmd ~ $ /media/LINBELGE/jallib/compiler/jalv2 -s /media/LINBELGE/jallib/lib/ /media/TEKNIK/deneme/16f88_blink.jal jal 2.4o (compiled May 8 2011) generating p-code 5685 tokens, 61886 chars; 1424 lines; 3 files generating PIC code pass 1 generating PIC code pass 2 writing result Code area: 61 of 4096 used (words) Data area: 4 of 352 used Software stack available: 96 bytes Hardware stack depth 0 of 8 0 errors, 0 warnings mehmet@hmd ~ $
Başarılı sonuç resmi:
Resmin gerçek boyutu için üzerine tıklayınız.
Geany Editörü ile derleme yapmak
Ben neredeyse bütün işlerimi Geany ile yapıyorum ve memnunum. Bu sebepten dolayı bu yazıda bu editöre ait bilgileri vereceğim ama aslında diğer editörler için de mantık aynı olduğundan sizler bu anlatılan bilgilerle kullandığınız editöre ait ayarlardan gerekli bilgileri girerek jalv2 ile jal dosyalarınızı derletebilirsiniz.
(PARDUS Linux'ta kaynak koddan kurulum yapabilmek için "gtk2-devel" pisi paketini kurmak gerekmektedir)
Geany'de jal dosyasını açmış iken menüden "İnşa Et > İnşa Komutlarını Seç" tıklıyoruz. Derleyici bilgilerini gireceğimiz ayar penceresi açılıyor. Solda bulunan etiket düğmesine tıklayınca açılan kuyucuğa "JAL Derle" yazıyoruz ve "Tamam"ı tıklıyoruz. Ortada bulunan komut kutusuna ise Windows'ta [derleyici jalv2 dosya] [opsiyon (-s)] [kütüphane yolu] [derlenecek dosya] sıralamasına uygun olarak:
C:jallibcompilerjalv2.exe -s C:jalliblib %e.jal
GNU/linux'ta ise yine [derleyici jalv2 dosya] [opsiyon (-s)] [kütüphane yolu] [derlenecek dosya] sıralamasına uygun olarak:
/media/LINBELGE/jallib/compiler/jalv2 -s /media/LINBELGE/jallib/lib/ %e.jal
yazıyoruz. "Tamam"ı tıklıyoruz. Böylece ayarlar yapılmış oluyor. Burada tekrar etmekte fayda var. jal uzantılı dosya açıldıktan sonra menüden "İnşa Et > İnşa Komutlarını Seç" tıklanacak.
Windows ayar ekranı resmi:
Resmin gerçek boyutu için üzerine tıklayınız.
Ayarları yaptıktan sonra derletme işlemini yapabiliriz artık. Derleme için, menüden "İnşa Et > JAL Derle" tıklıyoruz ve derleme işlemi gerçekleşiyor. Derleme için kısayol tuşu olarak "İnşa Et" menüsünde belirtilen F8 tuşuda kullanılabilir. Editörün alt kısmında "Mesaj Penceresi" kısmında ise derlemeye ait işlemler ve sonuçları bildiriliyor.
Windows'ta derleme sonucu ekran görüntüsü:
Resmin gerçek boyutu için üzerine tıklayınız.
GNU/Linux ayar ekranı resmi:
Resmin gerçek boyutu için üzerine tıklayınız.
GNU/Linux'ta derleme sonucu ekran görüntüsü:
Resmin gerçek boyutu için üzerine tıklayınız.
Jalv2 dosya derleme opsiyonları listesi:
Default options marked with '*' --- File Options --- -asm -no-asm set the name of the asm file (default is basename + '.asm') -codfile -no-codfile set the name of the COD file (default is basename + '.cod') -hex -no-hex set the name of the hex file (default is basename + '.hex') -include include {name} before parsing the file -lst -no-lst set the name of the lst file (default is no file created) -log -no-log set the name of the log file (default is no file created) -s set the include path, elements seperated with ';' --- Bootloader Options --- -bloader using screamer/bloader PIC loader *-fuse -no-fuse do not put FUSES into the assembly or hex file -long-start force the first instruction to be a long jump -rickpic using Rick Farmer's PIC loader -loader18 Use the 18 series bootloader preamble --- Misc. Options --- -clear *-no-clear clear data area on program entry -quiet *-no-quiet disable/enable compile status updates -task set the maximum # of concurrent tasks --- Warnings --- -Wall *-Wno-all enable/disable all warnings *-Wcodegen -Wno-codegen enable/disable code generation warnings *-Wconversion -Wno-conversion enable/disable signed/unsigned conversion warning -Wdirectives *-Wno-directives enable/disable warning when a compiler directive is found *-Wmisc -Wno-misc enable/disable uncategorized warnings *-Wrange -Wno-range enable/disable value out of range warnings *-Wstack-overflow -Wno-stack-overflow issue a warning on hardware stack overflow instead of an error *-Wtruncate -Wno-truncate enable/disable possible truncation in assignment warning --- Optimizations --- *-cexpr-reduction -no-cexpr-reduction enable/disable constant expression reduction -const-detect *-no-const-detect enable/disable constant detection *-expr-reduction -no-expr-reduction enable/disable expression reduction -expr-simplify *-no-expr-simplify enable/disable expression simplification -load-reduce *-no-load-reduce enable/disable redundant load removal -temp-reduce *-no-temp-reduce enable/disable temporary reduction -variable-frame *-no-variable-frame allocate variables into a full frame *-variable-reduce -no-variable-reduce enable/disable unused or unassigned variables removal *-variable-reuse -no-variable-reuse enable/disable reusing variable space --- Compiler Debugging --- *-codegen -no-codegen do not generate any assembly code -debug *-no-debug show debug information -pcode *-no-pcode show pcode in the asm file -emu *-no-emu run the emulator *-deadcode -no-deadcode enable dead code elimination
Yorumlarınız
Hiç yorum yapılmamış.Bir yorum ekleyin
İzin verilen html etiketler (tag): <p><div><b><strong><i><u><del><hr><sup><sub><br>