itm / wsn-device-drivers

Drivers for Wireless Sensor Network Devices
Other
6 stars 4 forks source link

Telos B driver won't flash .sky image #100

Closed danbim closed 12 years ago

danbim commented 12 years ago

If one tries to flash a Telos B mote with a .sky image (Contiki) it fails with the following error message:

2011-12-21 10:59:24,187 | DeviceFlasher-Thread 2         | DeviceFlasherCLI               | ERROR | Flashing node failed with Exception: java.io.IOException: File is not in correct intel hex format.
java.io.IOException: File is not in correct intel hex format.
    at de.uniluebeck.itm.wsn.drivers.telosb.TelosbBinData.reload(TelosbBinData.java:152)
    at de.uniluebeck.itm.wsn.drivers.telosb.TelosbBinData.<init>(TelosbBinData.java:61)
    at de.uniluebeck.itm.wsn.drivers.telosb.TelosbProgramOperation.program(TelosbProgramOperation.java:37)
    at de.uniluebeck.itm.wsn.drivers.core.serialport.AbstractProgramInterceptor.invoke(AbstractProgramInterceptor.java:34)
    at de.uniluebeck.itm.wsn.drivers.telosb.TelosbProgramOperation.run(TelosbProgramOperation.java:76)
    at de.uniluebeck.itm.wsn.drivers.telosb.TelosbProgramOperation.run(TelosbProgramOperation.java:18)
    at de.uniluebeck.itm.wsn.drivers.core.operation.SimpleOperation$1.call(SimpleOperation.java:131)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)
    at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232)
    at java.util.concurrent.FutureTask.get(FutureTask.java:91)
    at com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:164)
    at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:136)
    at de.uniluebeck.itm.wsn.drivers.core.operation.SimpleOperation.executeOperation(SimpleOperation.java:134)
    at de.uniluebeck.itm.wsn.drivers.core.operation.SimpleOperation.call(SimpleOperation.java:100)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)
danbim commented 12 years ago

Tested with Wiselib application compiled for sky... compiler output:

...
msp430-objcopy -O ihex out/contiki-sky/uart_echo.elf out/contiki-sky/uart_echo.hex
msp430-objcopy -O binary out/contiki-sky/uart_echo.elf out/contiki-sky/uart_echo.bin
...

If you use the .hex file generated the flashing works. The .bin file doesn't work.

danbim commented 12 years ago

Looking at TinyOS and Contiki documentation it seems to be very clear that the hex/ihex file should be used for flashing. Therefore I'm closing this ticket. Please feel free to reopen in case I'm wrong here!