-
Notifications
You must be signed in to change notification settings - Fork 1
How to recover an unflashable MSB A2
This HOWTO may help your bring a unflashable MSB-A2 flashable.
This is done in two steps:
- invert RTS pin (done by ft232r_prog (Linux) or mProg (Windows)
- erase first block of the ROM to prevent the MSBA2 from booting
Linux: ft232r_prog
- Connect MSBA2 to your machine
- Check for pin state:
ft232r_prog --dump
- if
rts_inverted = 1
you need to invert this pin (set to 0) - run
ft232r_prog --invert_rts
to invert this pin - check for pin state:
ft232r_prog --dump
- if
Windows: mProg
First step to reprogram the FTDI232R:
- Tools->Read and parse
- File->Save As bla.ept
- File->Edit
to prevent the MSB-A2 from running user application your have to program the "Device Type" FT232R lowering the RTS line on poweron (uncheck the "Invert RTS#" box in the "Invert RS232 Signals" -Tab). If the checkbox "Load D2XX driver is not yet checked please download and install the D2XX-Driver. (if it does not work with the standard VCP driver) Device->Program
- reconnect the device
- you should notice that the MSB2 does not reboot anymore
- start HTerm
- press the
B
button to refresh the device list - select your device from the list (typically
/dev/ttypUSB0
) - set baud rate to
115200
- click connect
- set the line breaks to
CR-LF
- once for the sending part in
send on enter
- and on the receiving part in
Newline at
- once for the sending part in
- press the
- reprogram the ROM by entering these commands:
command response comment
================================================================================
"?"CRNL "Synchronized"CRNL
"Synchronized"CRNL "Synchonized"CRNL"OK"CRNL
"16000"CRNL "16000"CRNL"OK"CRNL
"J"CRNL "J"CRNL"0"CRNL"402716981"CRNL LPC2387 (500k)
"U 23130"CRNL "U 23130"CRNL"0"CRNL unlocked
"P 0 0"CRNL "P 0 0"CRNL"0"CRNL prepare block 0 0
"E 0 0"CRNL "E 0 0"CRNL"0"CRNL erase block 0 0
"P 1 1"CRNL "P 1 1"CRNL"0"CRNL prepare block 1 1
"E 1 1"CRNL "E 1 1"CRNL"0"CRNL erase block 1 1
and so on. Usually, erasing the first block should be enough.
Finally you should be able to flash the MSB-A2 node. It is important to program the FTDI232R with the initially saved settings, especially enable the "Invert RTS"-checkbox (or run ft232r_prog --invert_rts
again)!
RIOT - The friendly Operating System for the Internet of Things
Homepage | [GitHub] (https://github.com/RIOT-OS/) | Developers Mailing List | Users Mailing List | Twitter @RIOT_OS
- Family: ARM
- Board: Airfy Beacon
- Board: Arduino Due
- Board: CC2538DK
- Board: CC2650STK
- Board: HikoB Fox
- Board: IoT LAB M3
- Board: LimiFrog-v1
- Board: mbed_lpc1768
- Board: MSB-IoT
- Board: MSBA2
- Board: Nucleo-L1
- Board: Nucleo-F334
- Board: Nucleo-F303
- Board: Nucleo-F091
- Board: Mulle
- Board: OpenMote
- Board: PCA1000x (nRF51822 Development Kit)
- Board: Phytec phyWAVE-KW22
- Board: RFduino
- Board: SAMR21-xpro
- Board: SAML21-xpro
- Board: Spark Core
- Board: STM32F0discovery
- Board: STM32F3discovery
- Board: STM32F4discovery
- Board: UDOO
- Board: yunjia-nrf51822
- Board: Zolertia remote
- Family: ATmega
- Board: Arduino Mega2560
- Family: MSP430
- Board: MSB-430H
- Board: TelosB
- Board: WSN430
- Board: Zolertia Z1
- Board: eZ430-Chronos
- Family: native
- Board: native
- Family: x86
- Board: Intel Galileo