Hi,

I accidentally configured RST/NMI pin from reset to NMI mode by
changing $TOSROOT/tos/platforms/telosa/PlatformP.nc
WDTCTL = WDTPW + WDTHOLD + WDTNMI;

The BSL is not started by the BSL RESET vector if RST/NMI pin is configured
for NMI functionality (NMI bit is set) according to the user's
guide<http://www.ti.com/lit/ug/slau319c/slau319c.pdf> and
erratasheet<https://docs.google.com/viewer?a=v&q=cache:MZlMyl_toPQJ:www.ti.com/general/docs/lit/getliterature.tsp%3FliteratureNumber%3Dslaz141%26fileType%3Dpdf+&hl=en&gl=us&pid=bl&srcid=ADGEESg1vj2eN2_9J0VEsGtFzyr3A3s260sInh4nJ9tMVNJlVxRIP-6-rTZIn0-VZU4ITxh-tHec4igG-2GhZ1fyyH6H0pHmNG0kC8KAcGahXC9WBubCT0PbU6GLbMMRqPEGbDm2Gtcn&sig=AHIEtbRPXHTL688w7tvGevW3w8zDBB5FsA>
(many
variants other than MSP430F1611 report the bug BSL5).

This 
thread<http://e2e.ti.com/support/microcontrollers/msp43016-bit_ultra-low_power_mcus/f/166/t/198966.aspx>
suggests
some additional hardware like the MSP430 Launchpad has to be used to
reprogram it. Is it possible to reprogram my motes without buying
additional hardware?

Thank you very much for your help.

On Mon, Oct 29, 2012 at 5:14 AM, Eric Decker <[email protected]> wrote:

>
>
> On Sun, Oct 28, 2012 at 8:39 PM, Xiaohui Liu <[email protected]> wrote:
>
>> Hi,
>>
>> After RST/NMI pin is configured in NMI mode,
>>
>
> More details please.   What do you mean the pin is configured in NMI mode?
>  I assume you are messing with WDTCTL.
>
> TI's NMI is strange in that it can be masked off.   Also:
>
>  Note: Holding RST/NMI Low
>
> When configured in the NMI mode, a signal generating an NMI event should
>
> not hold the RST/NMI pin low. If a PUC occurs from a different source
> while the NMI signal is low, the device will be held in the reset state
> because a PUC
>
> changes the RST/NMI pin to the reset function.
>
>
>
>> TelosB motes cannot programmed. Detailed information is shown below:
>>
>> */opt/tinyos-2.1.2/apps/Blink$ make telosb reinstall bsl,/dev/ttyUSB0*
>> *cp build/telosb/main.ihex build/telosb/main.ihex.out*
>> *    installing telosb binary using bsl*
>> *tos-bsl --telosb -c /dev/ttyUSB0 -r -e -I -p build/telosb/main.ihex.out*
>> *MSP430 Bootstrap Loader Version: 1.39-goodfet-8*
>> *Mass Erase...*
>> *MSP430 Bootstrap Loader Version: 1.39-goodfet-8*
>> *Mass Erase...*
>> *Traceback (most recent call last):*
>> *  File "/usr/bin/tos-bsl", line 1918, in <module>*
>> *    main(0);*
>> *  File "/usr/bin/tos-bsl", line 1833, in main*
>> *    for f in toinit: f()*
>> *  File "/usr/bin/tos-bsl", line 1098, in actionMassErase*
>> *    0xa506)             #Required setting for mass erase!*
>>
>
> you need to look at what is happening at this line and see what the
> program is expecting.
>
>
>>  *  File "/usr/bin/tos-bsl", line 758, in bslTxRx*
>> *    rxFrame = self.comTxRx(cmd, dataOut, len(dataOut))  #Send frame*
>> *  File "/usr/bin/tos-bsl", line 440, in comTxRx*
>> *    rxHeader, rxNum = self.comRxHeader()        #receive header*
>> *  File "/usr/bin/tos-bsl", line 346, in comRxHeader*
>> *    if not hdr: raise BSLException("Timeout")*
>> *__main__.BSLException: Timeout*
>> *make: *** [program] Error 1*
>>
>> Can anyone please give some suggestion on how they can be programmed
>> again? This seems also an issue for 
>> MSP430F1491<http://www.ti.com/lit/er/slaz141/slaz141.pdf>,
>> as shown in bug BSL5.
>>
>
> What exactly have you tried?
>
> Removing power should fully reset things.
>
> But if that doesn't work you may have to resort to programming the chip
> via the JTAG.
>
> eric
>
>
>
>
>>
>> -Xiaohui Liu
>> TelosB
>> T2.1.2
>>
>> _______________________________________________
>> Tinyos-help mailing list
>> [email protected]
>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>>
>
>
>
> --
> Eric B. Decker
> Senior (over 50 :-) Researcher
>
>
>
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to