icd2

j s jarin.hw na gmail.com
Sobota Prosinec 31 12:48:56 CET 2011


No to je zahada. Teraz nemozem skusit ICD2 (ktore mam v praci) ani
18F1320. To najskor na buduci tyzden.
Este k tomu bodu 6 - to v zatvorke znamenalo, ze si si pozrel, ze tie
konfiguracne bity vyzeraju (po kompilacii) ako maju? Teda ze LVP je
disablovane?

Zobral som tvoj zdrojak a upravil som to takto:
#include <htc.h>
__CONFIG(1, IESODIS & FCMEN & RCIO);
__CONFIG(2, BORDIS & BORV42 & PWRTEN & WDTDIS & WDTPS32K);
__CONFIG(3, MCLREN );
__CONFIG(4, DEBUGEN & LVPDIS & STVREN);

lebo mi kompilator huboval na konstantu v tom konfiguraku (to 0x08 co
si tam mal povodne) aj na #include <18f1320.h> . Ak tebe nehubuje,
znamena to, ze asi mame nezanedbatelne rozdiely v kompilatoroch. Na co
vlastne includujes ten subor 18F1320.h? Vsetko by malo byt urobene
includnutim htc.h.
Mam kompilator Hi-Tech 9.80 pre PIC18, ale v Lite verzii - totiz s
Hi-Tech-om nerobim, preto nemam plnu verziu, mam ho len na hranie.
MPLAB je najnovsi, ver. 8.83.

Kazdopadne, v konfigurakoch vidim po kompilacii to, co tam ma byt - s
tym fragmentom ako som ho napisal vyssie. Oscilator interny, LVP
disablovane. Ked budem mat moznost, skusim to aj s realnym HW a ICD2.

Je mozne, ze je v MPLAB-e chyba, ale vidim to ako jednu z poslednych
moznosti. ICD2 aj 18F1320 su natolko stare zalezitosti, ze to musi byt
100x vychytane. Pre nove PIC by som to aj uveril, ale u tychto
veteranov mi to nejak nesedi.
Kazdopadne, skus novsiu verziu kompilatora a MPLAB-u a rucne
preflashovat firmware v ICD2. Chapem, ze je to nie je dvojminutova
zalezitost, ale viac momentalne nemozem poradit. Samozrejme, este by
bolo moznostou mat iny programator, ale to by si asi skusil, ak by si
mohol.

J.S.


2011/12/31 Miroslav Draxal <evik na volny.cz>:
> 1/ vymažu celý pic   .. OK
> 2/ verifi target device is erased .. OK
> 3/ ručně zakážu v konfiguraci WDT + LVP disable  .. OK
> 4/ nahodim PGM do HI
> 5/ zaškrtni checkbox pro auto konfiguraci ze zdrojáku
> 6/ kompilace .. ok  ( bity v konfiguraci ) OK
> 7/ vypálit program
>
> A teď: Program vypálen,konfig bity, modul pro spojení s ICD2 a má proběhnout
> verifikace v tu chvíli vyběhne hláška, že mám zkontrolovat připojení s pic.
> Totálně vymrtvenej pic. Až po PGM do lo se to rozběhne a jakmile přečtu
> celej obsah pice, tak je to kompletně vynulovaný včetně konfig bitu a LVP je
> enabled. Bordel tam dělá ten PGM. Jakmile je v lo, tak vše jak má být.
>
> Kolem picu nejsem žádný guru, ale lama taky ne. Jsem si zpoměl, že někdy
> kolem roku 2000 se mi podobné nepochopitelné věci děli při programování s
> picstarem. Byl tam bug v mplabu.
>
> Jakou máš verzi kompilátoru? Prosím zkus tam místo 0x08 hodit RCIO co to
> přeloží do konfiguračního slova. Díky Míra
>
> -----Original Message-----
> From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] On
> Behalf Of j s
> Sent: Saturday, December 31, 2011 9:57 AM
> To: HW-news
> Subject: Re: icd2
>
> Program som chcel na to, aby som videl ako budu nastavene konfiguracne bity
> - ci nahodou nie je problem v tom. Tie vyzeraju byt OK, hoci nemam rovnaku
> verzi kompilatora... Ale to, ci ich kompialtor generuje spravne sa da overit
> v editore konfiguracnych bitov. Je treba mat zaskrtnute checkbox, ze
> konfiguraky su nastavene v zdrojakoch, teda cele zvysne okno bude sive -
> neaktivne.
>
> Ale nejak som nepochopil tu zalezitost s LVP bitom. Ak sa PIC naprogramuje s
> LVP disablovanym, tak po verifikacii tento bit je opacny? Ak sa naprogramuje
> s LVP disablovanym, robi stav PGM bitu nejaky problem? Ostatne konfiguracne
> bity su tak ako sa maju zapisat?
>
> J.S.
>
>
> 2011/12/31 Miroslav Draxal <evik na volny.cz>:
>> MPLAB 8.80,
>> HI-TECH C PRO for the PIC18 MCU Family  V9.63PL3
>>
>> Už v __CONFIG(1, IESODIS & FCMEN & 0x08); místo 0x08 Zde jsou možnosti
>> EXTCLKO RCCLKO RCIO EXTIO HSPLL ECIO ECCLKO HS XT LP
>>
>>
>> Pokud tam dám RCIO , tak to přeloží jako LP oscilátor , proto
>> 0x08=interní osc + RA6,7 = IO
>>  Je to jenom nástřel programu. Docela jsem zvědav na co přijdeš. Ono
>> to není o programu. Prostě pokud je PGM v HI, tak se ICD2 nepodaří
>> iniciovat pic, jako by nebyl připojen.
>>
>>
>> #include <htc.h>
>> #include <18f1320.h>
>> __CONFIG(1, IESODIS & FCMEN & 0x08);
>> __CONFIG(2, BORDIS & BORV42 & PWRTEN & WDTDIS & WDTPS32K); __CONFIG(3,
>> MCLREN ); __CONFIG(4, DEBUGEN & LVPDIS & STVREN); __CONFIG(5, 0xFFFF);
>> __CONFIG(6, 0xFFFF); __CONFIG(7, 0xFFFF);
>>
>> struct _SPIout_bity
>>        {       unsigned CanSleep:1;
>>                unsigned Set12V:1;
>>                unsigned Enable12V:1;
>>                unsigned LCDled:1;
>>                unsigned PowerLed:1;
>>                unsigned _4051:3;
>>                unsigned X4:1;
>>                unsigned X3:1;
>>                unsigned X2:1;
>>                unsigned X1:1;
>>                unsigned Mag12:1;
>>                unsigned Mag11:1;
>>                unsigned Mag10:1;
>>                unsigned Mag9:1;
>>                unsigned Mag8:1;
>>                unsigned Mag7:1;
>>                unsigned Mag6:1;
>>                unsigned Mag5:1;
>>                unsigned Mag4:1;
>>                unsigned Mag3:1;
>>                unsigned Mag2:1;
>>                unsigned Mag1:1;
>>        }SPIout_bity;
>>
>> #define SPI_vyslanychBytu 3     // kolik bytů po 8 bitech se vyšle
>> (počet
>> IO4094 pro příjem SPI v sérii za sebou) #define SPI_errorRepeat 3
>> // kolikrát se v případě chyby zápisu na SPI pokusí zapsat znovu
>> informaci do IO4094
>>
>> #define SPIdata_pin     RA0
>> #define DisplejDB0_pin  RA0
>> #define SPIclock_pin    RA1
>> #define DisplejDB1_pin  RA1
>> #define DisplejDB2_pin  RA2
>> #define DisplejDB3_pin  RA3
>> #define SPIstrobo_pin   RA4
>> //                                              RA5     Reset #define
>> DisplejRW_pin   RA6 #define ExtP1_pin               RA7
>>
>> #define In4051_pin              RB0
>> #define CanTX_pin               RB1
>> #define ExtP2_pin               RB2
>> #define ExtP3_pin               RB3
>> #define CanRX_pin               RB4
>> #define SPIverifi_pin   RB5
>> //                                              RB6     PGC //
>
>> RB7     PGD
>>
>> unsigned char x;
>>
>>
>> void initPIC(void);
>> unsigned char SPIout(void);
>>
>> void main(void)
>> {
>>        SPIout_bity.Mag2=1;
>>        SPIout_bity.CanSleep=1;
>>        SPIout_bity.Mag1=1;
>>        initPIC();
>>        while(1)
>>        {
>>        x=SPIout();
>>        }
>> }
>> void initPIC(void)
>> {
>>        OSCCON=0b01110000;
>>        PORTA=0;
>>        PORTB=0;
>>        ADCON1=0b00001111;
>>        TRISA=0b11101100;
>>        TRISB=0b11111111;
>> }
>> unsigned char SPIout(void)
>> {       static struct _SPIout_bity SPIout_bity_old;
>>        unsigned char outByt,outBit,kopieBytu,SPIerror,SPIerrorPozice;
>>        unsigned char *bity=&SPIout_bity;
>>        unsigned char *bity_old=&SPIout_bity_old;
>>
>>        outByt=SPI_vyslanychBytu;
>>        SPIerrorPozice=0;
>>        do //zjisti změnu v datech od posledně vyslané informace na SPI
>>        {       if (*bity^*bity_old)
>>                {       SPIerrorPozice++;
>>                        *bity_old=*bity;
>>                }
>>                bity++;
>>                bity_old++;
>>        }while(--outByt);
>>
>>        if(SPIerrorPozice) // pokud je rozdíl v datech, potom vyšli po
>> SPI
>>        {       unsigned char SPImode=2;  // SPImode = 2 = save ;
>> SPImode =
>> 1 = verifi
>>                unsigned char SPIerrorRepeat=SPI_errorRepeat; //
>> kolikrát se bude v případě chyby pokoušet zapisovat do IO4096
>>                do // SPImode save/verifi
>>                {       SPIerror=0;
>>                        SPIerrorPozice=0;
>>                        unsigned char *p=&SPIout_bity;
>>                        outByt=SPI_vyslanychBytu;
>>                        do // vysílá byty
>>                        {       kopieBytu=*p++;
>>                                outBit=8;
>>                                do // vysílá jednotlivé bity
>>                                {       SPIdata_pin=0;
>>                                        if (kopieBytu & 0b00000001)
>>                                                SPIdata_pin=1;
>>                                        SPIclock_pin=1;
>>                                        SPIerror++;
>>                                        SPIclock_pin=0;
>>                                        if ((SPImode&1)&&(kopieBytu &
>> 0b00000001)!=SPIverifi_pin)     //SPIverifi
>>                                        {
>> SPIerrorPozice=SPIerror; // chyba zapsaných dat do IO4096
>>                                                SPImode++; // tendo
>> cyklus verifi je save nové informace
>>                                        }
>>                                        kopieBytu >>=1;
>>
>>                                }while(--outBit); // vysílá jednotlivé
>> bity
>>                        }while(--outByt); // vysílá byty
>>                        SPIdata_pin=0;
>>                        if (SPImode&2)  //SPIsave
>>                        {       SPIstrobo_pin=1;
>>                                SPIstrobo_pin=0;
>>                                if(!--SPIerrorRepeat)
>>                                        break;//verifi error, opakuj
>> zápis po SPI, pokud jsi SPIerrorRepeat krát již nezapsal, a stále je
>> chyba
>>                        }
>>                }while(--SPImode); // SPImode save/verifi
>>        }
>>        return SPIerrorPozice; // SPIerrorPozice > 0 = error zápisu dat
>> po SPI, v proměnné číslo výstupu, kde chyba nastala }
>>
>>
>>
>>
>>
>> -----Original Message-----
>> From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz]
>> On Behalf Of j s
>> Sent: Friday, December 30, 2011 11:10 PM
>> To: HW-news
>> Subject: Re: icd2
>>
>> Ukazte relevantnu cast zdrojaku alebo ako to nastavujete, napiste mi
>> aky prekladac a verziu MPLAB-u pouzivate a chybu najdeme.
>>
>>
>> 2011/12/30 Miroslav Draxal <evik na volny.cz>:
>>> Tak teď to vypadá, že je chyba v MPLAB. Jakmile zapíši s PGM LO,
>>> LOW-Voltage ICSP enable bit na DISABLE, tak se zapíše, nahodím PGM do
>>> HI a znovu naprogramuji, tak se LOW-Voltage ICSP zase nahodí enable,
>>> a je
>> to víte kde.
>>> Zkusím stáhnout starší MPLAB a prubnu to tam. Míra
>>>
>>> -----Original Message-----
>>> From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz]
>>> On Behalf Of Miroslav Draxal
>>> Sent: Friday, December 30, 2011 9:22 PM
>>> To: 'HW-news'
>>> Subject: RE: icd2
>>>
>>> No i když v pdf skutečně píší, že HPV je dostupné vždy. Zkusím
>>> proměřit icd2, jestli dává na reset 12V, ale autodiagnostika říká že
>>> ano. Míra
>>>
>>> -----Original Message-----
>>> From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz]
>>> On Behalf Of j s
>>> Sent: Friday, December 30, 2011 6:37 PM
>>> To: HW-news
>>> Subject: Re: icd2
>>>
>>> Mozno je to krute, krvave a hnusne, ale ja by som ten blby klopak
>>> normalne natvrdo skratoval k zemi (ten vystup bude nadavat, hriat sa,
>>> ale par sekund to vydrzi, zvlast moderne makke vystupy), rychlo
>>> naprogramoval s LVP disablovanym, potom odpojil skrat a dalej nech je
>>> na nom co chce, nie je problem.
>>> Inak uz som v zivote par PICiek pouzil a nikdy som nemal pri HVP
>>> problem s tym, ze by bol PGM na inej ako nizkej urovni. HVP by malo
>>> byt vzdy dosiahnutelne, bez ohladu na stav PGM.
>>>
>>> J.S.
>>>
>>> 2011/12/29 Miroslav Draxal <evik na volny.cz>:
>>>> Dobrý večer,
>>>>
>>>> Mam v dps osazen pic 18f1320, vyvedený konektor pro ICD2, PGD+PGC
>>>> vedou pouze do konektoru, nic na nich nevisí. Po připojení ICD2 ani
>>>> neproběhne inicializace, prý není připojen pic. Po hodně dlouhým
>>>> hledání a házení z okna jsem přišel na to, že na PGM mam 1 z klopáku.
>>>> Pokud tam je 0, tak je všechno ok. jak to obejít? Po zapnutí či
>>>> přeflešování je na PGM náhodný stav.
>>>>
>>>>
>>>>
>>>> Vypájet, nastavit LOW-Voltage ICSP enable bit na DISABLE. Zapájet zpět.
>>>> Zkusil bych to, ale teď to nemam po ruce. Takže pouze teorie.
>>>>
>>>>
>>>>
>>>> Díky za náměty. Míra
>>>>
>>>>
>>>>
>>>> __________ Informace od ESET NOD32 Antivirus, verze databaze 6753
>>>> (20111229) __________
>>>>
>>>> Tuto zpravu proveril ESET NOD32 Antivirus.
>>>>
>>>> http://www.eset.cz
>>>>
>>>>
>>>>
>>>> __________ Informace od ESET NOD32 Antivirus, verze databaze 6753
>>>> (20111229) __________
>>>>
>>>> Tuto zpravu proveril ESET NOD32 Antivirus.
>>>>
>>>> http://www.eset.cz
>>>>
>>>> _______________________________________________
>>>> HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz
>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>
>>>
>>> __________ Informace od ESET NOD32 Antivirus, verze databaze 6753
>>> (20111229) __________
>>>
>>> Tuto zpravu proveril ESET NOD32 Antivirus.
>>>
>>> http://www.eset.cz
>>>
>>>
>>>
>>>
>>> __________ Informace od ESET NOD32 Antivirus, verze databaze 6756
>>> (20111230) __________
>>>
>>> Tuto zpravu proveril ESET NOD32 Antivirus.
>>>
>>> http://www.eset.cz
>>>
>>>
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>
>>>
>>> __________ Informace od ESET NOD32 Antivirus, verze databaze 6756
>>> (20111230) __________
>>>
>>> Tuto zpravu proveril ESET NOD32 Antivirus.
>>>
>>> http://www.eset.cz
>>>
>>>
>>>
>>>
>>> __________ Informace od ESET NOD32 Antivirus, verze databaze 6756
>>> (20111230) __________
>>>
>>> Tuto zpravu proveril ESET NOD32 Antivirus.
>>>
>>> http://www.eset.cz
>>>
>>>
>>>
>>> __________ Informace od ESET NOD32 Antivirus, verze databaze 6756
>>> (20111230) __________
>>>
>>> Tuto zpravu proveril ESET NOD32 Antivirus.
>>>
>>> http://www.eset.cz
>>>
>>>
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>> __________ Informace od ESET NOD32 Antivirus, verze databaze 6756
>> (20111230) __________
>>
>> Tuto zpravu proveril ESET NOD32 Antivirus.
>>
>> http://www.eset.cz
>>
>>
>>
>>
>> __________ Informace od ESET NOD32 Antivirus, verze databaze 6756
>> (20111230) __________
>>
>> Tuto zpravu proveril ESET NOD32 Antivirus.
>>
>> http://www.eset.cz
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 6756 (20111230)
> __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
>
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 6756 (20111230)
> __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list