Hi,

thanks. With volatile deklarations uart sending/receiving, MMC over spi and 
other things do work.
But with one nested interrupts based software  i'v got the problem that main() 
is never reached after the start. Because of the for(;;)-loop in main() this 
mainloop is executed several times per second when compiled with the iar 
compiler but not when compiled with mspgcc.
What may be the reason?

Rolf


[email protected] schrieb am 09.06.04 09:13:41:
> 
> 
> interrupt (VECTOR) enablenested ISR(void)
> {
>       // neither EINT nor DINT required inside 
> }
> 
> if you have to enable nested interrupts within ISRat some different than
> beginning of ISR point, omit 'enablenested' and use eint(), etc.
> 
> ~d
> 
> 
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of
> [email protected]
> Sent: Wednesday, June 09, 2004 1:57 AM
> To: [email protected]
> Subject: RE: [Mspgcc-users] uart0 can't send
> 
> Dima,
> 
> > You faced with loop elimination and non-volatile issues tricks.
> 
> thanks.
> Due to ANSI that loop is not guaranteed to work and optimizing should
> cause that malfunction; it's a bug of the IAR compiler that it ever
> worked with optimizing because that behavior it's not ANSI-C. Even
> without optimization it's not portable.
> I've read the complete C-99 after that old code and didn't thought about
> checking the code twice. And my colleagues don't care about such things
> and also did not found that bug.
> 
> 
> > 2. Nested interrupts supported via 'enablenested' keyword (attribute
> > 'signal') . Check docs.
> 
> I found no examples.
> Do i have to set
> 
> signal interrupt (UART0TX_VECTOR)
> 
> or 
> 
> interrupt (UART0TX_VECTOR) [wakeup, enablenested]
>  
> ?
> 
> The code with the nested interrupts uses _EINT() and _DINT inside the
> ISR, several lines after the start of the ISR.
> Does this not work with mspgcc?
> 
> Cheers,
> 
> Rolf
> 
> > 
> > Cheers,
> > ~d
> > 
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]] On Behalf Of
> > [email protected]
> > Sent: Friday, June 04, 2004 11:03 PM
> > To: [email protected]
> > Subject: [Mspgcc-users] uart0 can't send
> > 
> > Hi,
> > 
> > a program (compiled the IAR compiler) which sends data from uart0 does
> > send nothing after compiled with mspgcc:
> > 
> > ...
> > void
> > Send_Data (void)
> > {
> >   if (COM_TRANSMIT.len > 0)     // Ignore data packets of length zero.
> >   {
> >     COM_TRANSMIT.cnt = 1;
> >     U0TXBUF = COM_TRANSMIT.buffer[0];
> >     
> >     do                          // Interrupt
> >     {
> > 
> > // ddd hangs at this point while it works with IAR
> > /////////////////////////////////////////
> > 
> >     }
> >     while (COM_TRANSMIT.cnt < COM_TRANSMIT.len);
> >     COM_TRANSMIT.len = 0;
> >   }
> >   return;
> > }
> > ...
> > #ifdef MSPGCC
> > interrupt (UART0TX_VECTOR)
> > #endif
> > #ifdef IAR
> > interrupt[UART0TX_VECTOR]
> >      void
> > #endif
> >        uart0_transmit (void)
> > {
> >   if (COM_TRANSMIT.cnt < COM_TRANSMIT.len)
> >     U0TXBUF = COM_TRANSMIT.buffer[COM_TRANSMIT.cnt++];
> >   return;
> > }
> > 
> > What's wrong with that code?
> > 
> > And i've got other problems (measuring voltages with comparators) with
> > another code with nested interrupts. 
> > Does mspgcc handle nested interrupts in another way as iar does?
> > 
> > Rolf
> > 
> > 
> > 
> > 
> > -------------------------------------------------------
> > This SF.Net email is sponsored by the new InstallShield X.
> > From Windows to Linux, servers to mobile, InstallShield X is the one
> > installation-authoring solution that does it all. Learn more and
> > evaluate today! http://www.installshield.com/Dev2Dev/0504
> > _______________________________________________
> > Mspgcc-users mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/mspgcc-users
> > 
> > 
> > 
> > -------------------------------------------------------
> > This SF.Net email is sponsored by the new InstallShield X.
> > From Windows to Linux, servers to mobile, InstallShield X is the one
> > installation-authoring solution that does it all. Learn more and
> > evaluate today! http://www.installshield.com/Dev2Dev/0504
> > _______________________________________________
> > Mspgcc-users mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/mspgcc-users
> 
> 
> 
> 
> 
> -------------------------------------------------------
> This SF.Net email is sponsored by: GNOME Foundation
> Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
> GNOME Users and Developers European Conference, 28-30th June in Norway
> http://2004/guadec.org
> _______________________________________________
> Mspgcc-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mspgcc-users
> 
> 
> 
> -------------------------------------------------------
> This SF.Net email is sponsored by: GNOME Foundation
> Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
> GNOME Users and Developers European Conference, 28-30th June in Norway
> http://2004/guadec.org
> _______________________________________________
> Mspgcc-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mspgcc-users




Reply via email to