Reply by John Theofanopoulos March 23, 20052005-03-23
I've seen this problem before, and it was tracked to the sw engineer not
turning on the EEPROM clocks. If you have a debugger, check to ensure that
after init your clock has been set and is running.

John
> -----Original Message-----
> From: Andrew Lohmann
> [mailto:]
> Sent: Wednesday, March 23, 2005 6:13 AM
> To: 68HC12 yahoogroups.com
> Subject: [68HC12] Cosmic C eeprom programmer. >
> Hi, > I am trying to get the EEPROM programmer in Cosmic C to work. The
> example below returns 255, 255 incorrectly.
>
> #pragma space [] @EEPROM
> @EEPROM UCHAR Eeprom_[10];
> #pragma space > case 'w':
> case 'W':
> {
> printf ("\nTest on-chip EEPROM\n %u, %u\n",
> Eeprom_[0], Eeprom_[1]);
> Eeprom_[0] = 0;
> Eeprom_[1] = 0;
> printf ("should be zero: %u, %u\n", Eeprom_[0],
> Eeprom_[1]);
> Eeprom_[0] = 42;
> Eeprom_[1] = 1;
> printf ("should be 42 1: %u, %u\n", Eeprom_[0],
> Eeprom_[1]);
> }
> break;
>
> The significant parts of my link file looks like this:-
>
> +seg .EEPROM -b 0x1000 -m0x1000 # 4K EEPROM start address
>
> +def _INITEE=@.EEPROM # AL 23-03-05
> +def _EEPROG=0x1000
>
> EEPROM.o
>
> d:/cosmic/cx12/lib/libe.h12 #EEPROM placed before other libs
>
> The Cosmic provided file EEPROM.s has been amended to use (S12_ECLK /
> 1600) instead of 8000000 for TWAIT. Where S12_ECLK is the bus speed.
>
> Elsewhere I initialise the EEPROM with the following code -
> based on an
> email to this forum from Cosmic:-
> extern INITEE;
>
> Regs.initee.byte = EEON | (INITEE >> 8);
>
> Eeprom.eprot.byte = EOPEN | EPDIS; // Disable erase/write
> protection for entire EEPROM
>
> Eeprom.estat.byte = ACCERR; // Clear illegal EE access flag
> (ACCERR) write a one to clear
>
> /* set EEPROM clock... (none available in e-series uP)
> set EE clock divider */
> #if (EeDiv > 511)
> #error "Eeprom clock divisor to big"
> #endif
> Eeprom.eclkdiv.bit.ediv = EeDiv; // changed AL 11-01-05 > I am sure how to use this feature is of general interest?
>
> --
> Andrew Lohmann AMIIE
> Design Engineer
>
> PLEASE NOTE NEW EMAIL ADDRESS IS: > Bellingham + Stanley Ltd.
> Longfield Road, Tunbridge Wells, Kent, TN2 3EY, England.
> Tel: +44 (0) 1892 500400
> Fax: +44 (0) 1892 543115
> Website: www.bs-ltd.com > -----------------------------Disclaimer-----------------------------
>
> This communication contains information which is confidential
> and may also be privileged. It is for the exclusive use of
> the addressee. If you are not the addressee please note that
> any distribution, reproduction, copying, publication or use
> of this communication or the information is prohibited. If
> you have received this communication in error, please contact
> us immediately and also delete the communication from your
> computer. We accept no liability for any loss or damage
> suffered by any person arising from use of this e-mail.
>
> -----------------------------Disclaimer----------------------------- >
>
> Yahoo! Groups Links >




Reply by John Theofanopoulos March 23, 20052005-03-23
Andrew,

Where are you mapping your EEPROM to? I didn't notice you setting the
INITEE variable to anything.

Other than that, I'm not too familiar with the Cosmic routines, as I've
written our own internal EEPROM writing routines, primarily used for storing
large chunks of data to EEPROM (queue based, interrupt driven).

John

> -----Original Message-----
> From: Andrew Lohmann
> [mailto:]
> Sent: Wednesday, March 23, 2005 6:13 AM
> To: 68HC12 yahoogroups.com
> Subject: [68HC12] Cosmic C eeprom programmer. >
> Hi, > I am trying to get the EEPROM programmer in Cosmic C to work. The
> example below returns 255, 255 incorrectly.
>
> #pragma space [] @EEPROM
> @EEPROM UCHAR Eeprom_[10];
> #pragma space > case 'w':
> case 'W':
> {
> printf ("\nTest on-chip EEPROM\n %u, %u\n",
> Eeprom_[0], Eeprom_[1]);
> Eeprom_[0] = 0;
> Eeprom_[1] = 0;
> printf ("should be zero: %u, %u\n", Eeprom_[0],
> Eeprom_[1]);
> Eeprom_[0] = 42;
> Eeprom_[1] = 1;
> printf ("should be 42 1: %u, %u\n", Eeprom_[0],
> Eeprom_[1]);
> }
> break;
>
> The significant parts of my link file looks like this:-
>
> +seg .EEPROM -b 0x1000 -m0x1000 # 4K EEPROM start address
>
> +def _INITEE=@.EEPROM # AL 23-03-05
> +def _EEPROG=0x1000
>
> EEPROM.o
>
> d:/cosmic/cx12/lib/libe.h12 #EEPROM placed before other libs
>
> The Cosmic provided file EEPROM.s has been amended to use (S12_ECLK /
> 1600) instead of 8000000 for TWAIT. Where S12_ECLK is the bus speed.
>
> Elsewhere I initialise the EEPROM with the following code -
> based on an
> email to this forum from Cosmic:-
> extern INITEE;
>
> Regs.initee.byte = EEON | (INITEE >> 8);
>
> Eeprom.eprot.byte = EOPEN | EPDIS; // Disable erase/write
> protection for entire EEPROM
>
> Eeprom.estat.byte = ACCERR; // Clear illegal EE access flag
> (ACCERR) write a one to clear
>
> /* set EEPROM clock... (none available in e-series uP)
> set EE clock divider */
> #if (EeDiv > 511)
> #error "Eeprom clock divisor to big"
> #endif
> Eeprom.eclkdiv.bit.ediv = EeDiv; // changed AL 11-01-05 > I am sure how to use this feature is of general interest?
>
> --
> Andrew Lohmann AMIIE
> Design Engineer
>
> PLEASE NOTE NEW EMAIL ADDRESS IS: > Bellingham + Stanley Ltd.
> Longfield Road, Tunbridge Wells, Kent, TN2 3EY, England.
> Tel: +44 (0) 1892 500400
> Fax: +44 (0) 1892 543115
> Website: www.bs-ltd.com > -----------------------------Disclaimer-----------------------------
>
> This communication contains information which is confidential
> and may also be privileged. It is for the exclusive use of
> the addressee. If you are not the addressee please note that
> any distribution, reproduction, copying, publication or use
> of this communication or the information is prohibited. If
> you have received this communication in error, please contact
> us immediately and also delete the communication from your
> computer. We accept no liability for any loss or damage
> suffered by any person arising from use of this e-mail.
>
> -----------------------------Disclaimer----------------------------- >
>
> Yahoo! Groups Links >




Reply by Jean-Pierre Lavandier March 23, 20052005-03-23
Andrew,

These symbols are defined as soon as you include the appropriate IO header
file matching your target processor in at least one C file of your
application. If you do not include such a file, or if you designed your own,
these symbols must be defined in the linker command file to match the
corresponding register addresses, for instance:

+def _ECMD=0x116
+def _ESTAT=0x115

Best Regards,
Jean-Pierre -----Message d'origine-----
De : Andrew Lohmann [mailto:]
Envoy: mercredi 23 mars 2005 13:08
:
Objet : Re: SPAM4: RE : [68HC12] Cosmic C eeprom programmer. Thanks Jean-Pierre, I have removed eeprom.o as you suggested, and also _EEPROG from the
linker file and now find that the linker reports _ECMD & _ESTAT in
libe.h12 eeprom12.o are missing. What are these?

Andrew Lohmann AMIIE
Design Engineer

PLEASE NOTE NEW EMAIL ADDRESS IS: Bellingham + Stanley Ltd.
Longfield Road, Tunbridge Wells, Kent, TN2 3EY, England.
Tel: +44 (0) 1892 500400
Fax: +44 (0) 1892 543115
Website: www.bs-ltd.com
Jean-Pierre Lavandier wrote:

> Andrew,
>
> It seems that there is a little inconsistency here. The LIBE library
> targetting the S12 processors contains a file called eeprom12.s which
> should
> be used as provided (no need for adapting as there is no wait loop
> based on
> the timing). The eeprom.s routine is designed for older HC12 family (A4,
> D60, DG128) and the __EEPROG symbol is expected to match the address
> of the
> programming register, not the start address of the eeprom area. So simply
> remove the eeprom.o from your link file, while keeping the libe.h12
> library
> and the _INITEE definition, and it should work.
>
> Best Regards,
> Jean-Pierre Lavandier
>
> -----Message d'origine-----
> De : Andrew Lohmann [mailto:]
> Envoy: mercredi 23 mars 2005 12:13
> : 68HC12 yahoogroups.com
> Objet : [68HC12] Cosmic C eeprom programmer. > Hi, > I am trying to get the EEPROM programmer in Cosmic C to work. The
> example below returns 255, 255 incorrectly.
>
> #pragma space [] @EEPROM
> @EEPROM UCHAR Eeprom_[10];
> #pragma space > case 'w':
> case 'W':
> {
> printf ("\nTest on-chip EEPROM\n %u, %u\n",
> Eeprom_[0], Eeprom_[1]);
> Eeprom_[0] = 0;
> Eeprom_[1] = 0;
> printf ("should be zero: %u, %u\n", Eeprom_[0],
> Eeprom_[1]);
> Eeprom_[0] = 42;
> Eeprom_[1] = 1;
> printf ("should be 42 1: %u, %u\n", Eeprom_[0],
> Eeprom_[1]);
> }
> break;
>
> The significant parts of my link file looks like this:-
>
> +seg .EEPROM -b 0x1000 -m0x1000 # 4K EEPROM start address
>
> +def _INITEE=@.EEPROM # AL 23-03-05
> +def _EEPROG=0x1000
>
> EEPROM.o
>
> d:/cosmic/cx12/lib/libe.h12 #EEPROM placed before other libs
>
> The Cosmic provided file EEPROM.s has been amended to use (S12_ECLK /
> 1600) instead of 8000000 for TWAIT. Where S12_ECLK is the bus speed.
>
> Elsewhere I initialise the EEPROM with the following code - based on an
> email to this forum from Cosmic:-
> extern INITEE;
>
> Regs.initee.byte = EEON | (INITEE >> 8);
>
> Eeprom.eprot.byte = EOPEN | EPDIS; // Disable erase/write
> protection for entire EEPROM
>
> Eeprom.estat.byte = ACCERR; // Clear illegal EE access flag
> (ACCERR) write a one to clear
>
> /* set EEPROM clock... (none available in e-series uP)
> set EE clock divider */
> #if (EeDiv > 511)
> #error "Eeprom clock divisor to big"
> #endif
> Eeprom.eclkdiv.bit.ediv = EeDiv; // changed AL 11-01-05 > I am sure how to use this feature is of general interest?
>
> --
> Andrew Lohmann AMIIE
> Design Engineer
>
> PLEASE NOTE NEW EMAIL ADDRESS IS: > Bellingham + Stanley Ltd.
> Longfield Road, Tunbridge Wells, Kent, TN2 3EY, England.
> Tel: +44 (0) 1892 500400
> Fax: +44 (0) 1892 543115
> Website: www.bs-ltd.com > -----------------------------Disclaimer-----------------------------
>
> This communication contains information which is confidential and may also
> be privileged. It is for the exclusive use of the addressee. If you
> are not
> the addressee please note that any distribution, reproduction, copying,
> publication or use of this communication or the information is prohibited.
> If you have received this communication in error, please contact us
> immediately and also delete the communication from your computer. We
> accept
> no liability for any loss or damage suffered by any person arising
> from use
> of this e-mail.
>
> -----------------------------Disclaimer----------------------------- >
<http://us.ard.yahoo.com/SIG99u7nom/M)8184.6191685.7192823.3001176/D=gr
<http://us.ard.yahoo.com/SIG99u7nom/M)8184.6191685.7192823.3001176/D=gr
>
>
oups/S06554205:HM/EXP11662674/A%93423/R=0/SIGel9gslf/*http://www.
<http://www.>
> netflix.com/Default?mqso`190075> click here <http://us.adserver.yahoo.com/l?M)8184.6191685.7192823.3001176/D=groups/S=
<http://us.adserver.yahoo.com/l?M)8184.6191685.7192823.3001176/D=groups/S=
>
> :HM/A%93423/rand$0445713 > _____
>
> <http://docs.yahoo.com/info/terms/> > . >
>
> *
> click here
>
<http://us.ard.yahoo.com/SIG904r6rr/M)8184.6191685.7192823.3001176/D=gr
oups/S06554205:HM/EXP11664614/A%93423/R=0/SIGel9gslf/*http://www.
netflix.com/Default?mqso`190075
<http://us.ard.yahoo.com/SIG904r6rr/M)8184.6191685.7192823.3001176/D=gr
oups/S06554205:HM/EXP11664614/A%93423/R=0/SIGel9gslf/*http://www.
netflix.com/Default?mqso`190075> >
>
> *
<http://docs.yahoo.com/info/terms/> >.
>
>

-----------------------------Disclaimer-----------------------------

This communication contains information which is confidential and may also
be privileged. It is for the exclusive use of the addressee. If you are not
the addressee please note that any distribution, reproduction, copying,
publication or use of this communication or the information is prohibited.
If you have received this communication in error, please contact us
immediately and also delete the communication from your computer. We accept
no liability for any loss or damage suffered by any person arising from use
of this e-mail.

-----------------------------Disclaimer----------------------------- <http://us.ard.yahoo.com/SIG9936fsd/M)8184.6191685.7192823.3001176/D=gr
oups/S06554205:HM/EXP11665987/A%93423/R=0/SIGel9gslf/*http://www.
netflix.com/Default?mqso`190075> click here

<http://us.adserver.yahoo.com/l?M)8184.6191685.7192823.3001176/D=groups/S=
:HM/A%93423/randQ2117110 _____

> .



Reply by Andrew Lohmann March 23, 20052005-03-23
Thanks Jean-Pierre, I have removed eeprom.o as you suggested, and also _EEPROG from the
linker file and now find that the linker reports _ECMD & _ESTAT in
libe.h12 eeprom12.o are missing. What are these?

Andrew Lohmann AMIIE
Design Engineer

PLEASE NOTE NEW EMAIL ADDRESS IS: Bellingham + Stanley Ltd.
Longfield Road, Tunbridge Wells, Kent, TN2 3EY, England.
Tel: +44 (0) 1892 500400
Fax: +44 (0) 1892 543115
Website: www.bs-ltd.com
Jean-Pierre Lavandier wrote:

> Andrew,
>
> It seems that there is a little inconsistency here. The LIBE library
> targetting the S12 processors contains a file called eeprom12.s which
> should
> be used as provided (no need for adapting as there is no wait loop
> based on
> the timing). The eeprom.s routine is designed for older HC12 family (A4,
> D60, DG128) and the __EEPROG symbol is expected to match the address
> of the
> programming register, not the start address of the eeprom area. So simply
> remove the eeprom.o from your link file, while keeping the libe.h12
> library
> and the _INITEE definition, and it should work.
>
> Best Regards,
> Jean-Pierre Lavandier
>
> -----Message d'origine-----
> De : Andrew Lohmann [mailto:]
> Envoy: mercredi 23 mars 2005 12:13
> : 68HC12 yahoogroups.com
> Objet : [68HC12] Cosmic C eeprom programmer. > Hi, > I am trying to get the EEPROM programmer in Cosmic C to work. The
> example below returns 255, 255 incorrectly.
>
> #pragma space [] @EEPROM
> @EEPROM UCHAR Eeprom_[10];
> #pragma space > case 'w':
> case 'W':
> {
> printf ("\nTest on-chip EEPROM\n %u, %u\n",
> Eeprom_[0], Eeprom_[1]);
> Eeprom_[0] = 0;
> Eeprom_[1] = 0;
> printf ("should be zero: %u, %u\n", Eeprom_[0],
> Eeprom_[1]);
> Eeprom_[0] = 42;
> Eeprom_[1] = 1;
> printf ("should be 42 1: %u, %u\n", Eeprom_[0],
> Eeprom_[1]);
> }
> break;
>
> The significant parts of my link file looks like this:-
>
> +seg .EEPROM -b 0x1000 -m0x1000 # 4K EEPROM start address
>
> +def _INITEE=@.EEPROM # AL 23-03-05
> +def _EEPROG=0x1000
>
> EEPROM.o
>
> d:/cosmic/cx12/lib/libe.h12 #EEPROM placed before other libs
>
> The Cosmic provided file EEPROM.s has been amended to use (S12_ECLK /
> 1600) instead of 8000000 for TWAIT. Where S12_ECLK is the bus speed.
>
> Elsewhere I initialise the EEPROM with the following code - based on an
> email to this forum from Cosmic:-
> extern INITEE;
>
> Regs.initee.byte = EEON | (INITEE >> 8);
>
> Eeprom.eprot.byte = EOPEN | EPDIS; // Disable erase/write
> protection for entire EEPROM
>
> Eeprom.estat.byte = ACCERR; // Clear illegal EE access flag
> (ACCERR) write a one to clear
>
> /* set EEPROM clock... (none available in e-series uP)
> set EE clock divider */
> #if (EeDiv > 511)
> #error "Eeprom clock divisor to big"
> #endif
> Eeprom.eclkdiv.bit.ediv = EeDiv; // changed AL 11-01-05 > I am sure how to use this feature is of general interest?
>
> --
> Andrew Lohmann AMIIE
> Design Engineer
>
> PLEASE NOTE NEW EMAIL ADDRESS IS: > Bellingham + Stanley Ltd.
> Longfield Road, Tunbridge Wells, Kent, TN2 3EY, England.
> Tel: +44 (0) 1892 500400
> Fax: +44 (0) 1892 543115
> Website: www.bs-ltd.com > -----------------------------Disclaimer-----------------------------
>
> This communication contains information which is confidential and may also
> be privileged. It is for the exclusive use of the addressee. If you
> are not
> the addressee please note that any distribution, reproduction, copying,
> publication or use of this communication or the information is prohibited.
> If you have received this communication in error, please contact us
> immediately and also delete the communication from your computer. We
> accept
> no liability for any loss or damage suffered by any person arising
> from use
> of this e-mail.
>
> -----------------------------Disclaimer----------------------------- > <http://us.ard.yahoo.com/SIG99u7nom/M)8184.6191685.7192823.3001176/D=gr
> oups/S06554205:HM/EXP11662674/A%93423/R=0/SIGel9gslf/*http://www.
> netflix.com/Default?mqso`190075> click here
>
> <http://us.adserver.yahoo.com/l?M)8184.6191685.7192823.3001176/D=groups/S=
> :HM/A%93423/rand$0445713 > _____
>
> > . >
>
> *
> click here
> <http://www.netflix.com/Default?mqso`190075" target="_blank" rel="nofollow">http://us.ard.yahoo.com/SIG904r6rr/M)8184.6191685.7192823.3001176/D=groups/S06554205:HM/EXP11664614/A%93423/R=0/SIGel9gslf/*http://www.netflix.com/Default?mqso`190075 >
>
> *>.

-----------------------------Disclaimer-----------------------------

This communication contains information which is confidential and may also be privileged. It is for the exclusive use of the addressee. If you are not the addressee please note that any distribution, reproduction, copying, publication or use of this communication or the information is prohibited. If you have received this communication in error, please contact us immediately and also delete the communication from your computer. We accept no liability for any loss or damage suffered by any person arising from use of this e-mail.

-----------------------------Disclaimer-----------------------------


Reply by Jean-Pierre Lavandier March 23, 20052005-03-23
Andrew,

It seems that there is a little inconsistency here. The LIBE library
targetting the S12 processors contains a file called eeprom12.s which should
be used as provided (no need for adapting as there is no wait loop based on
the timing). The eeprom.s routine is designed for older HC12 family (A4,
D60, DG128) and the __EEPROG symbol is expected to match the address of the
programming register, not the start address of the eeprom area. So simply
remove the eeprom.o from your link file, while keeping the libe.h12 library
and the _INITEE definition, and it should work.

Best Regards,
Jean-Pierre Lavandier

-----Message d'origine-----
De : Andrew Lohmann [mailto:]
Envoy: mercredi 23 mars 2005 12:13
: 68HC12 yahoogroups.com
Objet : [68HC12] Cosmic C eeprom programmer. Hi, I am trying to get the EEPROM programmer in Cosmic C to work. The
example below returns 255, 255 incorrectly.

#pragma space [] @EEPROM
@EEPROM UCHAR Eeprom_[10];
#pragma space case 'w':
case 'W':
{
printf ("\nTest on-chip EEPROM\n %u, %u\n",
Eeprom_[0], Eeprom_[1]);
Eeprom_[0] = 0;
Eeprom_[1] = 0;
printf ("should be zero: %u, %u\n", Eeprom_[0],
Eeprom_[1]);
Eeprom_[0] = 42;
Eeprom_[1] = 1;
printf ("should be 42 1: %u, %u\n", Eeprom_[0],
Eeprom_[1]);
}
break;

The significant parts of my link file looks like this:-

+seg .EEPROM -b 0x1000 -m0x1000 # 4K EEPROM start address

+def _INITEE=@.EEPROM # AL 23-03-05
+def _EEPROG=0x1000

EEPROM.o

d:/cosmic/cx12/lib/libe.h12 #EEPROM placed before other libs

The Cosmic provided file EEPROM.s has been amended to use (S12_ECLK /
1600) instead of 8000000 for TWAIT. Where S12_ECLK is the bus speed.

Elsewhere I initialise the EEPROM with the following code - based on an
email to this forum from Cosmic:-
extern INITEE;

Regs.initee.byte = EEON | (INITEE >> 8);

Eeprom.eprot.byte = EOPEN | EPDIS; // Disable erase/write
protection for entire EEPROM

Eeprom.estat.byte = ACCERR; // Clear illegal EE access flag
(ACCERR) write a one to clear

/* set EEPROM clock... (none available in e-series uP)
set EE clock divider */
#if (EeDiv > 511)
#error "Eeprom clock divisor to big"
#endif
Eeprom.eclkdiv.bit.ediv = EeDiv; // changed AL 11-01-05 I am sure how to use this feature is of general interest?

--
Andrew Lohmann AMIIE
Design Engineer

PLEASE NOTE NEW EMAIL ADDRESS IS: Bellingham + Stanley Ltd.
Longfield Road, Tunbridge Wells, Kent, TN2 3EY, England.
Tel: +44 (0) 1892 500400
Fax: +44 (0) 1892 543115
Website: www.bs-ltd.com -----------------------------Disclaimer-----------------------------

This communication contains information which is confidential and may also
be privileged. It is for the exclusive use of the addressee. If you are not
the addressee please note that any distribution, reproduction, copying,
publication or use of this communication or the information is prohibited.
If you have received this communication in error, please contact us
immediately and also delete the communication from your computer. We accept
no liability for any loss or damage suffered by any person arising from use
of this e-mail.

-----------------------------Disclaimer----------------------------- <http://us.ard.yahoo.com/SIG99u7nom/M)8184.6191685.7192823.3001176/D=gr
oups/S06554205:HM/EXP11662674/A%93423/R=0/SIGel9gslf/*http://www.
netflix.com/Default?mqso`190075> click here

<http://us.adserver.yahoo.com/l?M)8184.6191685.7192823.3001176/D=groups/S=
:HM/A%93423/rand$0445713 _____

> .




Re: SPAM4: RE : [68HC12] Cosmic C eeprom programmer.
Reply by Andrew Lohmann March 23, 20052005-03-23
Hi, I am trying to get the EEPROM programmer in Cosmic C to work. The
example below returns 255, 255 incorrectly.

#pragma space [] @EEPROM
@EEPROM UCHAR Eeprom_[10];
#pragma space case 'w':
case 'W':
{
printf ("\nTest on-chip EEPROM\n %u, %u\n",
Eeprom_[0], Eeprom_[1]);
Eeprom_[0] = 0;
Eeprom_[1] = 0;
printf ("should be zero: %u, %u\n", Eeprom_[0],
Eeprom_[1]);
Eeprom_[0] = 42;
Eeprom_[1] = 1;
printf ("should be 42 1: %u, %u\n", Eeprom_[0],
Eeprom_[1]);
}
break;

The significant parts of my link file looks like this:-

+seg .EEPROM -b 0x1000 -m0x1000 # 4K EEPROM start address

+def _INITEE=@.EEPROM # AL 23-03-05
+def _EEPROG=0x1000

EEPROM.o

d:/cosmic/cx12/lib/libe.h12 #EEPROM placed before other libs

The Cosmic provided file EEPROM.s has been amended to use (S12_ECLK /
1600) instead of 8000000 for TWAIT. Where S12_ECLK is the bus speed.

Elsewhere I initialise the EEPROM with the following code - based on an
email to this forum from Cosmic:-
extern INITEE;

Regs.initee.byte = EEON | (INITEE >> 8);

Eeprom.eprot.byte = EOPEN | EPDIS; // Disable erase/write
protection for entire EEPROM

Eeprom.estat.byte = ACCERR; // Clear illegal EE access flag
(ACCERR) write a one to clear

/* set EEPROM clock... (none available in e-series uP)
set EE clock divider */
#if (EeDiv > 511)
#error "Eeprom clock divisor to big"
#endif
Eeprom.eclkdiv.bit.ediv = EeDiv; // changed AL 11-01-05 I am sure how to use this feature is of general interest?

--
Andrew Lohmann AMIIE
Design Engineer

PLEASE NOTE NEW EMAIL ADDRESS IS: Bellingham + Stanley Ltd.
Longfield Road, Tunbridge Wells, Kent, TN2 3EY, England.
Tel: +44 (0) 1892 500400
Fax: +44 (0) 1892 543115
Website: www.bs-ltd.com -----------------------------Disclaimer-----------------------------

This communication contains information which is confidential and may also be privileged. It is for the exclusive use of the addressee. If you are not the addressee please note that any distribution, reproduction, copying, publication or use of this communication or the information is prohibited. If you have received this communication in error, please contact us immediately and also delete the communication from your computer. We accept no liability for any loss or damage suffered by any person arising from use of this e-mail.

-----------------------------Disclaimer-----------------------------