Hi Alexandre, I'm really no specialist in this area, I just try to help by guessing potential problems and, in the absence of comments from other people on the mailing list, making some suggestions. But now I'm almost out of such ideas :-)
I'm not sure I correctly understand the meaning of this part in the msp.rules file: "if [ x = x$(NODEID) ];". I guess that it checks for the presence of the NODEID variable (I first mistakenly believed it would check for the presence of a previously generated binary for the desired nodeid). If this assumption is correct, then either this line (and consequently the target setid) is not called, or the NODEID variable is not set. You could check this by inserting the line '@echo ">>> tos nodeid is $(NODEID) <<<"' right before the other line (line 83). Make sure you have a tab character at the beginning of the line, otherwise Make does not properly interpret this line. If NODEID is set, you should see an output like: $ make tmote reinstall,24 >>> tos nodeid is 24 <<< tos-set-symbols --objcopy msp430-objcopy --objdump msp430-objdump --target ihex build/telosb/main.ihex build/telosb/main.ihex.out-24 TOS_NODE_ID=24 ActiveMessageAddressC$addr=24 If the variable is not set, then the problem is somewhere else. I see that you use jtag, but apparently don't need to specify this on the command line. So you must have set this somewhere else, either in an environment variable or you modified the Makefile. If you specified jtag in an environmental variable, then maybe this also prevents the make from interpreting the nodeid set on the command line (though I wouldn't know where to look for that). Cheers, Urs Alexandre Buist wrote: > Hi Urs, > > Yes my platform is running a MSP430f1612 and we plan on migrating to the > msp430f2618 in a few weeks. > > I look at the file in the repository and compared with the one I have but > despite a different -DDEFINED_TOS_AM_GROUP assignment and new usage of > NCC_SAFE_TINYOS_FLAG no changes where made to lines 38 and 83. > > I replaced my old msp.rules anyway but I had to modify it by adding the > PFLAGS += -fnesc-separator=__ line since I am using cygwin. > > I then recompiled Blink using: > make clean telosb install jtag,5 > and then > make clean telosb install jtag,8 > > but still no success... no call to tos-set-symbol :( > > What should I do? > > Cheers, > Alexandre > > -----Original Message----- > From: Urs Hunkeler [mailto:[EMAIL PROTECTED] > Sent: Friday, May 16, 2008 1:37 AM > To: Alexandre Buist > Cc: [email protected] > Subject: Re: [Tinyos-help] Platform implementation setting TOS_NODE_ID > > Hi Alexandre, > > I use the command "find /opt/tinyos-2.x/ -type f -exec grep -nH > 'tos-set-symbol' {} \;" to find all regular files in the TinyOS > installation directory that contain the string "tos-set-symbol". > > The relevant files are ${TOSROOT}/support/make/msp/msp.rules, > ${TOSROOT}/support/make/avr/avr.rules and > ${TOSROOT}/support/make/pxa27x/pxa27x.rules. In typical makefile slang > they set an environment variable SET_ID to represent the tool to set the > symbol. Later in the file (just search for SET_ID) they call it to > modify the TOS_NODE_ID symbol. > > If you don't find this, have a look at the CVS versions, for instance > directly on the web: > http://tinyos.cvs.sourceforge.net/tinyos/tinyos-2.x/support/make/msp/msp.rul > es?view=markup > (lines 38 and 83). If I understand the code in line 83 correctly, the > reason why you don't see the call to tos-set-symbol on your system is > that you have already generated a copy of the binary with your desired > node id. Try a different node id or clean up your project with "make > clean", and you should see the call to tos-set-symbol. > > Can you give us some details about your custom platform? Does it use an > MSP430 or some other processor? > > Cheers, > Urs > > Alexandre Buist wrote: >> Thanks Urs, >> >> I look around but I can't find anything in the platform files or the >> platform.target that would link to tos-set-symbols with TOS_NODE_ID. The >> only relevant files I found about tos-set-symbols is the uC msp.rules. > Which >> should be just fine without modification. >> >> One thing I noticed, In the mote 2 mote tutorial: >> $ make telosb install,1 >> ... >> compiled BlinkToRadioAppC to build/telosb/main.exe >> 9040 bytes in ROM >> 246 bytes in RAM >> msp430-objcopy --output-target=ihex build/telosb/main.exe >> build/telosb/main.ihex >> writing TOS image >> tos-set-symbols --objcopy msp430-objcopy --objdump msp430-objdump --target >> ihex build/telosb/main.ihex >> build/telosb/main.ihex.out-1 TOS_NODE_ID=1 ActiveMessageAddressC$addr=1 >> ... >> >> >> While in my environement >> $ make telosb install,1 >> ... >> compiled BlinkToRadioAppC to build/telosb/main.exe >> 10674 bytes in ROM >> 283 bytes in RAM >> msp430-objcopy --output-target=ihex build/telosb/main.exe >> build/telosb/main.ihex >> writing TOS image >> cp build/telosb/main.ihex build/telosb/main.ihex.out >> installing telosb binary using the parallel port jtag adapter >> ... >> >> The thing to notice is that the tos-set-symbols ... does not show up. > Could >> there be something wong with my environment. >> >> Any thoughts, >> >> Thanks > _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
