[En-Nut-Discussion] Nutos 5.1 on Ethernut 1.3g with multiple threads: network freezes

Jonathan Woithe jwoithe at atrad.com.au
Thu Jun 11 05:14:44 CEST 2015


On Wed, Jun 10, 2015 at 10:46:45AM +0200, Uwe Bonnes wrote:
> >>>>> "Jonathan" == Jonathan Woithe <jwoithe at atrad.com.au> writes:
> Your programm doesn't include
> #include <sys/thread.h>
> 
> So Thread() defaults to return integer. Maybe that makes a difference?

I added this include and retested but the behaviour is unchanged.

> Otherwise:
> Any more compiler warnings? With newer gcc you should have a look at those
> warnings.

I am not receiving any compiler warnings.  NutOS compiles cleanly, as does
the sample code supplied in my initial post.  NutOS uses "-Werror" so there
clearly aren't any warnings while compiling that.  The suppressed warnings
I'm using are:

 * -Wno-deprecated-declarations
   This is needed to prevent the compiler complaining about the use of 
   the deprecated prog_char declaration.

 * -Wno-unused-but-set-variable
   Many functions dealing with hardware do a read, assign it to a variable
   but then don't use the variable.  This prevents the compiler complaining
   about that.  The assignment portion of the offending statements can't
   just be blindly removed because otherwise the compiler might optimise the
   whole thing away depending on the make up of the RHS.  This in turn may 
   not work well with hardware registers where reads can sometimes have
   beneficial side effects.

  -fno-strict-aliasing 
   This accommodates a single aliasing instance in the FAT filesystem code.
   Our modules don't use this filesystem.
   
None of these should affect code generation in this specific case.

Regards
  jonathan


More information about the En-Nut-Discussion mailing list