I believe I may have tracked down the cause of the problem.

Revision 5455 (16 Feb 2011, committed by pabigot) made changes to 
tinyos-2.x/tos/chips/msp430/pins/HplMsp430GeneralIOC.nc.(among other files).
These changes add support for MSP430 pin resistors, as well as mspgcc4.

Specifically, line 344 includes component PlatformC, with the comment "dummy to 
end unknown sequence".  This is done because previous components are 
conditionally included based on pre-processor directives.  Components are 
separated with a comma (,), however the last component needs to be terminated 
with a semicolon (;).  As it is difficult to determine which will be the last 
included component, the "dummy" component PlatformC is included at the end, so 
the list of included components is always terminated with a semicolon.

For some reason, including PlatformC in HplMsp430GeneralIOC causes the 
compilation error in the previous email (below).  I do not know exactly why - 
my knowledge of TinyOS or TosThreads does not go that far.

I have attached a patch that, instead of attempting to list all components at 
once and guessing the end of the list, contains the "components" keyword and 
terminates the components list within EACH pre-processor condition.  This 
avoids having to have a "dummy" component to complete the components list, and 
now compiles fine when using TosThreads.

If this patch is OK, can somebody please commit.
Also, if anybody has any ideas as to why including PlatformC breaks TosThreads, 
I am interested - particularly if this is an indication of an uncovered bug.

David

________________________________
From: David Rodda
Sent: Monday, 27 June 2011 2:00 PM
To: tinyos-help@millennium.berkeley.edu
Subject: [Tinyos-help] TosThreads compilation error

I am getting an error when compiling any TinyOS application that uses 
TosThreads.

When compiling the "blink" application in the TosThreads apps directory I get 
the following error:

=====================================================================
make telosb threads

/tinyos-2.x/tos/lib/tosthreads/system/TinyThreadSchedulerP.nc:191: warning: 
call via function pointer
/tinyos-2.x/tos/lib/tosthreads/system/SystemCallP.nc:49: warning: call via 
function pointer
In component `HilTimerMilliC.AlarmToTimerC':
/tinyos-2.x/tos/lib/timer/AlarmToTimerC.nc: In function `Alarm.fired':
/tinyos-2.x/tos/lib/timer/AlarmToTimerC.nc(HilTimerMilliC.AlarmToTimerC):82: 
fired.postTask not connected
In component `SystemCallP':
/tinyos-2.x/tos/lib/tosthreads/system/SystemCallP.nc: In function 
`SystemCall.start':
/tinyos-2.x/tos/lib/tosthreads/system/SystemCallP.nc:74: threadTask.postTask 
not connected
In component `ThreadTimersC.VirtualizeTimerC':
/tinyos-2.x/tos/lib/timer/VirtualizeTimerC.nc: In function `startTimer':
/tinyos-2.x/tos/lib/timer/VirtualizeTimerC.nc(ThreadTimersC.VirtualizeTimerC):151:
 updateFromTimer.postTask not connected
In component `HilTimerMilliC.VirtualizeTimerC':
/tinyos-2.x/tos/lib/timer/VirtualizeTimerC.nc: In function `startTimer':
/tinyos-2.x/tos/lib/timer/VirtualizeTimerC.nc(HilTimerMilliC.VirtualizeTimerC):151:
 updateFromTimer.postTask not connected
make: *** [exe0] Error 1
=====================================================================

This happens regardless of the application I compile or the platform I target.  
This setup was working when I last tried to compile, earlier on this year, but 
I have since updated the TinyOS.
Using TinyOS 2.x from SVN, on windows under Cygwyn.

It appears I am not the only one having this issue - this post on nabble in 
early June raises the same issue.
http://old.nabble.com/Problem-compiling-tosthreads-demo-code-tt31744254.html#a31744254

Has anybody else experienced this issue? Any help appreciated.
David


________________________________
The information in this e-mail may be confidential and subject to legal 
professional privilege and/or copyright. National ICT Australia Limited accepts 
no liability for any damage caused by this email or its attachments.

Attachment: HplMsp430InterruptC.nc.patch
Description: HplMsp430InterruptC.nc.patch

_______________________________________________
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to