[En-Nut-Discussion] Ethernut 4.8.4 not up to date with Yagarto???

Ulrich Prinz uprinz2 at netscape.net
Mon Nov 29 13:55:23 CET 2010


Hi!


That sounds like something went wrong with my second checkin of the reworked thread stack debug. 
Solution: Modify osdebug.c and replace %lx and %lu by %x and %u.


Ah, stop! I am pretty sure that I already fixed that in the trunk by installing my version of thread stack debug. But it is trunk, not 4.8.x.
The older compiler didn't yell about %lx/%lu with long declarations. 
You can update the osdebug.c and osdebug.h with the version from trunk. That should work.
The only modification is, that you can debug the stack usage of the threads without enabling total osdebug and therefore you can much better see if under real life conditions the threads keep within their given memory regions.


Please keep in mind, that the older gcc version did not take care about many things that work most time or may be handled by the platform. Newer version of gcc urge the programmer to keep rules very strictly. As at the time of the older version no warnings where given, noone can now be held responsible for them. So for me, if I see such a warning I try to eliminate it. But only in trunk.



Best Regards
Ulrich



-----Original Message-----
From: Richard Lang <Richard.Lang at trimble.co.nz>
To: en-nut-discussion at egnite.de
Sent: Mon, Nov 29, 2010 4:13 am
Subject: [En-Nut-Discussion] Ethernut 4.8.4 not up to date with Yagarto???


So as I was saying, Ethernut 4.8.4 with GCC 4.5.1, once I'd modified
Makevars.arm-gcc I try a nutconf build with the following results... 
 
08:42:58: Nut/OS Configurator Version 2.0.9
08:42:58: Linked to wxWidgets 2.8.9
08:42:58: Running on Windows XP (build 2600, Service Pack 3)
08:42:58: Working in c:\ethernut-4.8.8
08:43:06: Loading nut/conf/repository.nut
08:43:06: Loading C:/ethernut-4.8.8/nut/conf/ethernut30e.conf
08:43:06: OK
08:43:11: Creating Makefiles for arm-gcc in nutbld
08:43:11: Creating header files in nutbld
08:43:11: OK
08:43:13: ----- Running 'make clean' -----
08:43:13: Located c:\ethernut-4.8.8\nut\tools\win32\make.exe
08:43:18: ----- 'make clean' terminated successfully -----
08:43:18: ----- Running 'make all' -----
08:43:18: Located c:\ethernut-4.8.8\nut\tools\win32\make.exe
arm-none-eabi-ar: creating libnutarch.a
cc1.exe: warnings being treated as errors
../../nut/os/osdebug.c: In function 'NutDumpThreadQueue':
../../nut/os/osdebug.c:132:13: error: format '%08lX' expects type 'long
unsigned int', but argument 3 has type 'unsigned int'
../../nut/os/osdebug.c:132:13: error: format '%08lX' expects type 'long
unsigned int', but argument 7 has type 'unsigned int'
../../nut/os/osdebug.c:132:13: error: format '%08lX' expects type 'long
unsigned int', but argument 8 has type 'unsigned int'
../../nut/os/osdebug.c:132:13: error: format '%08lX' expects type 'long
unsigned int', but argument 9 has type 'uintptr_t'
../../nut/os/osdebug.c:132:13: error: format '%9lu' expects type 'long
unsigned int', but argument 10 has type 'uintptr_t'
../../nut/os/osdebug.c: In function 'NutDumpThreadList':
../../nut/os/osdebug.c:176:9: error: format '%08lX' expects type 'long
unsigned int', but argument 3 has type 'unsigned int'
../../nut/os/osdebug.c:176:9: error: format '%08lX' expects type 'long
unsigned int', but argument 7 has type 'unsigned int'
../../nut/os/osdebug.c:176:9: error: format '%08lX' expects type 'long
unsigned int', but argument 8 has type 'unsigned int'
../../nut/os/osdebug.c:176:9: error: format '%08lX' expects type 'long
unsigned int', but argument 9 has type 'uintptr_t'
../../nut/os/osdebug.c:176:9: error: format '%9lu' expects type 'long
unsigned int', but argument 10 has type 'uintptr_t'
../../nut/os/osdebug.c: In function 'NutDumpTimerList':
../../nut/os/osdebug.c:226:13: error: format '%08lX' expects type 'long
unsigned int', but argument 3 has type 'unsigned int'
../../nut/os/osdebug.c: In function 'NutDumpHeap':
../../nut/os/osdebug.c:281:9: error: format '%08lx' expects type 'long
unsigned int', but argument 3 has type 'unsigned int'
../../nut/os/osdebug.c:281:9: error: format '%9ld' expects type 'long
int', but argument 4 has type 'size_t'
make[1]: *** [osdebug.o] Error 1
make: *** [all] Error 2
08:43:33: ----- 'make all' failed with error 2 -----
08:44:10: ----- Running 'make install' -----
08:44:10: Located c:\ethernut-4.8.8\nut\tools\win32\make.exe
cc1.exe: warnings being treated as errors
../../nut/os/osdebug.c: In function 'NutDumpThreadQueue':
../../nut/os/osdebug.c:132:13: error: format '%08lX' expects type 'long
unsigned int', but argument 3 has type 'unsigned int'
../../nut/os/osdebug.c:132:13: error: format '%08lX' expects type 'long
unsigned int', but argument 7 has type 'unsigned int'
../../nut/os/osdebug.c:132:13: error: format '%08lX' expects type 'long
unsigned int', but argument 8 has type 'unsigned int'
../../nut/os/osdebug.c:132:13: error: format '%08lX' expects type 'long
unsigned int', but argument 9 has type 'uintptr_t'
../../nut/os/osdebug.c:132:13: error: format '%9lu' expects type 'long
unsigned int', but argument 10 has type 'uintptr_t'
../../nut/os/osdebug.c: In function 'NutDumpThreadList':
../../nut/os/osdebug.c:176:9: error: format '%08lX' expects type 'long
unsigned int', but argument 3 has type 'unsigned int'
../../nut/os/osdebug.c:176:9: error: format '%08lX' expects type 'long
unsigned int', but argument 7 has type 'unsigned int'
../../nut/os/osdebug.c:176:9: error: format '%08lX' expects type 'long
unsigned int', but argument 8 has type 'unsigned int'
../../nut/os/osdebug.c:176:9: error: format '%08lX' expects type 'long
unsigned int', but argument 9 has type 'uintptr_t'
../../nut/os/osdebug.c:176:9: error: format '%9lu' expects type 'long
unsigned int', but argument 10 has type 'uintptr_t'
../../nut/os/osdebug.c: In function 'NutDumpTimerList':
../../nut/os/osdebug.c:226:13: error: format '%08lX' expects type 'long
unsigned int', but argument 3 has type 'unsigned int'
../../nut/os/osdebug.c: In function 'NutDumpHeap':
../../nut/os/osdebug.c:281:9: error: format '%08lx' expects type 'long
unsigned int', but argument 3 has type 'unsigned int'
../../nut/os/osdebug.c:281:9: error: format '%9ld' expects type 'long
int', but argument 4 has type 'size_t'
make[1]: *** [osdebug.o] Error 1
make: *** [install] Error 2
08:44:11: ----- 'make install' failed with error 2 -----
 
 
 
 
 
 
>Ok, a bit more information about the compiling errors might help us to 
>support. I use trunk version of nutos and gcc 4.5.x without any
problems.
>You have to set the newlib compatibility by enabling "Posix compatible 
>unsetenv" in C runtime (target specific) in nutconf.
> 
>If there still are compiler errors left, just tell.
> 
>Best regards
>Ulrich
 
>>Am 25.11.2010 21:45, schrieb Richard Lang:
>> Ok, fiddled with my makevars.arm-gcc and got my tools running, but am
>> now getting an assortment of compilation errors trying to build
Ethernut
>> 4.8.8 with GCC 4.5.1, looks like some typedefs have changed.
>> 
>> 
>> 
>> Rather than trying to figure all this out, I'd rather rollback to an
>> earlier Yagarto release that meshes better with Ethernut 4.8.8.  Can
>> anyone recommend to me which release to use?
>> 
>> 

 

_______________________________________________
http://lists.egnite.de/mailman/listinfo/en-nut-discussion

 



More information about the En-Nut-Discussion mailing list