Picproje Elektronik Sitesi

DERLEYİCİLER => Microchip XC Serisi => Microchip XC8 => Konuyu başlatan: subram - 05 Haziran 2014, 20:57:47

Başlık: Katil Program
Gönderen: subram - 05 Haziran 2014, 20:57:47
Hadi buyrun bir program da benden olsun. P16f88 için  yazılmış WDT programı. PIC'e atmaya çalışırken PIC'i bozuyor.
Daha önce benzer bir konu vardı 16f628 içindi galiba ama bulamadım.
Nedir bu saçmalık.

kodlar ve hex altta;

#include <xc.h>
#pragma config FOSC = XT  // Oscillator Selection bits (INTRC oscillator; port I/O function on both RA6/OSC2/CLKO pin and RA7/OSC1/CLKI pin)
#pragma config WDTE = OFF        // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = OFF      // RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is digital I/O, MCLR internally tied to VDD)
#pragma config BOREN = OFF      // Brown-out Reset Enable bit (BOR disabled)
#pragma config LVP = OFF        // Low-Voltage Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
#pragma config CPD = OFF        // Data EE Memory Code Protection bit (Code protection off)
#pragma config WRT = OFF        // Flash Program Memory Write Enable bits (Write protection off)
#pragma config CCPMX = RB0      // CCP1 Pin Selection bit (CCP1 function on RB0)
#pragma config CP = OFF         // Flash Program Memory Code Protection bit (Code protection off)
#pragma config FCMEN = OFF       // Fail-Safe Clock Monitor Enable bit (Fail-Safe Clock Monitor enabled)
#pragma config IESO = OFF       // Internal External Switchover bit (Internal External Switchover mode disabled)

#define _XTAL_FREQ 4000000

void main (void) {
    ANSEL=0x00;     //
    TRISB=0x01;     //
    PORTB=0x00;
    PSA=1;          //Prescaler is assigned to the WDT
    PS0=1;          //PS Rate 1:128
    PS1=1;
    PS2=1;
    WDTPS0=0;       // WDTPS Rate 1:512
    WDTPS1=0;
    WDTPS2=1;
    WDTPS3=0;
    SWDTEN=1;
    while (1) {
        RB1=~RB1;
        while(RB0==0) {
            CLRWDT();
        }
        SLEEP();
    }
}


:040000008A11FD2F35
:100FB800831603139B0101308600831203138601F5
:100FC8008316031381150114811401158312031765
:100FD80085100511851505120514023083120313B7
:100FE8008606831203130618FB2F6400F52F63008F
:080FF800F12F83018A11DC2FA7
:04400E0009FFFCFFAB
:00000001FF

Başlık: Ynt: Katil Program
Gönderen: Tagli - 05 Haziran 2014, 21:15:41
PIC'in bozulduğunu nereden anladın? Silip başka program atabiliyor musun? Devre üzerinde mi programlama yapıyorsun yoksa dışarıda mı?
Başlık: Ynt: Katil Program
Gönderen: Müh. müh. - 05 Haziran 2014, 21:22:49
Alıntı yapılan: Tagli - 05 Haziran 2014, 21:15:41
Silip başka program atabiliyor musun? Devre üzerinde mi programlama yapıyorsun yoksa dışarıda mı?

Bozuldu dendiğine göre, herhalde silme ve yazma yapılamıyordur değil mi?

mesaj birleştirme:: 05 Haziran 2014, 21:29:27

#pragma config MCLRE = OFF      // RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is digital I/O, MCLR internally tied to VDD)

ve

TRISB=0x01;

Şeklinde ayarlanmış. Pic te hatırladığım kadarı ile, mclr ye ttl seviyesinden yüksek bir voltaj gelince, programlama moduna geçiyordu ve iki adet programlama uçlarından (genelde port b nin 6 ve 7. bitleri oluyorlardı) programlanıyordu.

Yukarıdaki mantığı ARM da uygulasan, işlemciyi kaybedersin. Pic te de böyle oluyormuydu?

Ayrıca programlama pinlerini çıkış yaparak bozmuş olabilirmisin? Pcb şemanı bir kontrol et..
Başlık: Ynt: Katil Program
Gönderen: Tagli - 05 Haziran 2014, 21:34:24
Evet ama FOSC = XT. Bu durumda, PIC devre dışına alınırsa (veya kristal sökülürse) yazılım koşmaya başlayamaz. Bu durumda programlamak mümkün olabilir belki. Bilmiyorum belki de olmaz. Bu sebeple sordum son sorumu.
Başlık: Ynt: Katil Program
Gönderen: Gökhan BEKEN - 05 Haziran 2014, 21:36:52
Alıntı yapılan: Müh. müh. - 05 Haziran 2014, 21:22:49
Yukarıdaki mantığı ARM da uygulasan, işlemciyi kaybedersin.
Yanılıyorsunuz. Seriporttan program atabilirsiniz. Mesela St'nin flash loader diye bir programı var. Sadece rx,tx ve gnd ile program atıyorsunuz. Üstelik çip'e daha önceden herhangi birşey yazmış olmanız gerekmiyor.
Başlık: Ynt: Katil Program
Gönderen: Müh. müh. - 05 Haziran 2014, 21:45:47
Meftun bey,

Arm ın j-tag pinlerini output yapınca, chip i kaybetme gibi durumlar oluşuyordu. Boot pinleri olanlarda bunu çözmek mümkün olabiliyor. Neyse, konumuz pic mcu.


Alıntı yapılan: Tagli - 05 Haziran 2014, 21:34:24
Evet ama FOSC = XT. Bu durumda, PIC devre dışına alınırsa (veya kristal sökülürse) yazılım koşmaya başlayamaz. Bu durumda programlamak mümkün olabilir belki. Bilmiyorum belki de olmaz. Bu sebeple sordum son sorumu.

Buna pek ihtimal vermiyorum. Sonuçta siler, ve yeniden yükler.

-RB6, PB7 pcb de input tu da, output yapılınca port zarar görmüş olabilir.

Başlık: Ynt: Katil Program
Gönderen: subram - 05 Haziran 2014, 22:18:54
Alıntı yapılan: Tagli - 05 Haziran 2014, 21:15:41
PIC'in bozulduğunu nereden anladın? Silip başka program atabiliyor musun? Devre üzerinde mi programlama yapıyorsun yoksa dışarıda mı?

aynen dediğin gibi programı atarken yükleme yapamıyor hata veriyor, PIC'i tekrar okuttuğumda okumuyor.

@müh.müh ortade şema olsa kontrol edeyim ama yok maalesef. Direk olarak programlayıcıdan progrmalıyorum.  Bu mantık pic için sakıncalı bir mantık değil. Daha önce en az 1K bu şekilde program yazdım hiç bir sorun olmadı. Elimde yeteri kadar  PIC olsa sorunu çözmek için denemeler yappı (PIC bozulacak tabi bu denemelerde) sorunun hangi koddan kaynaklandığını çözerdim ama şuan için 4 Tane PIC bozmuş durumdayım.



Başlık: Ynt: Katil Program
Gönderen: canbulut - 05 Haziran 2014, 22:19:41
hocam benimde başıma böyle bir durum gelmişti:) meğer işlemciye bağladığım yükten dolayı işlemcileri bozuyormuş böyle bir tecrübem olmuştu.Bence bir yüksüz olarak deneyiniz.
Başlık: Ynt: Katil Program
Gönderen: kantirici - 05 Haziran 2014, 22:25:02
628a da çalışırken benimde başıma gelmişti. Sanırım aynı problem bu mcuda  da var.

https://www.picproje.org/index.php/topic,32044.msg224037.html#msg224037 (https://www.picproje.org/index.php/topic,32044.msg224037.html#msg224037)
Başlık: Ynt: Katil Program
Gönderen: canbulut - 05 Haziran 2014, 22:40:11
aramış olduğunuz konu bu ise;
https://www.picproje.org/index.php/topic,50815.0.html#quickreply (https://www.picproje.org/index.php/topic,50815.0.html#quickreply)
Başlık: Ynt: Katil Program
Gönderen: subram - 05 Haziran 2014, 22:51:57
@canbulut PIC devrede değil. ICSP ile programlıyordum 2 tane bozulunca Zif soket ile programlamaya başladım 2 tanede öyle bozdum.

Konulara bir bakayım.
Başlık: Ynt: Katil Program
Gönderen: canbulut - 05 Haziran 2014, 22:57:29
devredeki yükleri devre dışı bırakıp denediniz mi hocam.PIC devre değilse o başka tabi.
Başlık: Ynt: Katil Program
Gönderen: subram - 05 Haziran 2014, 23:19:06
Elinde 16F88 olan bir gönüllü varsa şu kodu bir deneyebilir mi acaba?

PIC devrede değil.
Başlık: Ynt: Katil Program
Gönderen: RaMu - 05 Haziran 2014, 23:37:26
Bencede linkleri verilen konularda bahsedilen Vpp first uygulanmamasından kaynaklı olabilir,
16f88 net bilmiyorum ama 16f877a programlayan bir programlayıcı programı yazmıştım,
o programı yazarken pici programlamak için nasıl bir yöntem izlendiğini öğrenme fırsatım oldu,
kısaca;
(burada kodlar asm makro şeklinde yazılı
sadece isimlerine bakıp uygulanan adımları anlayabilirsiniz


;>>>>>>>>>>>>>>>>>>>>  MAIN PROGRAM STARTS FROM HERE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

CALL CHIP_ERASE_1







;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,BULK ERASE PROGRAM MEMORY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ENTER_HV_PROG        ;PC=0000H
                                        GOTO JUMP0

LOAD_PROG_MEM        ; BULK ERASE PROGRAM MEMORY ALGORITHM WORKS WELL BUT I HAVE JUMPED TO TEST CHIP ERASE
WRITE3FFF
BULK_ER_PROG_MEM
BEG_ER_PROG_CYCLE

CALL  DELAY8MS

EXIT_HV_PROG
ENTER_HV_PROG
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;BULK ERASE FINISHED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,
                                        JUMP0  NOP

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WRITING CONFIGURATION MEMORY AND ID WORDS;;;;;;;;;;;;;;;;;;;;;;;;;

ENTER_HV_PROG                 ;THIS ALGORITHM WORKS FOR NOT PROTECTED CHIP VERY WELL

LOADCONFIG         ;PC=2000H
WRITE3FFF         

LOAD_PROG_MEM       ;1
WRITE3FFF
INC_ADRS
LOAD_PROG_MEM       ;2
WRITE3FFF
INC_ADRS
LOAD_PROG_MEM       ;3
WRITE3FFF
INC_ADRS
LOAD_PROG_MEM       ;4
WRITE3FFF
BEGIN_PROG_ONLY     ;IT IS WORKING WITH ALSO   BEG_ER_PROG_CYCLE COMMAND
CALL  DELAY8MS      ;


END_PROG
INC_ADRS
INC_ADRS
INC_ADRS
INC_ADRS
LOAD_PROG_MEM
WRITE_CONFIG_DATA
BEG_ER_PROG_CYCLE  ;

CALL  DELAY8MS   

EXIT_HV_PROG
ENTER_HV_PROG

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<WRITING CONFIGURATION MEMORY FINISHED<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Burası programlamaya giriş kısmı
ben önce Vdd uygula sonra Vpp uygula
şeklinde yazmıştım ama
bazı piclerde bunun sıkıntı çıkardığını okumuştum,

ENTER_HV_PROG    MACRO       ;
CLRF           PORTC         ;PGD=0V PGC=0V
BSF            PORTB,0       ;MCLR= 0V ;**  IN CASE IF IT GETS ANY POWER
BSF            PORTB,1       ;VDD=5V
BCF            PORTB,0       ;MCLR=13V
NOP
NOP
NOP                          ;5 US DELAY
NOP
NOP
ENDM


EXIT_HV_PROG    MACRO
BCF       PORTB,1
BSF          PORTB,0
ENDM


Başka programlayıcı varsa onunla deneyebilirsin,
programlayıcın pickit2 ise güncellemelerini yapabilirsin,
bahsedilene benzer bir yöntem seriport programlıyıcı ile deneyebilirsin,
elimde 16f88 olsa yada geçerse denemeyi bende yaparım.
Başlık: Ynt: Katil Program
Gönderen: Tagli - 05 Haziran 2014, 23:45:55
Alıntı yapılan: RaMu - 05 Haziran 2014, 23:37:26
Bencede linkleri verilen konularda bahsedilen Vpp first uygulanmamasından kaynaklı olabilir,
Bundan olduğunu sanmıyorum. O olay, hem MCLR iptal hem de dahili osilatör kullanıldığında oluyordu. Burada harici kristal var. Başka bir sebebi olmalı.

Stoklarımda sadece 1 tane PIC16F88 olduğundan kıyıp deneyemedim açıkçası.
Başlık: Ynt: Katil Program
Gönderen: Maxim - 05 Haziran 2014, 23:51:40
pic bozulmuyordur mutlaka çıkar nedeni yakında.

16F628 de çözümü şöyle bulmuştuk
pickit2 de USE VPP FIRST PROGRAM ENTRY seçeneğini seçiyorduk.

Başlık: Ynt: Katil Program
Gönderen: subram - 05 Haziran 2014, 23:54:21
Aynı PIC'e katil programı atmadan önce, daha önce yazdığım bir programı attım. Sorunsuz yükledi. Yüklediği kodu okuyup baktım sorun yok. Sonra katil programı atınca PIC öldü.

Yarın 1-2 tane PIC alıp şansımı başka türlü deneyeceğim bakalım.

mesaj birleştirme:: 05 Haziran 2014, 23:54:43

Bu arada bende Brenner var.
Başlık: Ynt: Katil Program
Gönderen: Müh. müh. - 06 Haziran 2014, 00:10:57
En başında, programlayıcınızın orjinal olduğunu düşünerek yorumlar yazmıştım.

Size tavsiyem, birkaç mcu daha bozmadan önce, orjinal programlayıcı ile bu gün bozduğunuz mcu yu silip, yeniden programlamaya çalışmanız.

Çünkü bu klon programlayıcının sorunu olabilir.



Bir ikinci tavsiyemde, orjinal programlayıcı almanız. Pic kit 2 ve 3 ün, 100 lira civarında fiyatı olması gerekli. Bu işlerle uğraşan kişiler için çokta para değil..
Başlık: Ynt: Katil Program
Gönderen: subram - 06 Haziran 2014, 00:51:13
@müh.müh seni bir yerden tanıyor gibiyim, tarzı bir arkadaşı hatırlattı.

Son bir tane PIC vardı elimde.  Onu denemeden önce bilgisayarı kapattım.
10dk bekledim.
Bilgisayarı açtım.
Brennerı açtım.
MPLAB X açtım.
main.c kısmındaki tüm satıları kapattım. Derledim yükledim sorun yok.
Sonra while(1)  den önceki satırları açtım. derledim yüklemdim sorun yok.
SLEEP ve CLRWDT  kodlarını kapalı olarak  derledim yükledim sorun yok.
CLRWDT kodunu açtım derledim yükledim sorun yok.
ve son hamle SLEEP kodunu açınca PIC öldü.

Hadi buradan buyurun bakalım!
Başlık: Ynt: Katil Program
Gönderen: muhittin_kaplan - 06 Haziran 2014, 00:53:45
programlama uçları devredışı kalıyormu acaba sleep den dolayı,

(Konuyla alakasız ama ben de biryerler çıkartacağım gibi Müh.Müh. ü)
Başlık: Ynt: Katil Program
Gönderen: ogy - 06 Haziran 2014, 00:55:03
Bir ara 16f88 aldım 2 tane.Pickit2(kolon) ve MikroC kullanıyorum ve buna benzer bişey yaşadım.2 çipte saçma hatalar verdi program atarken.5-6 kere deniyorum atmıyor.Sonra atıyor ama doğrulamayı yapamıyor falan..En sonunda atıyor ama en az 7-8 kere uğraşıyorum.Mplab kurulu değil şu an kurulu olsa deneyecektim programı.Yarın vakit bulursam deneyeceğim.Bende merak ettim bu konuyu.Acaba 16f88 lerle ilgili kaçırdığımız bişey mi var?
Başlık: Ynt: Katil Program
Gönderen: mehmet - 06 Haziran 2014, 00:56:51
"Muhtemelen" pic herhangi bir şekilde enerjilendiğinde,
anında uykuya yatıyor. RB0 pinini gnd ye bağlayıp öyle
programlayı deneseniz??? diye düşünüyorum...
Başlık: Ynt: Katil Program
Gönderen: subram - 06 Haziran 2014, 01:03:04
Elde 16f88 kalmadı. Şimdi bu kodu 628 için uyarlayıp oradan test edecem.
Başlık: Ynt: Katil Program
Gönderen: mehmet - 06 Haziran 2014, 01:04:40
while(1) den önce 2sn. gibi bir gecikme ekleseniz?
Başlık: Ynt: Katil Program
Gönderen: OG - 06 Haziran 2014, 01:12:04
Bu işe sebep olanlar,

PIC, programlama cihazına bağlı da olsa enerjilendiğinde Vpp nin hemen aktif olmaması sebebiyle program calışıyor.
Program içinde sleep veya interrupt veya clock ureten pinler var ise konum değiştirdiğinde iş biryerlerde tıkanıyor.

Aslında olay tamamen programlayıcı cihazın dizayn hatası. İlk yapması gereken Vpp yi gereken H voltaja cıkarmak olmalı, bundaki gecikme picin bir iki adım işlem yapmasına sebep oluyor ve iş tıkanıyor. Lvp açıksa durum daha kötü porttaki değişimler Lvp algılanmasına sebep oluyor.

1 haftadır başımı belaya sokan bir sorunun büyük tarafı bu imiş.
PK3 den K128 e gectim rahat ettim.  ;D
Başlık: Ynt: Katil Program
Gönderen: Tagli - 06 Haziran 2014, 02:01:25
Alıntı yapılan: OG - 06 Haziran 2014, 01:12:04
PIC, programlama cihazına bağlı da olsa enerjilendiğinde Vpp nin hemen aktif olmaması sebebiyle program calışıyor.
Çalışamaz hocam, FOSC = XT ve subram bunu devre dışında programladığını söylüyor. Kristal yoksa çalışmaz.
Başlık: Ynt: Katil Program
Gönderen: subram - 06 Haziran 2014, 02:05:43
Gökçe ben birşey demedim ya :) Yanlış anlaşılma oldu herhalde

Kodu 16f628 için düzenledim hiç bir sorun yok. Çatır çatır attı programı.

#include <xc.h>
#pragma config FOSC = XT        // Oscillator Selection bits (XT oscillator: Crystal/resonator on RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN)
#pragma config WDTE = ON       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = OFF       // RA5/MCLR pin function select (RA5/MCLR pin function is MCLR)
#pragma config BOREN = OFF      // Brown-out Reset Enable bit (BOD Reset disabled)
#pragma config LVP = OFF        // Low-Voltage Programming Enable bit (RB4/PGM pin has digital I/O function, HV on MCLR must be used for programming)
#pragma config CPD = OFF        // Data Code Protection bit (Data memory code protection off)
#pragma config CP = OFF         // Code Protection bits (Program memory code protection off)


#define _XTAL_FREQ 4000000

void main (void) {
        TRISB=0x01;     //
    PORTB=0x00;     //
    PSA=1;          //Prescaler is assigned to the WDT
    PS0=1;          //PS Rate 1:128
    PS1=1;
    PS2=1;
    while (1) {
        RB1=~RB1;
        while(RB0==0) {
            CLRWDT();
        }
      SLEEP();
    }
}


.hex
:02000000FE2FD1
:100FCA0001308316031386008312031386018316E6
:100FDA0003138115011481140115023083120313BE
:100FEA008606831203130618FC2F6400F62F63008B
:060FFA00F22F8301E52F38
:02400E000DFFA4
:00000001FF


16f88'de bir gariplik var sanırım.
Başlık: Ynt: Katil Program
Gönderen: ipek - 06 Haziran 2014, 02:09:11
ICSP ile 16F628' program attım.olmadı.microchip'in tüm verilerini okudum.daha evvel aynı pinlerden arkadaş atmış. üşenmedim IC'yi söktüm Pic StartPlus'a taktım sorunsuz programı aldı.baktım devrede 10Mhz kristal var,
pompa ile bir bacağını ayırdım ,tekrar ICSP'yi bağladım kusursuz programlandı.normalde VPP'yi görür görmez osilatörün durması lazımdı ama öyle olmuyordu.kıllık olsun diye 10Mhz'lik kristalin yerine 4Mhz taktım yine sorun yoktu.
arkadaşımın başına böyle bir durum gelmiş saç baş yolma faslı bitince LVP ayağına 10k takıp bunu artık hatırlamıyorum ya VDD yada VCC 'ye bağlamış sorun çözülmüş.onun geberttiği çipleri bana verdi bunlara ulaşılamıyor diye ben hepsini pic start ile adam edip kullandım.aklımda bir soru işareti kaldı bu ICSP işi daha tam oturmamış galiba.
Başlık: Ynt: Katil Program
Gönderen: Tagli - 06 Haziran 2014, 02:11:33
Çok merak ettim, yarın yegane PIC16F88'imi feda edeceğim.

ipek hocam, ICSP oturmamış değil ama bazı nazları var, dikkat edilmezse sorun çıkarıyor.
Başlık: Ynt: Katil Program
Gönderen: subram - 06 Haziran 2014, 02:17:41
88 feda edeceksen verdiğim ilk kodu gömmeden önce while(1)'in önünen 2-3 saniye koyup o şekilde dener misin?
Başlık: Ynt: Katil Program
Gönderen: muhittin_kaplan - 06 Haziran 2014, 02:27:06
ARM dan bu yana program başlamadan önce önüne belli bir süre gecikme koyuyorum. (3 adet stm32f103 gidince)
Başlık: Ynt: Katil Program
Gönderen: subram - 06 Haziran 2014, 02:30:40
628'e kodu atarken 3-4 saniye sürüyor işlem. 88 ile normalde 1sn bile sürmüyor.  Sorunun bir noktası da burada olabilir gibi.
Başlık: Ynt: Katil Program
Gönderen: RaMu - 06 Haziran 2014, 02:39:47
Bu kod üzerinde konuşulur ama,
alternatif olarak 16f88 rb0 kesmesi veya portb de değişiklik oldu kesmesi ile
uyanıp kesme içinde ledi toggle yapsa olmaz mı?
Tabi program sadece ledi toggle etmek için yazılmayacakta diyebiliriz,
şimdilik bu kadarı yeterliyse kesme denenebilir.

Yani problem wdt den kaynaklımı fikir sahibi oluruz.
Başlık: Ynt: Katil Program
Gönderen: Maxim - 06 Haziran 2014, 09:21:36
bence sorun sadece USE VPP FIRST PROGRAM ENTRY seçeneği ile alakalı
yani işlemci içindeki program başlamadan işlemcinin yazma moduna geçmesi gerekiyor.
olay bu.

fakat bu özelliğin geçerli ve işe yarar durumda olması için
ya orjinal pickit2 veya voltaj kontrolü yapabilen kaliteli klon bir pickit2 kullanıyor olmanız lazım.

brenner bunu yapıyormu?
yada elinizdeki klon pickit2 voltaj kontrollü mü? eminmisiniz?
menüdeki seçeneği seçmeniz özelliği kullanıyorsunuz anlamına gelmiyor.

EDIT1:
@subram
ilk mesajdaki hex dosyasınımı denemem gerekiyor?

EDIT2:
İlk mesajdaki hex dosyasını bendeki dandik klon pickit2 ile denedim (16F88)
bir sorun yok?
Başlık: Ynt: Katil Program
Gönderen: OG - 06 Haziran 2014, 09:27:32
Yükleme anında CONFIG bitleri programlamanın en sonunda yukleniyorsa default durumlar;
CONFIG1.7  biti ve   CONFIG2 bitleri  default hali sıkıntı yapıyor olabilir. Yine bu durumda uzun bekleme veremezsiniz   CONFIG1.2 ile  WDT defaultta enabled oluyor.
Başlık: Ynt: Katil Program
Gönderen: ogy - 06 Haziran 2014, 09:31:07
Benim kullandığım pk2 de voltaj kontrolü yok.Bazı bölümleri eksik bir klon.Bencede sorun burada.Orjinaliyle problem olacağını sanmıyorum.
Başlık: Ynt: Katil Program
Gönderen: X-Fi - 06 Haziran 2014, 09:31:27
Alıntı yapılan: muhittin_kaplan - 06 Haziran 2014, 02:27:06
ARM dan bu yana program başlamadan önce önüne belli bir süre gecikme koyuyorum. (3 adet stm32f103 gidince)


Hocam 3 adet STM32 önüne delay koymadığınız için bozulmaz sizin sorununuz SWD dedect pinlerini değiştirmek ile ilgili olabilir. Çipler bozulmamıştır.
Başlık: Ynt: Katil Program
Gönderen: OG - 06 Haziran 2014, 09:33:24
Alıntı yapılan: ogy - 06 Haziran 2014, 09:31:07
Benim kullandığım pk2 de voltaj kontrolü yok.Bazı bölümleri eksik bir klon.Bencede sorun burada.Orjinaliyle problem olacağını sanmıyorum.
K128 de aynı sebeple sıkıntı çıkarmıyor.

mesaj birleştirme:: 06 Haziran 2014, 09:40:26

OSC XT olsa bile program neden yürür,

CONFIG2.1   (IESO) R/P-1   
CONFIG2.0  (FCMEN) R/P-1

IESO: Internal External Switchover bit
1 = Internal External Switchover mode enabled
0 = Internal External Switchover mode disabled

TWO-SPEED CLOCK START-UP MODE
Two-Speed Start-up mode minimizes the latency
between oscillator start-up and code execution that
may be selected with the IESO (Internal/External Switchover)
bit in Configuration Word 2. This mode is
achieved by initially using the INTRC for code
execution until the primary oscillator is stable.

If this mode is enabled and any of the following conditions
exist, the system will begin execution with the
INTRC oscillator. This results in almost immediate
code execution with a minimum of delay.
Başlık: Ynt: Katil Program
Gönderen: pwm.c - 06 Haziran 2014, 14:39:52
@subram
bende Brenner ve Pickit3 programlayıcıları mevcut. ilk mesajdaki hex dosyasını Brenner ile programladığımda hata mesajı verip 16f88 birdaha kullanılamaz hale geldi ancak orjinal pickit3 ile tekrar kurtardım. bu tamamen Brennerın bir acizliği olabilir.
başka denememi istediğin bişey varsa deneyebilirim. elimde feda etmeye hazır yeterince 16F88 var.
Başlık: Ynt: Katil Program
Gönderen: subram - 06 Haziran 2014, 17:28:35
pickit3 ile kurtarabildiysen güzel, bende 7 tane bozuk PIC var şuan :)

while(1) komutundan önce 2-3 saniye bir gecikme koyup o şekilde deneyebilir misin brenner ile? mplab+xc yoksa direk hex gönderebilirim.


mesaj birleştirme:: 06 Haziran 2014, 18:36:12

bozulan PIC'leri  expkits klonları ile hayata geçirebilir miyim acaba?
Başlık: Ynt: Katil Program
Gönderen: Maxim - 06 Haziran 2014, 19:48:04
senin sorunun kesin brennerla ilgili
bendeki dandik klon bile sorun çıkarmıyor
Başlık: Ynt: Katil Program
Gönderen: AsHeS - 06 Haziran 2014, 19:49:36
Alıntı yapılan: subram - 06 Haziran 2014, 17:28:35

bozulan PIC'leri  expkits klonları ile hayata geçirebilir miyim acaba?

Geçirirsin.
Başlık: Ynt: Katil Program
Gönderen: subram - 06 Haziran 2014, 20:51:46
muhtemelen Brenner ile alakalı. bu adamlar halen üretime devam ediyorsa feedback atayım adamlara.
Başlık: Ynt: Katil Program
Gönderen: Erhan YILMAZ - 07 Haziran 2014, 00:51:22
Ramazan o zaman katil diye hitap ettiğin kod üstünde ki suçlamalar kalktı. O kadar ağır ithamlarda bulundun koda karşı iade-i itibar etmelisin.
Başlık: Ynt: Katil Program
Gönderen: subram - 07 Haziran 2014, 01:19:26
sine-i kod yapacam Erhan. Bu iş ancak böyle temizlenir :P
Başlık: Ynt: Katil Program
Gönderen: pwm.c - 07 Haziran 2014, 12:35:05
Alıntı yapılan: subram - 06 Haziran 2014, 17:28:35
while(1) komutundan önce 2-3 saniye bir gecikme koyup o şekilde deneyebilir misin brenner ile? mplab+xc yoksa direk hex gönderebilirim.
Ramazan, bahsettiğin yere __delay_ms(2000); komutunu ekleyerek gecikme koydum. Brenner bu sefer hata vermedi.
XC versiyonum 1.31 pro mode.
Başlık: Ynt: Katil Program
Gönderen: Tagli - 07 Haziran 2014, 12:53:46
Cuma günü koşturmacadan deneme yapmaya fırsatım olmadı ama gördüğüm kadarıyla sorun çözülmüş gibi.

Bu arada, aklıma geldi bir dip not olarak ekleyeyim dedim: Kesme ile uyanmada eğer kesme koduna atlanması isteniyorsa - ki istenmezse, kesme ile uyanıldığı halde kesme koduna girmeden kalınan yerden devam edilebilir - SLEEP()'ten sonra bir tane NOP() koymakta fayda var. Çünkü uykudan uyanınca, kaçınılmaz olarak SLEEP'ten sonraki ilk ASM komutu çalıştırılıyor.
Başlık: Ynt: Katil Program
Gönderen: t2 - 08 Haziran 2014, 09:04:14
12f1822 için benzer durum başıma geldi. Dahili osc kullanılıyor ve MCLR disable. Tek sefer programlandı artık silinemiyor ve programlanamıyor. Kopya pickit2 kullanıyorum.


VPP first programming entry  yapabilmek için  VDDyi elle açıp kapatabileceğimiz bir switch ekledim. VDDyi kapattım kartın beslemesini kesip test menüsünden VPPyi aktif ettim. sonra ICSP soketi taktım. şimdi beslemeyi verince  VPP aktif olduğundan  mclr disable olsa bile picin çalışmaması lazım. sonra  VDDyi açtım. tekrar silmeye çalışıtım olmadı. galiba bu esnada yine VPP kısa bir süre kesildiği için pic yine çalışmaya başladı dolayısıyla programlanma işi yine olmadı. BU arada tekrar sorun yaşamayalım diye yüklenecek  program içinden mclr on  yapmıştım.

Sonuç olarak elle açılıp kapatılan VDD anahtarı işe yaramadı. Orijinal pickit3 ile  kısa sürede silinip programlama yapılabildi.  orijinal pickit3  programlayıcım eskimesin diye saklayıp kullanmıyordum. İlk kullanım bu şekilde oldu.


pickit2 kopyası yapılırken VDD anahtarını ihmal etmemek gerektiği anlaşılıyor. onu da eklemek iyi olur.
Başlık: Ynt: Katil Program
Gönderen: subram - 08 Haziran 2014, 13:37:47
Alıntı yapılan: pwm.c - 07 Haziran 2014, 12:35:05
Ramazan, bahsettiğin yere __delay_ms(2000); komutunu ekleyerek gecikme koydum. Brenner bu sefer hata vermedi.
XC versiyonum 1.31 pro mode.

Sağolun hocam sorunun kaynağı açık şekilde ortada.
Başlık: Ynt: Katil Program
Gönderen: OG - 08 Haziran 2014, 14:26:28
Şunun cevabını bilen varmı?
CONFIG registeri/registerleri  normal datadan öncemi ,sonramı, beraber mi yükleniyor.

Sanıyorumki en son yükleniyor. Çünkü yükleme sonrası doğrulama yapılması gerekir, protect programlarda doğrulama yapabilmesi için config en son atanması gerek. En azından birkaç biti öyle. Ve problemin önemli bir parçası bu. Çünkü PIC safe osc ile adım atıyor biryerde de çakılıyor. Farkındaysanız  safe osc olmayan pic lerde bu sorun yok.
Başlık: Ynt: Katil Program
Gönderen: RaMu - 10 Haziran 2014, 21:49:26
Modele göre değişken olabilir ama
bence 12f ve 16f serisinde aynıdır
pic12 den pic16 ya md ler "pic16 method"  diye
tabir edilen yöntemle programlanıyor
şukadarını kesin söyleyebilirim 16f877 de
ister önce ister sonra config registerları yüklenebiliyor
ama genel olarak en son yüklenmesi tavsiye-tercih ediliyor,
misal write protect yapılan bir programı
önce config yüklemeye çalışarak pice yazamayız
veya read protect yazılan programı
önce config yazarak yükleme esnasında verify ile yükleme yapamayız.

An910 a bakıp pice program yükleme ile ilgili detaylara ulaşabilirsiniz
https://www.google.com.tr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CBwQFjAA&url=https%3A%2F%2Fwww.microchip.com%2Fstellent%2Fidcplg%3FIdcService%3DSS_GET_PAGE%26nodeId%3D1824%26appnote%3Den012156&ei=9VKXU8GnB6uA7Qa0q4DoDw&usg=AFQjCNFLALZGGS_PZmo8UIQOproEWfWQoQ&sig2=W46Q7Ou56xsLOYWHqlv_HA&bvm=bv.68693194,d.ZGU (https://www.google.com.tr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CBwQFjAA&url=https%3A%2F%2Fwww.microchip.com%2Fstellent%2Fidcplg%3FIdcService%3DSS_GET_PAGE%26nodeId%3D1824%26appnote%3Den012156&ei=9VKXU8GnB6uA7Qa0q4DoDw&usg=AFQjCNFLALZGGS_PZmo8UIQOproEWfWQoQ&sig2=W46Q7Ou56xsLOYWHqlv_HA&bvm=bv.68693194,d.ZGU)
Başlık: Ynt: Katil Program
Gönderen: Tagli - 11 Haziran 2014, 22:23:17
Alıntı yapılan: RaMu - 10 Haziran 2014, 21:49:26
misal write protect yapılan bir programı
önce config yüklemeye çalışarak pice yazamayız
Bildiğim kadarıyla write protect sadece programın kendi program belleğine erişimini (yazmasını) engelliyor. Programlayıcı donanım üzerinde bir etkisi yok.
Başlık: Ynt: Katil Program
Gönderen: RaMu - 11 Haziran 2014, 23:16:38
code protect desem daha iyi olurmuş
söylemek istediğim oydu çünki,
ama write protect durumunda programlayıcı donanım mdye programı yazabilirmi net bilmiyorum
şu verdiğim dökümandada var
read protect yapılınca programlayıcı donanımda mddeki programı okuyamıyor.
Başlık: Ynt: Katil Program
Gönderen: t2 - 11 Haziran 2014, 23:30:33
Alıntı yapılan: RaMu - 11 Haziran 2014, 23:16:38
mdye programı yazabilirmi .
..
mddeki programı okuyamıyor.

md nedir? ne demek?
Başlık: Ynt: Katil Program
Gönderen: Tagli - 11 Haziran 2014, 23:47:22
Mikrodenetleyici?
Başlık: Ynt: Katil Program
Gönderen: ipek - 11 Haziran 2014, 23:48:09
gizemll olmuş biraz ,bence mikro denetleyici'nin kısaltması
Başlık: Ynt: Katil Program
Gönderen: t2 - 12 Haziran 2014, 00:25:46
Ben de RAM, ROM gibi hafıza bölümlerinden daha önce duymadığımız bir bölüm olabilir diye düşünmüştüm.
Başlık: Ynt: Katil Program
Gönderen: subram - 12 Haziran 2014, 01:54:07
bu arada birşey daha test ettim. P16f628 uyarladığım kodda sorun olmadığını yazmıştım. Bir kere programladıktan sonra (sorunsuz şekilde programlanıyor) devreye takıp çalıştırınca 2. kez tanımıyor Brenner.

Almanca bilen biri varmı? Brenner konu ile alakalı yazayım dedim ama translate.google bile çeviremedi siteyi ingilizceye.
Başlık: Ynt: Katil Program
Gönderen: pwm.c - 12 Haziran 2014, 12:45:37
Brennerin şuandaki en son güncellemesi 20.05.2013 tarihli.
http://www.sprut.de/electronic/soft/usburn/usburn.htm#download (http://www.sprut.de/electronic/soft/usburn/usburn.htm#download)
sanırım tasarımcısı artık ilgilenmiyor olabilir.
bende bir ara sorun bildirecektim ama senin gibi Almanca engeline takıldım. aslında Almancı çok sayıda yakın akrabam var ancak teknik terimleri çevirebileceklerini sanmıyorum ve güncellemelerin azaldığını görünce bende orjinal pickit3 alıp bu dertlerden kuruldum.
Başlık: Ynt: Katil Program
Gönderen: RaMu - 12 Haziran 2014, 21:06:06
Evet Md=mikrodenetleyici