-
Notifications
You must be signed in to change notification settings - Fork 2k
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)!