MPLABX 'de XC8 ile 16F serisi kullanımı

Başlatan fryrmnd, 26 Temmuz 2012, 16:02:50

z

20 Ekim 2013, 01:59:28 #45 Son düzenlenme: 20 Ekim 2013, 02:33:02 z
16F628'i 16 Mhz Kristal ile calistiracagim. Reset pini lazim oldugu icin Input pini olarak kullanacagim.
Watch Dog'a ihtiyacim yok. Brown Out dedektorle de isim olmayacak.
Kod koruma da istemiyorum.

Bu sartlarda asagidaki ayarlamalar dogrumudur?

Brenner programlayici bu ayarlamalari uretilen hex Koddan ogrenebiliyormu? Daha onceleri aklimda kaldigi kadariyla konfig ayarlarini haricten Brenner'e ayrica tanimliyordum.

MPLAB + XC8 ile Brenner entegrelestirilebiliyormu?

#pragma config CPD = OFF
#pragma config BOREN = OFF
#pragma config FOSC = HS
#pragma config MCLRE = OFF
#pragma config WDTE = OFF
#pragma config CP = OFF
#pragma config LVP = OFF
#pragma config PWRTE = ON
#pragma config CP = OFF

programi derledikten sonra Programlayiciya dosya yolunu asagidaki sekilde veriyorum.

Proje klasoru\Dist\Default\Production\Projedosyam.hex

Dogru dosyayimi aliyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

dnacikaya

Config from hex file seçerseniz usburn bu ayarlamaları yapmanızı sağlar. Seçmezseniz kodlamanızdaki ayarları değiştirmez sizde değiştiremezsiniz. Usburb için basit bir kılavuz hazırlamıştım. Linki;

http://elektroinfo.blogspot.com/2010/03/brenner8-9-usb-programlayici-arayuz.html?m=1

Kolaygelsin.


AsHeS

@z hocam config bitlerini MPLAB X de bir tool yardımıyla otomatik kod üretimiyle yapabilirsiniz aşağıda ki linkte arkadaş anlatıyor:http://ramazansubasi.net/mplab-x-baslamadan-pratik-bilgiler/
Tool içerisinde açıklamalarda mevcut.

z

20 Ekim 2013, 02:27:27 #48 Son düzenlenme: 20 Ekim 2013, 03:10:25 z
XP de kullandigim program dnacikayanin sitesindeki ekran gorunumune sahipti ve onda bir sekilde programlama yapabiliyordum.

Simdi MAC icin yeni bir program kullaniyorum. Ekran goruntusu XP dekinden biraz farkli.



mesaj birleştirme:: 20 Ekim 2013, 02:48:40

Yazdigim deneme programini cipe yukleyip voltajini verip xtal pinlerine scopla bakinca sinyal goremeyince brennerin config ayarlarini dogru yapip yapmadigindan killandim.

Yukarida verdigim ayar kodlari amacima uygun degilmi?

mesaj birleştirme:: 20 Ekim 2013, 03:10:25

Proglamlayiciyi XP PC'ye takip cipi programladim ve cip devre uzerinde calisti.

Demekki ya MAC'de bir seyleri yanlis yapiyorum yada indirdigim MAC programda sorun var.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

20 Ekim 2013, 03:52:43 #49 Son düzenlenme: 20 Ekim 2013, 04:02:37 z
Zurna = Zurna XOR 1 islemini yapmak icin

Zurna^1=1 dan suphelendim sonra da Zurna=Zurna^1;

komutlarini yazip asm ciktisina baktim.

   375                           ;main.c: 55: Zurna = Zurna ^ 1;
   376  0035  0879                  movf   _Zurna,w
   377  0036  3A01                  xorlw   1
   378  0037  00F0                  movwf   ??_isr
   379  0038  0870                  movf   ??_isr,w
   380  0039  00F9                  movwf   _Zurna

Buradaki;


   378  0037  00F0                  movwf   ??_isr
   379  0038  0870                  movf   ??_isr,w

satirlarina neden ihtiyac duymus anlamadim.

Kufredecem de acaba ben mi yanlis dusunuyorum. XC8 de optimizasyon ayari yokmu? Goya 60 gun profosyonel ozelliklerde kullanacaktim. Acaip optimizasyon yapiyor falan diyorlardi tanitim sayfasinda.

Belki de ben PIC asm yi unuttum.

Zurna ^=1;
i=Zurna & 0xF0;

islemine bakin.

   375                           ;main.c: 55: Zurna = Zurna ^ 1;
   376  0035  0879                  movf   _Zurna,w
   377  0036  3A01                  xorlw   1
   378  0037  00F0                  movwf   ??_isr
   379  0038  0870                  movf   ??_isr,w
   380  0039  00F9                  movwf   _Zurna
   381                           
   382                           ;main.c: 57: i=Zurna & 0xF0;
   383  003A  0879                  movf   _Zurna,w
   384  003B  39F0                  andlw   240
   385  003C  00F0                  movwf   ??_isr
   386  003D  0870                  movf   ??_isr,w
   387  003E  00F6                  movwf   isr@i

Kufredecem. Bu C derleyicisini yazan gerizekali galiba.

Birisi yanlis dusundugumu soylesin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

AsHeS

File->Project Properties->XC8 Global options->XC8 compiler->Option categories->Optimizations
Buraya girdikten sonra en altta Operation mode bulunur burada Free, Standart, PRO bulunur. PRO yu kullanmanız halinde maksimum optimizasyonu alırsınız.
Edit:Proje başlangıcında Free olarak açılıyor bu seçenek haberiniz olsun hocam.

z

20 Ekim 2013, 04:10:13 #51 Son düzenlenme: 20 Ekim 2013, 04:11:47 z
Hemen deneyecegim de bu adamlarin isi asagidaki deyise benziyor o zaman;

Allah fakiri sevindirmek icin once esegini kaybettirirmis sonra da buldururmus.

Eger optimizasyon diye bu fazlaliklari kaldiracaksa bu is esek isine donecek.

Hic optimizasyona kafa yormadan kod uret araya da fazladan kodlar ekle. Bak simdi nasil optimizasyon yapacam diye sonra o fazla kodlari cikart.

Eger bunu yapiyorsa cok ayip.

Derleme islemi sonunda su mesaji veriyor XC8

Running this compiler in PRO mode, with Omniscient Code Generation enabled,
produces code which is typically 40% smaller than in Free mode.
See http://microchip.com for more information.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

AsHeS

23:                x^=1;
002D  3001     MOVLW 0x1
002E  06A4     XORWF x, F
24:                y=x&0xF0;
002F  0824     MOVF x, W
0030  00A3     MOVWF y
0031  30F0     MOVLW 0xF0
0032  05A3     ANDWF y, F

Hocam optimize halinde bu şekilde oluyor sizin yazdığınız kod.

z

Operation modu Free den Pro'ya aldim. Speed optimizasyonunu actim ayni kodlari uretti.

Eger bu derleyici bu sekilde kod uretecekse kafamdaki projeyi mumkun degil 16F628 icine yerlestiremem.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

AsHeS

Alıntı yapılan: AsHeS - 20 Ekim 2013, 04:18:53
23:                x^=1;
002D  3001     MOVLW 0x1
002E  06A4     XORWF x, F
24:                y=x&0xF0;
002F  0824     MOVF x, W
0030  00A3     MOVWF y
0031  30F0     MOVLW 0xF0
0032  05A3     ANDWF y, F

Hocam size üretilen kod bu şekilde mi  ?

z

20 Ekim 2013, 04:25:57 #55 Son düzenlenme: 20 Ekim 2013, 04:27:16 z
Hayir hala ilk verdigim sekilde uretiliyor.

Bu senin verdigin kod tami tamina esek hikayesine uydu.

Siradan bir asm yazimda bu kod yazilir. Fakat hala optimizasyon yapilacak durumda. 1 satir fazla gorundu gozume ama iddia edemeyecegim PIC'e asm yazmayali belki 10 sene oldu.

Adamlarin bir amaci var ama ne? Araya fazla fazla kod koyup sonra onlari kaldirinca optimizasyon yapiyorlarmis durumu var.

Debug yapmak icin boyle yaptik deseler mevcut degiskenlerle de debug yapilir.

Acaba XC8'in MAC versiyonu mu boyle?

Bir de sen derleyiciyi PRO moddan free moda alsan nasil kod uretecek acaba?


Bana e^st de diyebilirsiniz.   www.cncdesigner.com

AsHeS

23:                x^=1;
003D  3001     MOVLW 0x1
003E  00A5     MOVWF 0x25
003F  0825     MOVF 0x25
W
0040  06A9     XORWF x
F
24
:                y=x&0xF0;
0041  0829     MOVF xW
0042  39F0     ANDLW 0xF0
0043  00A5     MOVWF 0x25
0044  0825     MOVF 0x25
W
0045  00AA     MOVWF y

Bu da Free Mode üretimi.
Hocam Apply yaptıktan sonra OK tuşuna basın belki sorun ondandır ?

Mr.Java

MPLAB X'e HI-TECH C PRO yükleyip deneyin bir.XC8 MAC sistemde belki tam oturmamış olabilir.

z

20 Ekim 2013, 04:36:45 #58 Son düzenlenme: 20 Ekim 2013, 04:44:56 z
Hocam apply da denedim Ok de denedim, programi kapatip actim proje ciktilarini sildim yeniden derledim.
Degisen bir sey yok.

Yarin MPLAP+XC8'i  birde PC'ye yukleyeyim ama installation icin gene sizlerden destek almam gerekecek.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

AsHeS

Alıntı yapılan: z - 20 Ekim 2013, 04:36:45
Hocam apply da denedim Ok de denedim, programi kapatip actim proje ciktilarini sildim yeniden derledim.
Degisen bir sey yok.

Yarin MPLAP+XC8'i  birde PC'ye yukleyeyim ama instalation icin gene sizlerden destek almam gerekecek.
Hocam burada bir arkadaşımız resimlerle anlatmış kurulumu, optimizasyon ayarlarını ve gerekli bazı yapıları
http://ramazansubasi.net/xc8-kurulumu/#.UmMJ8hCbyOo
http://ramazansubasi.net/mplab-x-baslamadan-pratik-bilgiler/#.UmMJ9hCbyOo

Yasal Uyarı: Picproje.org sitemizde 5651 sayılı kanunun 8. maddesine ve T.C.Knın 125. maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. Picproje.org hakkında yapılacak tüm hukuksal şikayetleri İletişim sayfamızdan bize bildirdikten en geç 3 (üç) iş günü içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.