From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 474 invoked by alias); 30 May 2005 15:13:39 -0000 Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Received: (qmail 32754 invoked by uid 22791); 30 May 2005 15:13:34 -0000 Received: from 90.220.137.193.in-addr.arpa (HELO smtp-out2.net.ipl.pt) (193.137.220.90) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Mon, 30 May 2005 15:13:34 +0000 Received: (qmail 12487 invoked by uid 89); 30 May 2005 16:13:30 +0100 Received: from bl4-37-212.dsl.telepac.pt (HELO alcatraz) (ezeq@cc.isel.ipl.pt@81.193.37.212) by 0 with SMTP; 30 May 2005 16:13:26 +0100 From: =?iso-8859-1?Q?Ezequiel_Augusto_Cach=E3o_Conde?= To: Date: Tue, 31 May 2005 11:33:00 -0000 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0024_01C56532.86D4A460" Subject: [ECOS] at91_misc.c patch proposal X-SW-Source: 2005-05/txt/msg00362.txt.bz2 Message-ID: <20050531113300.ptzabk4dhGO5M1-4kC9zd7_4W0uSLxeB7TnBLonRick@z> ------=_NextPart_000_0024_01C56532.86D4A460 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-length: 290 Hi, I found a small bug in hal_delay_us. Once the timer is started it continues running beyond the first counting. If hal_delay is called again, after a complete counting, CPC flag is already set. My patch simply clears the status flags before initiate a new delay. Thanks Ezequiel ------=_NextPart_000_0024_01C56532.86D4A460 Content-Type: application/octet-stream; name="at91_misc.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="at91_misc.patch" Content-length: 1843 Index: ChangeLog=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /cvs/ecos/ecos/packages/hal/arm/at91/var/current/ChangeLog,v=0A= retrieving revision 1.27=0A= diff -u -5 -p -r1.27 ChangeLog=0A= --- ChangeLog 12 Nov 2004 09:45:15 -0000 1.27=0A= +++ ChangeLog 30 May 2005 14:58:19 -0000=0A= @@ -1,5 +1,10 @@=0A= +=0A= +2005-05-30 Ezequiel Conde =0A= +=0A= + * src/at91_misc.c ( hal_delay_us ): Clear status before running delay=0A= +=09=0A= 2004-11-12 Jani Monoses =0A= =20=0A= * include/var_io.h: Added defines for some missing UART bits,=0A= corrected a few timer capture mode register bits.=0A= =20=0A= Index: src/at91_misc.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /cvs/ecos/ecos/packages/hal/arm/at91/var/current/src/at91_misc.c,= v=0A= retrieving revision 1.10=0A= diff -u -5 -p -r1.10 at91_misc.c=0A= --- src/at91_misc.c 25 Sep 2004 09:44:10 -0000 1.10=0A= +++ src/at91_misc.c 30 May 2005 14:58:21 -0000=0A= @@ -146,10 +146,13 @@ void hal_delay_us(cyg_int32 usecs)=0A= // Set registers=0A= HAL_WRITE_UINT32(timer+AT91_TC_CMR, AT91_TC_CMR_CLKS_MCK32); // 1MHz= =0A= HAL_WRITE_UINT32(timer+AT91_TC_RA, 0);=0A= HAL_WRITE_UINT32(timer+AT91_TC_RC, ticks);=0A= =20=0A= + // Clear status flags=0A= + HAL_READ_UINT32(timer+AT91_TC_SR, stat);=0A= +=0A= // Start timer=0A= HAL_WRITE_UINT32(timer+AT91_TC_CCR, AT91_TC_CCR_TRIG | AT91_TC_CCR_CLK= EN);=0A= =20=0A= // Wait for the compare=0A= do {=0A= =0A= ------=_NextPart_000_0024_01C56532.86D4A460 Content-Type: text/plain; charset=us-ascii Content-length: 148 -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss ------=_NextPart_000_0024_01C56532.86D4A460--