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----------------------------- |
Cosmic C eeprom programmer.
Started by ●March 23, 2005
Reply by ●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 _____ > . |
|
Reply by ●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 ●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 ●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 ●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 > |