Zabezpieczenie odczytu pamięci AT29C1024 - błąd 'Manufacture code error' przy Eryki

Problem z odczytem pamięci FLASH





Poprzedni Następny
Wiadomość
Spis treści
From: "Leszek Wieczoerk" <l.wieczorek_at_nospam_xl.wp.pl>
Subject: Problem z odczytem pamięci FLASH
Date: Wed, 12 Nov 2003 22:54:47 +0100


Czy pamięć flash może być zabezpieczona
przed odczytem ?
Próbuję odczytać pamięć AT29C1024
przy pomocy Eryki i przy próbie robienia
czegokolwiek z tą pamięcią wyświetlony
jest komunikat
"Manufacture code error"
Zrobiłem samodzielnie przejściówkę
z PLCC44 na DIP44 - wydaje mi się
że zrobiona jest dobrze - więc gdzie
tkwi problem ? Zły algorytm, czy pamięć
zabezpieczona ?

Leszek Wieczorek



========
Path: news-archive.icm.edu.pl!news.rmf.pl!news.ipartners.pl!news.nask.pl!news-stoc.telia.net!news-stoa.telia.net!telia.net!news.tele.dk!news.tele.dk!small.news.tele.dk!news.maxwell.syr.edu!news.xnet.com!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: =?iso-8859-2?Q?Re:_Problem_z_odczytem_pami=EAci_FLASH?=
Date: Wed, 12 Nov 2003 16:56:36 -0600


No piszą o zabezpieczeniu:
http://www.atmel.com/dyn/resources/prod_documents/doc0571.pdf


========
Path: news-archive.icm.edu.pl!news.rmf.pl!news.ipartners.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Leszek Wieczoerk" <l.wieczorek_at_nospam_xl.wp.pl>
Subject: Re: Problem z odczytem pamięci FLASH
Date: Thu, 13 Nov 2003 00:27:40 +0100



Użytkownik "Pszemol" <Pszemol_at_nospam_PolBox.com> napisał w wiadomości
news:botoo9.1q4.0_at_nospam_poczta.onet.pl...
No piszą o zabezpieczeniu:
http://www.atmel.com/dyn/resources/prod_documents/doc0571.pdf

Czy to chodzi o algorytm zezwolenia ze strony 8?
Co mam w takim razie zrobić?
Czy wpisując te dane pod określone adresy pamięć stanie się dostępna ?

Leszek Wieczorek



========
Path: news-archive.icm.edu.pl!news.rmf.pl!news.ipartners.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Andy" <anok_at_nospam_ceti.pl>
Subject: Re: Problem z odczytem pamięci FLASH
Date: Thu, 13 Nov 2003 01:46:20 +0100


Użytkownik "Leszek Wieczoerk" <l.wieczorek_at_nospam_xl.wp.pl> napisał w wiadomości
news:bouai3$p6a$1_at_nospam_nemesis.news.tpi.pl...
Czy pamięć flash może być zabezpieczona
przed odczytem ?

raczej nie,
ja sie nie spotkalem by klasyczne rownolegle flashe byly zabezpieczone
przed odczytem
nie widze za bardzo sensu

Próbuję odczytać pamięć AT29C1024
przy pomocy Eryki i przy próbie robienia
czegokolwiek z tą pamięcią wyświetlony
jest komunikat
"Manufacture code error"
...

tzn, ze mu sie nie zgadza kod producenta

a odczytujesz algorytmem dokladnie dla AT29C1024 ?
czy podobnym ale innego producenta ?

w pdf'e pisza, ze ten scalak ma:

manuf. code: 1F
device code: 25

--
Andrzej





========
Path: news-archive.icm.edu.pl!news.rmf.pl!news.ipartners.pl!news.man.poznan.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Andy" <anok_at_nospam_ceti.pl>
Subject: Re: Problem z odczytem pamięci FLASH
Date: Thu, 13 Nov 2003 01:47:40 +0100


Użytkownik "Leszek Wieczoerk" <l.wieczorek_at_nospam_xl.wp.pl> napisał w wiadomości
news:bouai3$p6a$1_at_nospam_nemesis.news.tpi.pl...
Czy pamięć flash może być zabezpieczona
przed odczytem ?

raczej nie,
ja sie nie spotkalem by klasyczne rownolegle flashe byly zabezpieczone
przed odczytem
nie widze za bardzo sensu

Próbuję odczytać pamięć AT29C1024
przy pomocy Eryki i przy próbie robienia
czegokolwiek z tą pamięcią wyświetlony
jest komunikat
"Manufacture code error"
...

tzn, ze mu sie nie zgadza kod producenta

a odczytujesz algorytmem dokladnie dla AT29C1024 ?
czy podobnym ale innego producenta ?

w pdf'e pisza, ze ten scalak ma:

manuf. code: 1F
device code: 25

moze pomyliles sie w drucikach robiac przejsciowke

--
Andrzej







========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news2.icm.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Leszek Wieczoerk" <l.wieczorek_at_nospam_xl.wp.pl>
Subject: Re: Problem z odczytem pamięci FLASH
Date: Thu, 13 Nov 2003 11:10:09 +0100



"Manufacture code error"
...

tzn, ze mu sie nie zgadza kod producenta

No właśnie ale dlaczego ?

a odczytujesz algorytmem dokladnie dla AT29C1024 ?
czy podobnym ale innego producenta ?

Dokładnie tym algorytmem - dla Atmela
zresztą inni producenci nie robią chyba takiej pamięci

w pdf'e pisza, ze ten scalak ma:

manuf. code: 1F
device code: 25

Ale czy to jest kod który muszę wpisać ?
Myślę że za to powinien odpowiadać algorytm
który obsługuje ten układ

moze pomyliles sie w drucikach robiac przejsciowke

Raczej nie...

Leszek Wieczorek



========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "EM" <edim123_at_nospam_poczta.onet.pl>
Subject: Re: Problem z odczytem pamięci FLASH
Date: Thu, 13 Nov 2003 08:40:50 +0100


Czy pamięć flash może być zabezpieczona
przed odczytem ?
No piszą o zabezpieczeniu:
http://www.atmel.com/dyn/resources/prod_documents/doc0571.pdf

Wygląda na to, że jest to zabezpieczenie przed przypadkowym zapisem.

Próbuję odczytać pamięć AT29C1024
przy pomocy Eryki i przy próbie robienia
czegokolwiek z tą pamięcią wyświetlony
jest komunikat
"Manufacture code error"

Może się da jakoś w programatorze ustawić, aby ignorował kod producenta. Ale
takie zachowanie może świadczyć o złym podłączeniu lub usterce pamięci. W
pdfie piszą tylko (o ile dobrze widzę), że w trybie Power Down nie da się
odczytać sygnatury. Ale to pewnie nie jest taki przypadek.

Pozdr
EM



========
Path: news-archive.icm.edu.pl!news.rmf.pl!news.ipartners.pl!news.nask.pl!news-stoc.telia.net!news-stoa.telia.net!telia.net!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Leszek Wieczoerk" <l.wieczorek_at_nospam_xl.wp.pl>
Subject: Re: Problem z odczytem pamięci FLASH
Date: Thu, 13 Nov 2003 09:29:55 +0100



Może się da jakoś w programatorze ustawić, aby ignorował kod producenta.
Ale
takie zachowanie może świadczyć o złym podłączeniu lub usterce pamięci.

pamięci mam dwie - jedną z dobrego urządzenia więc jedna jest na pewno dobra
podłączenie też jest dobre (moim zdaniem) - eryka testuje piny przed
odczytem
i wyświetla które są niepodłączone. Przejściówka jest zrobiona z PLCC44
na DIP44 w ten sposób że numer pinu DIP odpowiada numerowi pinu PLCC

Leszek Wieczorek




========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "EM" <edim123_at_nospam_poczta.onet.pl>
Subject: Re: Problem z odczytem pamięci FLASH
Date: Thu, 13 Nov 2003 14:23:45 +0100


i wyświetla które są niepodłączone. Przejściówka jest zrobiona z PLCC44
na DIP44 w ten sposób że numer pinu DIP odpowiada numerowi pinu PLCC
Czy na pewno przejsciówka powinna być jeden do jednego pinowo? Ten Flash
może mieć obudowę PLCC lub TSOP i wyprowadzenia nie są zgodne. Poza tym chcę
przypomnieć, że numery pinów się liczy inaczej w PLCC niż zwykle.
Pozdr
EM



========
Path: news-archive.icm.edu.pl!news.rmf.pl!poznan.rmf.pl!news.man.poznan.pl!news.nask.pl!uw.edu.pl!news.pw.edu.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Leszek Wieczoerk" <l.wieczorek_at_nospam_xl.wp.pl>
Subject: Re: Problem z odczytem pamięci FLASH - długie
Date: Thu, 13 Nov 2003 22:51:49 +0100




Czy na pewno przejsciówka powinna być jeden do jednego pinowo? Ten Flash
może mieć obudowę PLCC lub TSOP i wyprowadzenia nie są zgodne. Poza tym
chcę przypomnieć, że numery pinów się liczy inaczej w PLCC niż zwykle.

Zgadza się, ale przejściówka jest miom zdaniem dobrze zrobiona.
Algorytm nazywa się AT29C1024-PLCC44 więc jest do takiego właśnie
układu. Jeżeli nie włożę do programatora nic, to wyświetla mi wtedy
błąd podłączenia i pokazuje które piny są nie podłączone na rysunku
podstawki DIP48. wśród nich nie ma pinów 1, 2, 13, 33,42. A są to
właśnie puste piny (NC) w AT29C1024 w obudowie PLCC44 tak więc
wnioskuję, że przejściówka ma być zrobiona 1 do 1. Zresztą zwykłą
przejściówkę z PLCC44 na DIP40 mam oryginalną i pierwsze co
zrobiłem to właśnie próby programowania przy jej pomocy, ale
wtedy były kompletne bzdury na rysunku podłączenia.

Dodatkowo zablokowałem testowanie sygnatury - nie wiem czy dobrze.
Teraz już ne wyświetla błędu "manufacturer code error" i wydaje się
że normalnie czyta, ale w buforze po przeczytaniu nic sensownego
nie widzę, a zaznaczam jeszcze raz, że pamięć mam jedną napewno
dobrą (z działającego urządzenia) natomiast druga - jest albo uszko
dzona albo wykasowana - chodzi mi tylko o przekopiowanie
Tutaj jest algorytm do tego układu, może ktoś coś mądrego podpowie.
wyrzucone pętle są zaznaczone gwiazdkami:

; ***************************************************
; EPROM 29C1024-PLCC44.as
;
PINBASE=44;

Var CheckSum:Word;
VAR SectorStart: Word;
VAR SectorStop : Word;
VAR ChipStart : LongWord;
VAR ChipStop : LongWord;
VAR BufferStart: LongWord;
VAR Data:word;
var DataVer:Word;

Frame(10,10,210,325)
Button('/Blank' ,20, 20,112,35,'IconDeviceBlank',Blank);
Frame(10,59,210,2)
Button('/Read' ,20, 65,112,35,'IconDeviceRead',READ);
Frame(10,104,210,2)
Button('/Program',20,110,112,35,'IconDeviceProgram',Program);
Frame(10,149,210,2)
Button('/Verify' ,20,155,112,35,'IconDeviceVerify',verify);
Frame(10,194,210,2)
Button('/Auto' ,20,200,112,35,'IconDeviceAuto',auto);
Frame(10,239,210,2)
Button('Pr/otect',20,245,112,35,'IconDeviceProtect',Protect);
Frame(10,285,210,2)
Button('/Unprotect',20,290,112,35,'IconDeviceUnProtect',UnProtect);


equ Check=1;
equ unCheck=0;
Var CheckAutoBlank:Byte;
Var OverWrite:Byte;
Var CheckAutoVerify:Byte;
Var CheckProgramVerify:Byte;


CheckBox('Verify',140,119,CheckProgramVerify,1);

CheckBox('Blank' ,140,198,CheckAutoBlank,1);
CheckBox('Verify',140,220,CheckAutoVerify,1);

equ SectorSize=80h;
Label('Adres = Sector * 080h',600,10)

Frame(590,30,185,147)
EditHEX('Sector Start' ,100,705, 45,58,25,SectorStart,0,0,SectorStop);
Frame(590,79,185,2)
EditHEX('Sector Stop' ,100,705, 92,58,25,SectorStop,_GLOBALSIZE
/80h-1h,0,_GLOBALSIZE /80h-1h);
Frame(590,124,185,2)
EditHEX('Buffer
Start',100,705,139,58,25,BufferStart,0,0,_GLOBALBUFFERSIZE-1);


TextFrame(230,10,350,210,T1);

ProgressRect(230,230,350,15,P1);

AdresMask(24,25,26,27,28,29,30,31,32, 44,36,37,38,39,40,41);
DataMask(21,20,19,18,17,16,15,14, 11,10,9,8,7,6,5,3);

EQU VCC=35;
EQU GND1=12;
EQU GND2=34;
EQU CE=4;
EQU OE=22;
EQU WE=43;
EQU A9=44;

VAR ADRESChip:LongWord;
VAR ADRESMemory:LongWord;
VAR Blanked:LongWord;
VAR DataTemp:Word;
VAR Verify:LongWord;

BODY

; *****************************************************
procedure(Puls);
DATAOUT(Data);
PINL(CE,WE);
PINH(CE,WE);
EndProc;
; *****************************************************
Procedure(ID);
ADRESOUT(05555h);
Let Data = 0AAAAh;
Puls;
ADRESOUT(02AAAh);
Let Data = 05555h;
Puls;
ADRESOUT(05555h);
Let Data = 09090h;
Puls;
Loop(100);

DATAOUT(0FFFFh)

ADRESOUT(0h);
PinL(OE,CE);
DATAIN(DataVer);
PinH(OE,CE);
if DataVer<>_GLOBALMANUFCODE then
; ******************************************
; ******************************************
;UWAGA PONIŻSZĄ PĘTLĘ WYRZUCIŁEM
; begin
; TEXT(T1,'/Red/Manufacturer code ERROR!#//');
; Reset;
; Halt;
; end;

ADRESOUT(1h);
PinL(OE,CE);
DATAIN(DataVer);
PinH(OE,CE);

; ***************************************
;I TĄ TEŻ WYRZUCIŁEM
; if DataVer<>_GLOBALDEVICECODE then
; begin
; TEXT(T1,'/Red/Device code ERROR!#//');
; Reset;
; Halt;
; end;

ADRESOUT(05555h);
Let Data = 0AAAAh;
Puls;
ADRESOUT(02AAAh);
Let Data = 05555h;
Puls;
ADRESOUT(05555h);
Let Data = 0F0F0h;
Puls;
Loop(100);

DATAOUT(0FFFFh)
EndProc;
; *****************************************************
Procedure(POWER_ON);
TEXT(T1,'/Maroon/Waiting...#//');
RESET
LEDON
VCCSET(500)
PULLUP5V
VCC(VCC)
PINL(GND1,GND2)
DATAOUT($FFFF)
PINH(OE,CE)
PINH(WE)
VCCON;
ID;
EndProc;
; *****************************************************
Procedure(POWER_OFF);
Progress(P1,0);
RESET
EndProc;
; *****************************************************
Procedure(BLANK);
TEXT(T1,'#BLANK ');
POWER_ON;

Let ChipStart = SectorStart;
let ChipStart * SectorSize;
Let ChipStop = SectorStop;
let ChipStop * SectorSize;
let ChipStop + SectorSize -1;

Let ADRESCHIP = ChipStart
Let ADRESMEMORY=BufferStart;
Let Blanked=0;
PROGRESSMAX(P1,ChipStop);
PROGRESSMIN(P1,ChipStart);

for AdresChip to ChipStop do
begin
ADRESOUT(AdresChip);
PINL(CE,OE);
DATAIN(Data);
PINH(CE,OE);
IF DATA<>$FFFF THEN
Inc(Blanked);
Progress(P1,AdresChip);
end;

if blanked<>0 then
begin
TEXT(T1,'/Red//Under/WARNING !// CHIP NOT BLANK.#')
TEXT(T1,'/Navy blue/')
TEXTHEX(T1,Blanked)
TEXT(T1,' //byte <> FFFFh.#')

POWER_OFF
Halt
end;

TEXT(T1,'/Under/OK!// CHIP BLANK#')

POWER_OFF
EndProc;
; *****************************************************
Procedure(READ);
TEXT(T1,'#READ ');
POWER_ON;

Let ChipStart = SectorStart;
let ChipStart * SectorSize;
Let ChipStop = SectorStop;
let ChipStop * SectorSize;
let ChipStop + SectorSize -1;

Let ADRESCHIP=ChipStart;
Let ADRESMEMORY=BufferStart;
LET Blanked=0;
Let CheckSum=0;
PROGRESSMAX(P1,ChipStop);
PROGRESSMIN(P1,ChipStart);

for AdresChip to ChipStop do
begin
ADRESOUT(ADRESChip);
PINL(CE,OE);
DATAIN(Data);
PINH(CE,OE);
MEMORYOUT(ADRESMemory,Data);
Let CheckSum+Data;
IF DATA<>$FFFF THEN
Inc(Blanked);
INC(ADRESMemory);
Progress(P1,AdresChip);
end;

if blanked<>0 then
begin
TEXT(T1,'/Navy blue/')
TEXTHEX(T1,Blanked)
TEXT(T1,'// word <> FFFFh. ')
end;
Text(T1,'/Under/OK!//')

Text(T1,' Crc=');
TextHex(T1,CheckSum);
Text(T1,'h#');

POWER_OFF
EndProc;
; *****************************************************
Var AdrError:LongWord;
Var DataBufferError:Word;
Var DataChipError:Word;
Var MarkError:Byte

Equ Marked = 1;
Equ NotMarked = 0;

Procedure(Verify);
TEXT(T1,'#VERIFY ');
POWER_ON;

Let ChipStart = SectorStart;
let ChipStart * SectorSize;
Let ChipStop = SectorStop;
let ChipStop * SectorSize;
let ChipStop + SectorSize -1;

Let ADRESCHIP=ChipStart;
Let ADRESMEMORY=BufferStart;
Let Verify=0;
Let MarkError=NotMarked;

PROGRESSMAX(P1,ChipStop);
PROGRESSMIN(P1,ChipStart);

for AdresChip to ChipStop do
begin
ADRESOUT(AdresChip);
PINL(CE,OE);
DATAIN(Data);
PINH(CE,OE);
CompareOut(AdresMemory,Data);
MemoryIn(AdresMemory,DataTemp);
IF DATA<>DataTemp THEN
begin
Inc(Verify);
if MarkError=NotMarked then
begin
Let AdrError=AdresChip;
Let DataBufferError=DataTemp;
Let DataChipError=Data;
Let MarkError=Marked;
end;
end;

INC(AdresMemory);
Progress(P1,AdresChip);
end;

if verify<>0 then
begin
TEXT(T1,'/Red//Under/ERROR !// Verify #')
TEXT(T1,'/Navy blue/')
TEXTHEX(T1,Verify)
TEXT(T1,' //byte bad value#')

TEXT(T1,'First error:#')
TEXT(T1,'ChipAdres ChipData MemoryData#/Navy blue/')
TEXTHEX(T1,AdrError)
TEXT(T1,'h ')
TEXTHEX(T1,DataChipError)
TEXT(T1,'h ')
TEXTHEX(T1,DataBufferError)
TEXT(T1,'h #//')

POWER_OFF
exit
end

TEXT(T1,'/Under/OK!// CHIP Verify#')

POWER_OFF
EndProc;
; *****************************************************
var SAdresMemory:LongWord;
var SAdresChip:LongWord;
var SCounter:Word;
procedure(SectorVerify);
Let SAdresMemory=AdresMemory;
Let SAdresMemory - SectorSize -1 ;
Let SAdresChip =AdresChip;
Let SAdresChip - SectorSize -1;

DataOut(0FFFFh);
Let SCounter=0;
for SCounter to SectorSize-1 do
begin
ADRESOUT(SAdresChip);
PINL(CE,OE);
DATAIN(DataVer);
PINH(CE,OE);
MemoryIn(SAdresMemory,Data);
if DataVer<>Data then
begin
Text(T1,'/Red//Under/Error!//#');
TEXT(T1,'ChipAdres ChipData MemoryData#')
Text(T1,'/Navy blue/');
TEXTHEX(T1,SAdresChip)
TEXT(T1,'h ')
TEXTHEX(T1,DataVer)
TEXT(T1,'h ')
TEXTHEX(T1,Data)
TEXT(T1,'h #//')
POWER_OFF
Halt;
end;

Inc(SAdresMemory);
Inc(SAdresChip);
end;
EndProc;
; *****************************************************
var Counter:Word;
procedure(ProgramLoop);
TEXT(T1,'#PROGRAM ');
POWER_ON;
PinH(CE,OE,WE);
VCCSET(_GLOBALVCC);

Let ChipStart = SectorStart;
let ChipStart * SectorSize;
Let ChipStop = SectorStop;
let ChipStop * SectorSize;
let ChipStop + SectorSize -1;


Let ADRESCHIP=ChipStart;
Let ADRESMEMORY=BufferStart;
PROGRESSMAX(P1,ChipStop);
PROGRESSMIN(P1,ChipStart);

PinL(CE);
PinH(OE);
Let Counter=0;

ADRESOUT(ADRESCHIP);
Let SADRESCHIP=AdresChip;

for AdresChip to ChipStop do
begin
ADRESOUT(ADRESCHIP);
PulseHL(WE);
MEMORYIN(AdresMemory,Data);
DataOut(Data)

inc(Counter);
if Counter=SectorSize then
begin
PinH(CE,WE);
Loop(100)
Let Counter=0;
Progress(P1,ADRESCHIP);
SectorVerify;
PinL(CE);
end;

INC(ADRESMemory);
end;

Loop(100);
TEXT(T1,'/Under/OK!// CHIP Program#')
POWER_OFF
EndProc;

; *****************************************************
procedure(Program);
ProgramLoop;
if CheckProgramVerify=Check then
Verify
EndProc;
; *****************************************************
procedure(Protect);
TEXT(T1,'#PROTECT ');
POWER_ON;
VCCSET(_GLOBALVCC);

ADRESOUT(5555h);
Let Data= 0AAh;
Puls;
ADRESOUT(2AAAh);
Let Data= 055h;
Puls;
ADRESOUT(5555h);
Let Data= 0A0h;
Puls;

ADRESOUT(0h);
Let Counter=0
for Counter to SectorSize-1 do
begin
PulseHL(WE);
end;

PinH(CE,WE);
LOOP(100);

TEXT(T1,'/Under/OK!// CHIP Protected#')
POWER_OFF
EndProc;
; *****************************************************
procedure(UnProtect);
TEXT(T1,'#UNPROTECT ');
POWER_ON;
VCCSET(_GLOBALVCC);

ADRESOUT(5555h);
Let Data= 0AAh;
Puls;
ADRESOUT(2AAAh);
Let Data= 055h;
Puls;
ADRESOUT(5555h);
Let Data= 080h;
Puls;
ADRESOUT(5555h);
Let Data= 0AAh;
Puls;
ADRESOUT(2AAAh);
Let Data= 055h;
Puls;
ADRESOUT(5555h);
Let Data= 020h;
Puls;

ADRESOUT(0h);
Let Counter=0
for Counter to SectorSize-1 do
begin
PulseHL(WE);
end;

PinH(CE,WE);

LOOP(100);

TEXT(T1,'/Under/OK!// CHIP UnProtected#')
POWER_OFF
EndProc;
; *****************************************************
procedure(Auto)
TEXT(T1,'#AUTO ');
if CheckAutoBlank=Check then
Blank

ProgramLoop;

if CheckAutoVerify=Check then
Verify

Serialize;

TEXT(T1,'#/Under/OK!// AUTO#')
endproc
; *****************************************************
end.





========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!newsfeed.silweb.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: BLE_Maciek <i80c586_at_nospam_cyberspace_NO_SPAM_.org>
Subject: Re: =?ISO-8859-2?Q?Problem_z_odczytem_?=
Date: Thu, 13 Nov 2003 10:08:54 +0100


Thu, 13 Nov 2003 08:40:50 +0100 jednostka biologiczna o nazwie "EM"
<edim123_at_nospam_poczta.onet.pl> wyslala do portu 119
jednego z serwerow news nastepujace dane:

Może się da jakoś w programatorze ustawić, aby ignorował kod producenta. Ale
takie zachowanie może świadczyć o złym podłączeniu lub usterce pamięci. W
Dlatego uzywa sie programatorow wlasnej konstrukcji ;-)

========
Path: news-archive.icm.edu.pl!news.rmf.pl!poznan.rmf.pl!news.man.poznan.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Leszek Wieczoerk" <l.wieczorek_at_nospam_xl.wp.pl>
Subject: Re: Problem z odczytem pamięci FLASH
Date: Thu, 13 Nov 2003 12:55:59 +0100


Dlatego uzywa sie programatorow wlasnej konstrukcji ;-)
Omijają one kod producenta ?
Możesz rozwinąć temat ?

Leszek Wieczorek



========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!lublin.pl!uw.edu.pl!news.pw.edu.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: BLE_Maciek <i80c586_at_nospam_cyberspace_NO_SPAM_.org>
Subject: Re: =?ISO-8859-2?Q?Problem_z_odczytem_?=
Date: Thu, 13 Nov 2003 13:11:38 +0100


Thu, 13 Nov 2003 12:55:59 +0100 jednostka biologiczna o nazwie "Leszek
Wieczoerk" <l.wieczorek_at_nospam_xl.wp.pl> wyslala do portu 119
jednego z serwerow news nastepujace dane:

Dlatego uzywa sie programatorow wlasnej konstrukcji ;-)
Omijają one kod producenta ?
Możesz rozwinąć temat ?
Chodzilo mi o to ze oprogramowanie pisze sie wtedy samemu wiec mozna
latwo olac sygnaturke ukladu.
BTW: jestem w trakcie konczenia takiego ustrojstwa wlasnej konstrukcji
cyfrowo na LM317 (do ustawiania roznych napiec programowania (VPP)).
Programator jest "uniwersalny" :-) tzn. nie ma zadnej konkretnej
podstawki tylko wszystko jest wypuszczone na 80-pinowe zlacze do
ktorego bedzie sie dolaczalo przystawki pod odpowiednie uklady. Dzieki
temu mozliwosc rozbudowy bedzie wlasciwie nieograniczona. Ustrojstwo
samo z siebie nie zna algorytmu programowania zadnego ukladu
programowalnego tylko przyjmuje przez RS-232 rozkazy typu "ustaw na
danej linii/porcie8255 dany stan/liczbe". Umie tez oczywiscie czytac
porty ukladow 8255 Dzieki temu rozbudowa o kolejny typ ukladu
prgramowalnego bedzie sie sprowadzac do dorobienia plytki z podstawka
i zlaczem i uzupelnienia oprogramowania sterujacego na PC.

========
Path: news-archive.icm.edu.pl!news.rmf.pl!poznan.rmf.pl!news.man.poznan.pl!topaz.icpnet.pl!not-for-mai